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 ignoreTouchDown  

    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​(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
    TextraDialog button​(com.badlogic.gdx.scenes.scene2d.ui.Button button)
    Adds the given button to the button table.
    TextraDialog button​(com.badlogic.gdx.scenes.scene2d.ui.Button button, java.lang.Object object)
    Adds the given button to the button table.
    TextraDialog button​(java.lang.String text)
    Adds a text button to the button table.
    TextraDialog button​(java.lang.String text, java.lang.Object object)
    Adds a text button to the button table.
    TextraDialog button​(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.
    void cancel()  
    com.badlogic.gdx.scenes.scene2d.ui.Table getButtonTable()  
    com.badlogic.gdx.scenes.scene2d.ui.Table getContentTable()  
    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.
    TextraDialog key​(int keycode, java.lang.Object object)
    If this key is pressed, result(Object) is called with the specified object.
    protected TextraLabel newLabel​(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle style)  
    protected TextraLabel newLabel​(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)  
    protected TypingLabel newTypingLabel​(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle style)  
    protected TypingLabel newTypingLabel​(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)  
    protected void result​(java.lang.Object object)
    Called when a button is clicked.
    void setObject​(com.badlogic.gdx.scenes.scene2d.Actor actor, java.lang.Object object)  
    protected void setStage​(com.badlogic.gdx.scenes.scene2d.Stage stage)  
    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.
    TextraDialog 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.
    TextraDialog text​(TextraLabel label)
    Adds the given TextraLabel to the content table.
    TextraDialog text​(java.lang.String text)
    Adds a TextraLabel to the content table.
    TextraDialog text​(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)
    Adds a TextraLabel to the content table.
    TextraDialog text​(java.lang.String text, Font font)
    Adds a TextraLabel to the content table.
    TextraDialog text​(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)
    Adds a TextraLabel to the content table.
    TextraDialog typing​(TypingLabel label)
    Adds the given TypingLabel to the content table.
    TextraDialog typing​(java.lang.String text)
    Adds a TypingLabel to the content table.
    TextraDialog typing​(java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)
    Adds a TypingLabel to the content table.
    TextraDialog typing​(java.lang.String text, Font font)
    Adds a TypingLabel to the content table.
    TextraDialog typing​(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)
    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​(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:
      newLabel in class TextraWindow
    • newLabel

      protected TextraLabel newLabel​(java.lang.String text, Font font, com.badlogic.gdx.graphics.Color color)
      Overrides:
      newLabel in class TextraWindow
    • 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:
      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 java.lang.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 java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)
      Adds a TextraLabel to the content table.
    • text

      public TextraDialog text​(@Null java.lang.String text, Font font)
      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

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

      public TextraDialog typing​(@Null java.lang.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 java.lang.String text, com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle labelStyle)
      Adds a TypingLabel to the content table.
    • typing

      public TextraDialog typing​(@Null java.lang.String text, Font font)
      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

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

      public TextraDialog button​(@Null java.lang.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 java.lang.String text, @Null java.lang.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 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 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 java.lang.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 java.lang.Object object)
    • key

      public TextraDialog key​(int keycode, @Null java.lang.Object object)
      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 unless cancel() is called.
      Parameters:
      object - The object specified when the button was added.
    • cancel

      public void cancel()