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.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

    Constructors
    Constructor
    Description
    TextraDialog(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 Type
    Method
    Description
    button(com.badlogic.gdx.scenes.scene2d.ui.Button button)
    Adds the given button to the button table.
    button(com.badlogic.gdx.scenes.scene2d.ui.Button button, Object object)
    Adds the given button to the button table.
    button(String text)
    Adds a text button to the button table.
    button(String text, Object object)
    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
     
    com.badlogic.gdx.scenes.scene2d.ui.Table
     
    com.badlogic.gdx.scenes.scene2d.ui.Table
     
    void
    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.
    key(int keycode, Object object)
    If this key is pressed, result(Object) is called with the specified object.
    protected TextraLabel
    newLabel(String text, Font font, com.badlogic.gdx.graphics.Color color)
     
    protected TextraLabel
     
    protected TypingLabel
    newTypingLabel(String text, Font font, com.badlogic.gdx.graphics.Color color)
     
    protected TypingLabel
     
    protected void
    result(Object object)
    Called when a button is clicked.
    void
    setObject(com.badlogic.gdx.scenes.scene2d.Actor actor, Object object)
     
    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 calls show(Stage, Action) with a Actions.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.
    Adds the given TextraLabel to the content table.
    text(String text)
    Adds a TextraLabel to the content table.
    text(String text, Font font)
    Adds a TextraLabel to the content table.
    text(String text, Font font, com.badlogic.gdx.graphics.Color color)
    Adds a TextraLabel to the content table.
    text(String text, Styles.LabelStyle labelStyle)
    Adds a TextraLabel to the content table.
    Adds the given TypingLabel to the content table.
    typing(String text)
    Adds a TypingLabel to the content table.
    typing(String text, Font font)
    Adds a TypingLabel to the content table.
    typing(String text, Font font, com.badlogic.gdx.graphics.Color color)
    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.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

    Methods 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(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin)
    • TextraDialog

      public TextraDialog(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String windowStyleName)
    • TextraDialog

      public TextraDialog(String title, Styles.WindowStyle windowStyle)
    • TextraDialog

      public TextraDialog(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, Font replacementFont)
    • TextraDialog

      public TextraDialog(String title, com.badlogic.gdx.scenes.scene2d.ui.Skin skin, String windowStyleName, Font replacementFont)
    • TextraDialog

      public TextraDialog(String title, Styles.WindowStyle windowStyle, Font replacementFont)
  • Method Details

    • newLabel

      protected TextraLabel newLabel(String text, Styles.LabelStyle style)
      Overrides:
      newLabel in class TextraWindow
    • newLabel

      protected TextraLabel newLabel(String text, Font font, com.badlogic.gdx.graphics.Color color)
      Overrides:
      newLabel in class TextraWindow
    • newTypingLabel

      protected TypingLabel newTypingLabel(String text, Styles.LabelStyle style)
    • newTypingLabel

      protected TypingLabel newTypingLabel(String text, Font font, com.badlogic.gdx.graphics.Color color)
    • setStage

      protected void setStage(com.badlogic.gdx.scenes.scene2d.Stage stage)
      Overrides:
      setStage in class com.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

      public TextraDialog text(@Null String 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 String text, Styles.LabelStyle labelStyle)
      Adds a TextraLabel to the content table.
    • text

      public TextraDialog text(@Null String text, Font font)
      Adds a TextraLabel to the content table.
    • text

      public TextraDialog text(@Null String text, Font font, com.badlogic.gdx.graphics.Color color)
      Adds a TextraLabel to the content table.
    • text

      public TextraDialog text(TextraLabel label)
      Adds the given TextraLabel to the content table.
      Parameters:
      label - a non-null TextraLabel
    • typing

      public TextraDialog typing(@Null String text)
      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 String text, Styles.LabelStyle labelStyle)
      Adds a TypingLabel to the content table.
    • typing

      public TextraDialog typing(@Null String text, Font font)
      Adds a TypingLabel to the content table.
    • typing

      public TextraDialog typing(@Null String text, Font font, com.badlogic.gdx.graphics.Color color)
      Adds a TypingLabel to the content table.
    • typing

      public TextraDialog typing(TypingLabel label)
      Adds the given TypingLabel to the content table.
      Parameters:
      label - a non-null TypingLabel
    • button

      public TextraDialog button(@Null String text)
      Adds a text button to the button table. Null will be passed to result(Object) if this button is clicked. The dialog must have been constructed with a skin to use this method.
    • button

      public TextraDialog button(@Null String text, @Null Object object)
      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 to result(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 to result(Object) if this button is clicked. May be null.
    • button

      public TextraDialog button(com.badlogic.gdx.scenes.scene2d.ui.Button button)
      Adds the given button to the button table.
    • button

      public TextraDialog button(com.badlogic.gdx.scenes.scene2d.ui.Button button, @Null Object object)
      Adds the given button to the button table.
      Parameters:
      object - The object that will be passed to result(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

      public TextraDialog show(com.badlogic.gdx.scenes.scene2d.Stage stage)
      Centers the dialog in the stage and calls show(Stage, Action) with a Actions.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 Object object)
    • key

      public TextraDialog key(int keycode, @Null Object object)
      If this key is pressed, result(Object) is called with the specified object.
      See Also:
      • Input.Keys
    • result

      protected void result(@Null Object object)
      Called when a button is clicked. The dialog will be hidden after this method returns unless cancel() is called.
      Parameters:
      object - The object specified when the button was added.
    • cancel

      public void cancel()