Package com.github.tommyettinger.textra
Class TextraDialog
java.lang.Object
com.badlogic.gdx.scenes.scene2d.Actor
com.badlogic.gdx.scenes.scene2d.Group
com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup
com.badlogic.gdx.scenes.scene2d.ui.Table
com.github.tommyettinger.textra.TextraWindow
com.github.tommyettinger.textra.TextraDialog
- All Implemented Interfaces:
com.badlogic.gdx.scenes.scene2d.utils.Cullable
,com.badlogic.gdx.scenes.scene2d.utils.Layout
Displays a dialog, which is a window with a title, a content table, and a button table. Methods are provided to add a label to
the content table and buttons to the button table, but any widgets can be added. When a button is clicked,
result(Object)
is called and the dialog is removed from the stage.-
Nested Class Summary
Nested classes/interfaces inherited from class com.badlogic.gdx.scenes.scene2d.ui.Table
com.badlogic.gdx.scenes.scene2d.ui.Table.Debug, com.badlogic.gdx.scenes.scene2d.ui.Table.DebugRect
-
Field Summary
Modifier and TypeFieldDescriptionprotected com.badlogic.gdx.scenes.scene2d.InputListener
Fields inherited from class com.github.tommyettinger.textra.TextraWindow
dragging, drawTitleTable, edge, font, titleLabel, titleTable
Fields inherited from class com.badlogic.gdx.scenes.scene2d.ui.Table
backgroundBottom, backgroundLeft, backgroundRight, backgroundTop, debugActorColor, debugCellColor, debugTableColor
-
Constructor Summary
ConstructorDescriptionTextraDialog
(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin) TextraDialog
(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont) TextraDialog
(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String windowStyleName) TextraDialog
(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String windowStyleName, Font replacementFont) TextraDialog
(String title, Styles.WindowStyle windowStyle) TextraDialog
(String title, Styles.WindowStyle windowStyle, Font replacementFont) -
Method Summary
Modifier and TypeMethodDescriptionbutton
(com.badlogic.gdx.scenes.scene2d.ui.Button button) Adds the given button to the button table.Adds the given button to the button table.Adds a text button to the button table.Adds a text button to the button table.button
(String text, Object object, Styles.TextButtonStyle buttonStyle) Adds a text button to the button table.void
cancel()
com.badlogic.gdx.scenes.scene2d.ui.Table
com.badlogic.gdx.scenes.scene2d.ui.Table
void
hide()
Hides the dialog.void
hide
(com.badlogic.gdx.scenes.scene2d.Action action) Removes the dialog from the stage, restoring the previous keyboard and scroll focus, and adds the specified action to the dialog.If this key is pressed,result(Object)
is called with the specified object.protected TextraLabel
protected TextraLabel
newLabel
(String text, Styles.LabelStyle style) protected TypingLabel
newTypingLabel
(String text, Font font, com.badlogic.gdx.graphics.Color color) protected TypingLabel
newTypingLabel
(String text, Styles.LabelStyle style) protected void
Called when a button is clicked.void
protected void
setStage
(com.badlogic.gdx.scenes.scene2d.Stage stage) show
(com.badlogic.gdx.scenes.scene2d.Stage stage) Centers the dialog in the stage and callsshow(Stage, Action)
with aActions.fadeIn(float, Interpolation)
action.show
(com.badlogic.gdx.scenes.scene2d.Stage stage, com.badlogic.gdx.scenes.scene2d.Action action) Packs
the dialog (but doesn't set the position), adds it to the stage, sets it as the keyboard and scroll focus, clears any actions on the dialog, and adds the specified action to it.text
(TextraLabel label) Adds the given TextraLabel to the content table.Adds a TextraLabel to the content table.Adds a TextraLabel to the content table.Adds a TextraLabel to the content table.text
(String text, Styles.LabelStyle labelStyle) Adds a TextraLabel to the content table.typing
(TypingLabel label) Adds the given TypingLabel to the content table.Adds a TypingLabel to the content table.Adds a TypingLabel to the content table.Adds a TypingLabel to the content table.typing
(String text, Styles.LabelStyle labelStyle) Adds a TypingLabel to the content table.Methods inherited from class com.github.tommyettinger.textra.TextraWindow
draw, drawBackground, drawStageBackground, getPrefWidth, getResizeBorder, getStyle, getTitleLabel, getTitleTable, hit, isDragging, isModal, isMovable, isResizable, keepWithinStage, setKeepWithinStage, setModal, setMovable, setResizable, setResizeBorder, setStyle, setStyle, setStyle, skipToTheEnd
Methods inherited from class com.badlogic.gdx.scenes.scene2d.ui.Table
add, add, add, add, add, add, add, align, background, background, bottom, center, clearChildren, clip, clip, columnDefaults, debug, debug, debugActor, debugAll, debugCell, debugTable, defaults, drawDebug, drawDebugBounds, getAlign, getBackground, getCell, getCells, getClip, getColumnMinWidth, getColumnPrefWidth, getColumns, getColumnWidth, getMinHeight, getMinWidth, getPadBottom, getPadBottomValue, getPadLeft, getPadLeftValue, getPadRight, getPadRightValue, getPadTop, getPadTopValue, getPadX, getPadY, getPrefHeight, getRow, getRowHeight, getRowMinHeight, getRowPrefHeight, getRows, getSkin, getTableDebug, invalidate, layout, left, pad, pad, pad, pad, padBottom, padBottom, padLeft, padLeft, padRight, padRight, padTop, padTop, removeActor, removeActor, removeActorAt, reset, right, row, setBackground, setBackground, setClip, setDebug, setRound, setSkin, stack, top
Methods inherited from class com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup
childrenChanged, getMaxHeight, getMaxWidth, invalidateHierarchy, needsLayout, pack, setFillParent, setLayoutEnabled, sizeChanged, validate
Methods inherited from class com.badlogic.gdx.scenes.scene2d.Group
act, addActor, addActorAfter, addActorAt, addActorBefore, applyTransform, applyTransform, clear, clear, clearChildren, computeTransform, drawChildren, drawDebugChildren, findActor, getChild, getChildren, getCullingArea, hasChildren, isTransform, localToDescendantCoordinates, resetTransform, resetTransform, setCullingArea, setDebug, setTransform, swapActor, swapActor, toString
Methods inherited from class com.badlogic.gdx.scenes.scene2d.Actor
addAction, addCaptureListener, addListener, ancestorsVisible, ascendantsVisible, clearActions, clearListeners, clipBegin, clipBegin, clipEnd, fire, firstAscendant, getActions, getCaptureListeners, getColor, getDebug, getHeight, getListeners, getName, getOriginX, getOriginY, getParent, getRight, getRotation, getScaleX, getScaleY, getStage, getTop, getTouchable, getUserObject, getWidth, getX, getX, getY, getY, getZIndex, hasActions, hasKeyboardFocus, hasParent, hasScrollFocus, isAscendantOf, isDescendantOf, isTouchable, isTouchFocusListener, isTouchFocusTarget, isVisible, localToActorCoordinates, localToAscendantCoordinates, localToParentCoordinates, localToScreenCoordinates, localToStageCoordinates, moveBy, notify, parentToLocalCoordinates, positionChanged, remove, removeAction, removeCaptureListener, removeListener, rotateBy, rotationChanged, scaleBy, scaleBy, scaleChanged, screenToLocalCoordinates, setBounds, setColor, setColor, setHeight, setName, setOrigin, setOrigin, setOriginX, setOriginY, setParent, setPosition, setPosition, setRotation, setScale, setScale, setScaleX, setScaleY, setSize, setTouchable, setUserObject, setVisible, setWidth, setX, setX, setY, setY, setZIndex, sizeBy, sizeBy, stageToLocalCoordinates, toBack, toFront
-
Field Details
-
ignoreTouchDown
protected com.badlogic.gdx.scenes.scene2d.InputListener ignoreTouchDown
-
-
Constructor Details
-
TextraDialog
-
TextraDialog
-
TextraDialog
-
TextraDialog
-
TextraDialog
-
TextraDialog
-
-
Method Details
-
newLabel
- Overrides:
newLabel
in classTextraWindow
-
newLabel
- Overrides:
newLabel
in classTextraWindow
-
newTypingLabel
-
newTypingLabel
-
setStage
protected void setStage(com.badlogic.gdx.scenes.scene2d.Stage stage) - Overrides:
setStage
in classcom.badlogic.gdx.scenes.scene2d.Group
-
getContentTable
public com.badlogic.gdx.scenes.scene2d.ui.Table getContentTable() -
getButtonTable
public com.badlogic.gdx.scenes.scene2d.ui.Table getButtonTable() -
text
Adds a TextraLabel to the content table. The dialog must have been constructed with a skin to use this method. -
text
Adds a TextraLabel to the content table. -
text
Adds a TextraLabel to the content table. -
text
Adds a TextraLabel to the content table. -
text
Adds the given TextraLabel to the content table.- Parameters:
label
- a non-null TextraLabel
-
typing
Adds a TypingLabel to the content table. The dialog must have been constructed with a skin to use this method. -
typing
Adds a TypingLabel to the content table. -
typing
Adds a TypingLabel to the content table. -
typing
Adds a TypingLabel to the content table. -
typing
Adds the given TypingLabel to the content table.- Parameters:
label
- a non-null TypingLabel
-
button
Adds a text button to the button table. Null will be passed toresult(Object)
if this button is clicked. The dialog must have been constructed with a skin to use this method. -
button
Adds a text button to the button table. The dialog must have been constructed with a skin to use this method.- Parameters:
object
- The object that will be passed toresult(Object)
if this button is clicked. May be null.
-
button
public TextraDialog button(@Null String text, @Null Object object, Styles.TextButtonStyle buttonStyle) Adds a text button to the button table.- Parameters:
object
- The object that will be passed toresult(Object)
if this button is clicked. May be null.
-
button
Adds the given button to the button table. -
button
Adds the given button to the button table.- Parameters:
object
- The object that will be passed toresult(Object)
if this button is clicked. May be null.
-
show
public TextraDialog show(com.badlogic.gdx.scenes.scene2d.Stage stage, @Null com.badlogic.gdx.scenes.scene2d.Action action) Packs
the dialog (but doesn't set the position), adds it to the stage, sets it as the keyboard and scroll focus, clears any actions on the dialog, and adds the specified action to it. The previous keyboard and scroll focus are remembered so they can be restored when the dialog is hidden.- Parameters:
action
- May be null.
-
show
Centers the dialog in the stage and callsshow(Stage, Action)
with aActions.fadeIn(float, Interpolation)
action. -
hide
public void hide(@Null com.badlogic.gdx.scenes.scene2d.Action action) Removes the dialog from the stage, restoring the previous keyboard and scroll focus, and adds the specified action to the dialog.- Parameters:
action
- If null, the dialog is removed immediately. Otherwise, the dialog is removed when the action completes. The dialog will not respond to touch down events during the action.
-
hide
public void hide()Hides the dialog. Called automatically when a button is clicked. The default implementation fades out the dialog over 400 milliseconds. -
setObject
-
key
If this key is pressed,result(Object)
is called with the specified object.- See Also:
-
Input.Keys
-
result
Called when a button is clicked. The dialog will be hidden after this method returns unlesscancel()
is called.- Parameters:
object
- The object specified when the button was added.
-
cancel
public void cancel()
-