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
public class TextraDialog extends TextraWindow
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
Fields Modifier and Type Field Description protected com.badlogic.gdx.scenes.scene2d.InputListenerignoreTouchDownFields inherited from class com.github.tommyettinger.textra.TextraWindow
dragging, edge, fontFields inherited from class com.badlogic.gdx.scenes.scene2d.ui.Table
backgroundBottom, backgroundLeft, backgroundRight, backgroundTop, debugActorColor, debugCellColor, debugTableColor -
Constructor Summary
Constructors Constructor Description TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin)TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont)TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, java.lang.String windowStyleName)TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, java.lang.String windowStyleName, Font replacementFont)TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Window.WindowStyle windowStyle)TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Window.WindowStyle windowStyle, Font replacementFont) -
Method Summary
Modifier and Type Method Description TextraDialogbutton(com.badlogic.gdx.scenes.scene2d.ui.Button button)Adds the given button to the button table.TextraDialogbutton(com.badlogic.gdx.scenes.scene2d.ui.Button button, java.lang.Object object)Adds the given button to the button table.TextraDialogbutton(java.lang.String text)Adds a text button to the button table.TextraDialogbutton(java.lang.String text, java.lang.Object object)Adds a text button to the button table.TextraDialogbutton(java.lang.String text, java.lang.Object object, com.badlogic.gdx.scenes.scene2d.ui.TextButton.TextButtonStyle buttonStyle)Adds a text button to the button table.voidcancel()com.badlogic.gdx.scenes.scene2d.ui.TablegetButtonTable()com.badlogic.gdx.scenes.scene2d.ui.TablegetContentTable()voidhide()Hides the dialog.voidhide(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.TextraDialogkey(int keycode, java.lang.Object object)If this key is pressed,result(Object)is called with the specified object.protected TextraLabelnewLabel(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle style)protected TextraLabelnewLabel(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)protected TypingLabelnewTypingLabel(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle style)protected TypingLabelnewTypingLabel(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)protected voidresult(java.lang.Object object)Called when a button is clicked.voidsetObject(com.badlogic.gdx.scenes.scene2d.Actor actor, java.lang.Object object)protected voidsetStage(com.badlogic.gdx.scenes.scene2d.Stage stage)TextraDialogshow(com.badlogic.gdx.scenes.scene2d.Stage stage)Centers the dialog in the stage and callsshow(Stage, Action)with aActions.fadeIn(float, Interpolation)action.TextraDialogshow(com.badlogic.gdx.scenes.scene2d.Stage stage, com.badlogic.gdx.scenes.scene2d.Action action)Packsthe 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.TextraDialogtext(TextraLabel label)Adds the given TextraLabel to the content table.TextraDialogtext(java.lang.String text)Adds a TextraLabel to the content table.TextraDialogtext(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)Adds a TextraLabel to the content table.TextraDialogtext(java.lang.String text, Font font)Adds a TextraLabel to the content table.TextraDialogtext(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)Adds a TextraLabel to the content table.TextraDialogtyping(TypingLabel label)Adds the given TypingLabel to the content table.TextraDialogtyping(java.lang.String text)Adds a TypingLabel to the content table.TextraDialogtyping(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)Adds a TypingLabel to the content table.TextraDialogtyping(java.lang.String text, Font font)Adds a TypingLabel to the content table.TextraDialogtyping(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)Adds a TypingLabel to the content table.Methods inherited from class com.github.tommyettinger.textra.TextraWindow
draw, drawBackground, drawStageBackground, getPrefWidth, getStyle, getTitleLabel, getTitleTable, hit, isDragging, isModal, isMovable, isResizable, keepWithinStage, setKeepWithinStage, setModal, setMovable, setResizable, setResizeBorder, setStyle, setStyle, setStyle, skipToTheEndMethods 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, topMethods inherited from class com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup
childrenChanged, getMaxHeight, getMaxWidth, invalidateHierarchy, needsLayout, pack, setFillParent, setLayoutEnabled, sizeChanged, validateMethods 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, toStringMethods 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, toFrontMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
ignoreTouchDown
protected com.badlogic.gdx.scenes.scene2d.InputListener ignoreTouchDown
-
-
Constructor Details
-
TextraDialog
public TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin) -
TextraDialog
public TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, java.lang.String windowStyleName) -
TextraDialog
public TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Window.WindowStyle windowStyle) -
TextraDialog
public TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont) -
TextraDialog
public TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, java.lang.String windowStyleName, Font replacementFont) -
TextraDialog
public TextraDialog(java.lang.String title, com.badlogic.gdx.scenes.scene2d.ui.Window.WindowStyle windowStyle, Font replacementFont)
-
-
Method Details
-
newLabel
protected TextraLabel newLabel(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle style)- Overrides:
newLabelin classTextraWindow
-
newLabel
protected TextraLabel newLabel(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)- Overrides:
newLabelin classTextraWindow
-
newTypingLabel
protected TypingLabel newTypingLabel(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle style) -
newTypingLabel
protected TypingLabel newTypingLabel(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color) -
setStage
protected void setStage(com.badlogic.gdx.scenes.scene2d.Stage stage)- Overrides:
setStagein 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
public TextraDialog text(@Null java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)Adds a TextraLabel to the content table. -
text
Adds a TextraLabel to the content table. -
text
public TextraDialog text(@Null java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)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
public TextraDialog typing(@Null java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)Adds a TypingLabel to the content table. -
typing
Adds a TypingLabel to the content table. -
typing
public TextraDialog typing(@Null java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)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 java.lang.String text, @Null java.lang.Object object, com.badlogic.gdx.scenes.scene2d.ui.TextButton.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
public TextraDialog button(com.badlogic.gdx.scenes.scene2d.ui.Button button, @Null java.lang.Object object)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)Packsthe 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
public void setObject(com.badlogic.gdx.scenes.scene2d.Actor actor, @Null java.lang.Object object) -
key
If this key is pressed,result(Object)is called with the specified object.- See Also:
Input.Keys
-
result
protected void result(@Null java.lang.Object object)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()
-