Package jexer

Class TWidget

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected TWidget()
      Default constructor for subclasses.
      protected TWidget​(TWidget parent)
      Protected constructor.
      protected TWidget​(TWidget parent, boolean enabled)
      Protected constructor used by subclasses that are disabled by default.
      protected TWidget​(TWidget parent, boolean enabled, int x, int y, int width, int height)
      Protected constructor used by subclasses that are disabled by default.
      protected TWidget​(TWidget parent, int x, int y, int width, int height)
      Protected constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void activate()
      Make this widget the active child of its parent.
      void activate​(int tabOrder)
      Switch the active child.
      void activate​(TWidget child)
      Switch the active child.
      void activateAll()
      Make this widget, all of its parents, the active child.
      TButton addButton​(java.lang.String text, int x, int y, TAction action)
      Convenience function to add a button to this container/window.
      TCalendar addCalendar​(int x, int y, TAction updateAction)
      Convenience function to add a calendar to this container/window.
      TCheckBox addCheckBox​(int x, int y, java.lang.String label, boolean checked)
      Convenience function to add a checkbox to this container/window.
      TCheckBox addCheckBox​(int x, int y, java.lang.String label, boolean checked, TAction action)
      Convenience function to add a checkbox to this container/window.
      TComboBox addComboBox​(int x, int y, int width, java.util.List<java.lang.String> values, int valuesIndex, int maxValuesHeight, TAction updateAction)
      Convenience function to add a combobox to this container/window.
      TDirectoryList addDirectoryList​(java.lang.String path, int x, int y, int width, int height)
      Convenience function to add a directory list to this container/window.
      TDirectoryList addDirectoryList​(java.lang.String path, int x, int y, int width, int height, TAction action)
      Convenience function to add a directory list to this container/window.
      TDirectoryList addDirectoryList​(java.lang.String path, int x, int y, int width, int height, TAction action, TAction singleClickAction)
      Convenience function to add a directory list to this container/window.
      TDirectoryList addDirectoryList​(java.lang.String path, int x, int y, int width, int height, TAction action, TAction singleClickAction, java.util.List<java.lang.String> filters)
      Convenience function to add a directory list to this container/window.
      TEditorWidget addEditor​(java.lang.String text, int x, int y, int width, int height)
      Convenience function to add an editable text area box to this container/window.
      TField addField​(int x, int y, int width, boolean fixed)
      Convenience function to add a text field to this container/window.
      TField addField​(int x, int y, int width, boolean fixed, java.lang.String text)
      Convenience function to add a text field to this container/window.
      TField addField​(int x, int y, int width, boolean fixed, java.lang.String text, TAction enterAction)
      Convenience function to add a text field to this container/window.
      TField addField​(int x, int y, int width, boolean fixed, java.lang.String text, TAction enterAction, TAction updateAction)
      Convenience function to add a text field to this container/window.
      TImage addImage​(int x, int y, int width, int height, java.awt.image.BufferedImage image, int left, int top)
      Convenience function to add an image to this container/window.
      TImage addImage​(int x, int y, int width, int height, java.awt.image.BufferedImage image, int left, int top, TAction clickAction)
      Convenience function to add an image to this container/window.
      TLabel addLabel​(java.lang.String text, int x, int y)
      Convenience function to add a label to this container/window.
      TLabel addLabel​(java.lang.String text, int x, int y, java.lang.String colorKey)
      Convenience function to add a label to this container/window.
      TLabel addLabel​(java.lang.String text, int x, int y, java.lang.String colorKey, boolean useWindowBackground)
      Convenience function to add a label to this container/window.
      TLabel addLabel​(java.lang.String text, int x, int y, java.lang.String colorKey, boolean useWindowBackground, TAction action)
      Convenience function to add a label to this container/window.
      TLabel addLabel​(java.lang.String text, int x, int y, java.lang.String colorKey, TAction action)
      Convenience function to add a label to this container/window.
      TLabel addLabel​(java.lang.String text, int x, int y, TAction action)
      Convenience function to add a label to this container/window.
      TList addList​(java.util.List<java.lang.String> strings, int x, int y, int width, int height)
      Convenience function to add a list to this container/window.
      TList addList​(java.util.List<java.lang.String> strings, int x, int y, int width, int height, TAction enterAction)
      Convenience function to add a list to this container/window.
      TList addList​(java.util.List<java.lang.String> strings, int x, int y, int width, int height, TAction enterAction, TAction moveAction)
      Convenience function to add a list to this container/window.
      TList addList​(java.util.List<java.lang.String> strings, int x, int y, int width, int height, TAction enterAction, TAction moveAction, TAction singleClickAction)
      Convenience function to add a list to this container/window.
      TPanel addPanel​(int x, int y, int width, int height)
      Convenience function to add a panel to this container/window.
      TPasswordField addPasswordField​(int x, int y, int width, boolean fixed)
      Convenience function to add a password text field to this container/window.
      TPasswordField addPasswordField​(int x, int y, int width, boolean fixed, java.lang.String text)
      Convenience function to add a password text field to this container/window.
      TPasswordField addPasswordField​(int x, int y, int width, boolean fixed, java.lang.String text, TAction enterAction, TAction updateAction)
      Convenience function to add a password text field to this container/window.
      TProgressBar addProgressBar​(int x, int y, int width, int value)
      Convenience function to add a progress bar to this container/window.
      TRadioGroup addRadioGroup​(int x, int y, int width, java.lang.String label)
      Convenience function to add a radio button group to this container/window.
      TRadioGroup addRadioGroup​(int x, int y, java.lang.String label)
      Convenience function to add a radio button group to this container/window.
      TSpinner addSpinner​(int x, int y, TAction upAction, TAction downAction)
      Convenience function to add a spinner to this container/window.
      TSplitPane addSplitPane​(int x, int y, int width, int height, boolean vertical)
      Convenience function to add a split pane to this container/window.
      TTableWidget addTable​(int x, int y, int width, int height)
      Convenience function to add an editable 2D data table to this container/window.
      TTableWidget addTable​(int x, int y, int width, int height, int gridColumns, int gridRows)
      Convenience function to add an editable 2D data table to this container/window.
      TText addText​(java.lang.String text, int x, int y, int width, int height)
      Convenience function to add a scrollable text box to this container/window.
      TText addText​(java.lang.String text, int x, int y, int width, int height, java.lang.String colorKey)
      Convenience function to add a scrollable text box to this container/window.
      TTreeViewWidget addTreeViewWidget​(int x, int y, int width, int height)
      Convenience function to add a scrollable tree view to this container/window.
      TTreeViewWidget addTreeViewWidget​(int x, int y, int width, int height, TAction action)
      Convenience function to add a scrollable tree view to this container/window.
      void close()
      Subclasses should override this method to cleanup resources.
      int compareTo​(TWidget that)
      Comparison operator.
      protected void doRepaint()
      Repaint the screen on the next update.
      void draw()
      Draw my specific widget.
      void drawBox​(int left, int top, int right, int bottom, CellAttributes border, CellAttributes background)
      Draw a box with a border and empty background.
      void drawBox​(int left, int top, int right, int bottom, CellAttributes border, CellAttributes background, int borderType, boolean shadow)
      Draw a box with a border and empty background.
      void drawBoxShadow​(int left, int top, int right, int bottom)
      Draw a box shadow.
      void drawChildren()
      Called by parent to render to TWindow.
      java.lang.String fileOpenBox​(java.lang.String path)
      Convenience function to spawn a file open box.
      java.lang.String fileOpenBox​(java.lang.String path, TFileOpenBox.Type type)
      Convenience function to spawn a file open box.
      java.lang.String fileOpenBox​(java.lang.String path, TFileOpenBox.Type type, java.lang.String filter)
      Convenience function to spawn a file open box.
      java.lang.String fileOpenBox​(java.lang.String path, TFileOpenBox.Type type, java.util.List<java.lang.String> filters)
      Convenience function to spawn a file open box.
      java.lang.String fileSaveBox​(java.lang.String path)
      Convenience function to spawn a file save box.
      int getAbsoluteX()
      Compute my absolute X position as the sum of my X plus all my parent's X's.
      int getAbsoluteY()
      Compute my absolute Y position as the sum of my Y plus all my parent's Y's.
      TWidget getActiveChild()
      Returns my active widget.
      TApplication getApplication()
      Get this TWidget's parent TApplication.
      CellAttributes getAttrXY​(int x, int y)
      Get the attributes at one location.
      java.util.List<TWidget> getChildren()
      Get the list of child widgets that this widget contains.
      Clipboard getClipboard()
      Get the Clipboard.
      int getCursorAbsoluteX()
      Returns the cursor X position.
      int getCursorAbsoluteY()
      Returns the cursor Y position.
      int getCursorX()
      Get cursor X value.
      int getCursorY()
      Get cursor Y value.
      int getHeight()
      Get the height.
      LayoutManager getLayoutManager()
      Get the layout manager.
      TWidget getParent()
      Get parent widget.
      Screen getScreen()
      Get the Screen.
      ColorTheme getTheme()
      Get the global color theme.
      int getWidth()
      Get the width.
      TWindow getWindow()
      Get the window this widget is on.
      int getX()
      Get X position.
      int getY()
      Get Y position.
      void handleEvent​(TInputEvent event)
      Consume event.
      boolean hasChild​(TWidget child)
      See if a widget is a child of this widget.
      void hLineXY​(int x, int y, int n, int ch, CellAttributes attr)
      Draw a horizontal line from (x, y) to (x + n, y).
      TInputBox inputBox​(java.lang.String title, java.lang.String caption)
      Convenience function to spawn an input box.
      TInputBox inputBox​(java.lang.String title, java.lang.String caption, java.lang.String text)
      Convenience function to spawn an input box.
      TInputBox inputBox​(java.lang.String title, java.lang.String caption, java.lang.String text, TMessageBox.Type type)
      Convenience function to spawn an input box.
      boolean isAbsoluteActive()
      See if this widget is the active window within its hierarchy.
      boolean isActive()
      Get active flag.
      boolean isCursorVisible()
      See if this widget has a visible cursor.
      boolean isDrawable()
      See if this widget can be drawn onto a screen.
      boolean isEchoKeystrokes()
      Get echo keystrokes flag.
      boolean isEnabled()
      Get enabled flag.
      boolean isVisible()
      See if this widget is visible.
      TMessageBox messageBox​(java.lang.String title, java.lang.String caption)
      Convenience function to spawn a message box.
      TMessageBox messageBox​(java.lang.String title, java.lang.String caption, TMessageBox.Type type)
      Convenience function to spawn a message box.
      boolean mouseWouldHit​(TMouseEvent mouse)
      Check if a mouse press/release event coordinate is contained in this widget.
      void onCommand​(TCommandEvent command)
      Method that subclasses can override to handle posted command events.
      void onIdle()
      Method that subclasses can override to do processing when the UI is idle.
      void onKeypress​(TKeypressEvent keypress)
      Method that subclasses can override to handle keystrokes.
      void onMenu​(TMenuEvent menu)
      Method that subclasses can override to handle menu or posted menu events.
      void onMouseDoubleClick​(TMouseEvent mouse)
      Method that subclasses can override to handle mouse button double-clicks.
      void onMouseDown​(TMouseEvent mouse)
      Method that subclasses can override to handle mouse button presses.
      void onMouseMotion​(TMouseEvent mouse)
      Method that subclasses can override to handle mouse movements.
      void onMouseUp​(TMouseEvent mouse)
      Method that subclasses can override to handle mouse button releases.
      void onResize​(TResizeEvent resize)
      Method that subclasses can override to handle window/screen resize events.
      void putAll​(int ch, CellAttributes attr)
      Fill the entire screen with one character with attributes.
      void putAttrXY​(int x, int y, CellAttributes attr)
      Set the attributes at one location.
      void putAttrXY​(int x, int y, CellAttributes attr, boolean clip)
      Set the attributes at one location.
      void putCharXY​(int x, int y, int ch)
      Render one character without changing the underlying attributes.
      void putCharXY​(int x, int y, int ch, CellAttributes attr)
      Render one character with attributes.
      void putCharXY​(int x, int y, Cell ch)
      Render one character with attributes.
      void putStringXY​(int x, int y, java.lang.String str)
      Render a string without changing the underlying attribute.
      void putStringXY​(int x, int y, java.lang.String str, CellAttributes attr)
      Render a string.
      void remove()
      Remove this widget from its parent container.
      void remove​(boolean doClose)
      Remove this widget from its parent container.
      void remove​(TWidget child)
      Remove a child widget from this container.
      void remove​(TWidget child, boolean doClose)
      Remove a child widget from this container.
      void removeAll​(TWidget child, boolean doClose)
      Remove a child widget from this container, and all of its children recursively from their parent containers.
      protected void resetTabOrder()
      Reset the tab order of children to match their position in the list.
      void setActive​(boolean active)
      Set active flag.
      void setCursorVisible​(boolean cursorVisible)
      Set visible cursor flag.
      void setCursorX​(int cursorX)
      Set cursor X value.
      void setCursorY​(int cursorY)
      Set cursor Y value.
      void setDimensions​(int x, int y, int width, int height)
      Change the dimensions.
      void setEchoKeystrokes​(boolean echoKeystrokes)
      Set echo keystrokes flag.
      void setEchoKeystrokes​(boolean echoKeystrokes, boolean recursive)
      Set echo keystrokes flag.
      void setEnabled​(boolean enabled)
      Set enabled flag.
      void setHeight​(int height)
      Change the height.
      void setLayoutManager​(LayoutManager layout)
      Set the layout manager.
      void setParent​(TWidget newParent, boolean doClose)
      Set this widget's parent to a different widget.
      protected void setupForTWindow​(TWindow window, int x, int y, int width, int height)
      Backdoor access for TWindow's constructor.
      void setVisible​(boolean visible)
      Set visible flag.
      void setWidth​(int width)
      Change the width.
      void setWindow​(TWindow window)
      Set this widget's window to a specific window.
      void setX​(int x)
      Set X position.
      void setY​(int y)
      Set Y position.
      TSplitPane splitHorizontal​(boolean newWidgetOnTop, TWidget newWidget)
      Insert a horizontal split between this widget and parent, and optionally put another widget in the other side of the split.
      TSplitPane splitVertical​(boolean newWidgetOnLeft, TWidget newWidget)
      Insert a vertical split between this widget and parent, and optionally put another widget in the other side of the split.
      void switchWidget​(boolean forward)
      Switch the active widget with the next in the tab order.
      java.lang.String toPrettyString()
      Generate a string for this widget's hierarchy.
      java.lang.String toPrettyString​(java.lang.String prefix)
      Generate a string for this widget's hierarchy.
      java.lang.String toString()
      Generate a human-readable string for this widget.
      void vLineXY​(int x, int y, int n, int ch, CellAttributes attr)
      Draw a vertical line from (x, y) to (x, y + n).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TWidget

        protected TWidget()
        Default constructor for subclasses.
      • TWidget

        protected TWidget​(TWidget parent)
        Protected constructor.
        Parameters:
        parent - parent widget
      • TWidget

        protected TWidget​(TWidget parent,
                          int x,
                          int y,
                          int width,
                          int height)
        Protected constructor.
        Parameters:
        parent - parent widget
        x - column relative to parent
        y - row relative to parent
        width - width of widget
        height - height of widget
      • TWidget

        protected TWidget​(TWidget parent,
                          boolean enabled)
        Protected constructor used by subclasses that are disabled by default.
        Parameters:
        parent - parent widget
        enabled - if true assume enabled
      • TWidget

        protected TWidget​(TWidget parent,
                          boolean enabled,
                          int x,
                          int y,
                          int width,
                          int height)
        Protected constructor used by subclasses that are disabled by default.
        Parameters:
        parent - parent widget
        enabled - if true assume enabled
        x - column relative to parent
        y - row relative to parent
        width - width of widget
        height - height of widget
    • Method Detail

      • setupForTWindow

        protected final void setupForTWindow​(TWindow window,
                                             int x,
                                             int y,
                                             int width,
                                             int height)
        Backdoor access for TWindow's constructor. ONLY TWindow USES THIS.
        Parameters:
        window - the top-level window
        x - column relative to parent
        y - row relative to parent
        width - width of window
        height - height of window
      • close

        public void close()
        Subclasses should override this method to cleanup resources. This is called by TWindow.onClose().
      • mouseWouldHit

        public final boolean mouseWouldHit​(TMouseEvent mouse)
        Check if a mouse press/release event coordinate is contained in this widget.
        Parameters:
        mouse - a mouse-based event
        Returns:
        whether or not a mouse click would be sent to this widget
      • onKeypress

        public void onKeypress​(TKeypressEvent keypress)
        Method that subclasses can override to handle keystrokes.
        Parameters:
        keypress - keystroke event
      • onMouseDown

        public void onMouseDown​(TMouseEvent mouse)
        Method that subclasses can override to handle mouse button presses.
        Parameters:
        mouse - mouse button event
      • onMouseUp

        public void onMouseUp​(TMouseEvent mouse)
        Method that subclasses can override to handle mouse button releases.
        Parameters:
        mouse - mouse button event
      • onMouseMotion

        public void onMouseMotion​(TMouseEvent mouse)
        Method that subclasses can override to handle mouse movements.
        Parameters:
        mouse - mouse motion event
      • onMouseDoubleClick

        public void onMouseDoubleClick​(TMouseEvent mouse)
        Method that subclasses can override to handle mouse button double-clicks.
        Parameters:
        mouse - mouse button event
      • onResize

        public void onResize​(TResizeEvent resize)
        Method that subclasses can override to handle window/screen resize events.
        Parameters:
        resize - resize event
      • onCommand

        public void onCommand​(TCommandEvent command)
        Method that subclasses can override to handle posted command events.
        Parameters:
        command - command event
      • onMenu

        public void onMenu​(TMenuEvent menu)
        Method that subclasses can override to handle menu or posted menu events.
        Parameters:
        menu - menu event
      • onIdle

        public void onIdle()
        Method that subclasses can override to do processing when the UI is idle. Note that repainting is NOT assumed. To get a refresh after onIdle, call doRepaint().
      • handleEvent

        public void handleEvent​(TInputEvent event)
        Consume event. Subclasses that want to intercept all events in one go can override this method.
        Parameters:
        event - keyboard, mouse, resize, command, or menu event
      • getParent

        public final TWidget getParent()
        Get parent widget.
        Returns:
        parent widget
      • getChildren

        public java.util.List<TWidget> getChildren()
        Get the list of child widgets that this widget contains.
        Returns:
        the list of child widgets
      • remove

        public final void remove()
        Remove this widget from its parent container. close() will be called before it is removed.
      • remove

        public final void remove​(boolean doClose)
        Remove this widget from its parent container.
        Parameters:
        doClose - if true, call the close() method before removing the child
      • remove

        public final void remove​(TWidget child)
        Remove a child widget from this container.
        Parameters:
        child - the child widget to remove
      • remove

        public final void remove​(TWidget child,
                                 boolean doClose)
        Remove a child widget from this container.
        Parameters:
        child - the child widget to remove
        doClose - if true, call the close() method before removing the child
      • hasChild

        public boolean hasChild​(TWidget child)
        See if a widget is a child of this widget.
        Parameters:
        child - the child widget
        Returns:
        true if child is one of this widget's children
      • setParent

        public final void setParent​(TWidget newParent,
                                    boolean doClose)
        Set this widget's parent to a different widget.
        Parameters:
        newParent - new parent widget
        doClose - if true, call the close() method before removing the child from its existing parent widget
      • setWindow

        public final void setWindow​(TWindow window)
        Set this widget's window to a specific window. Having a null parent with a specified window is only used within Jexer by TStatusBar because TApplication routes events directly to it and calls its draw() method. Any other non-parented widgets will require similar special case functionality to receive events or be drawn to screen.
        Parameters:
        window - the window to use
      • removeAll

        public final void removeAll​(TWidget child,
                                    boolean doClose)
        Remove a child widget from this container, and all of its children recursively from their parent containers.
        Parameters:
        child - the child widget to remove
        doClose - if true, call the close() method before removing each child
      • isActive

        public final boolean isActive()
        Get active flag.
        Returns:
        if true, this widget will receive events
      • setActive

        public final void setActive​(boolean active)
        Set active flag.
        Parameters:
        active - if true, this widget will receive events
      • getWindow

        public final TWindow getWindow()
        Get the window this widget is on.
        Returns:
        the window
      • getX

        public final int getX()
        Get X position.
        Returns:
        absolute X position of the top-left corner
      • setX

        public final void setX​(int x)
        Set X position.
        Parameters:
        x - absolute X position of the top-left corner
      • getY

        public final int getY()
        Get Y position.
        Returns:
        absolute Y position of the top-left corner
      • setY

        public final void setY​(int y)
        Set Y position.
        Parameters:
        y - absolute Y position of the top-left corner
      • getWidth

        public int getWidth()
        Get the width.
        Returns:
        widget width
      • setWidth

        public void setWidth​(int width)
        Change the width.
        Parameters:
        width - new widget width
      • getHeight

        public int getHeight()
        Get the height.
        Returns:
        widget height
      • setHeight

        public void setHeight​(int height)
        Change the height.
        Parameters:
        height - new widget height
      • setDimensions

        public final void setDimensions​(int x,
                                        int y,
                                        int width,
                                        int height)
        Change the dimensions.
        Parameters:
        x - absolute X position of the top-left corner
        y - absolute Y position of the top-left corner
        width - new widget width
        height - new widget height
      • getLayoutManager

        public LayoutManager getLayoutManager()
        Get the layout manager.
        Returns:
        the layout manager, or null if not set
      • setLayoutManager

        public void setLayoutManager​(LayoutManager layout)
        Set the layout manager.
        Parameters:
        layout - the new layout manager
      • isEnabled

        public final boolean isEnabled()
        Get enabled flag.
        Returns:
        if true, this widget can be tabbed to or receive events
      • setEnabled

        public final void setEnabled​(boolean enabled)
        Set enabled flag.
        Parameters:
        enabled - if true, this widget can be tabbed to or receive events
      • setVisible

        public final void setVisible​(boolean visible)
        Set visible flag.
        Parameters:
        visible - if true, this widget will be drawn
      • isVisible

        public final boolean isVisible()
        See if this widget is visible.
        Returns:
        if true, this widget will be drawn
      • setCursorVisible

        public final void setCursorVisible​(boolean cursorVisible)
        Set visible cursor flag.
        Parameters:
        cursorVisible - if true, this widget has a cursor
      • isCursorVisible

        public final boolean isCursorVisible()
        See if this widget has a visible cursor.
        Returns:
        if true, this widget has a visible cursor
      • getCursorX

        public final int getCursorX()
        Get cursor X value.
        Returns:
        cursor column position in relative coordinates
      • setCursorX

        public final void setCursorX​(int cursorX)
        Set cursor X value.
        Parameters:
        cursorX - column position in relative coordinates
      • getCursorY

        public final int getCursorY()
        Get cursor Y value.
        Returns:
        cursor row position in relative coordinates
      • setCursorY

        public final void setCursorY​(int cursorY)
        Set cursor Y value.
        Parameters:
        cursorY - row position in relative coordinates
      • setEchoKeystrokes

        public void setEchoKeystrokes​(boolean echoKeystrokes)
        Set echo keystrokes flag.
        Parameters:
        echoKeystrokes - if true, this widget will echo keystrokes to all of its children
      • setEchoKeystrokes

        public void setEchoKeystrokes​(boolean echoKeystrokes,
                                      boolean recursive)
        Set echo keystrokes flag.
        Parameters:
        echoKeystrokes - if true, this widget will echo keystrokes to all of its children
        recursive - if true, set the echo keystrokes flag of all child widgets recursively
      • isEchoKeystrokes

        public boolean isEchoKeystrokes()
        Get echo keystrokes flag.
        Returns:
        true if this widget echoes keystrokes to all of its children
      • getApplication

        public TApplication getApplication()
        Get this TWidget's parent TApplication.
        Returns:
        the parent TApplication, or null if not assigned
      • getScreen

        public Screen getScreen()
        Get the Screen.
        Returns:
        the Screen, or null if not assigned
      • getClipboard

        public Clipboard getClipboard()
        Get the Clipboard.
        Returns:
        the Clipboard, or null if not assigned
      • compareTo

        public int compareTo​(TWidget that)
        Comparison operator. For various subclasses it sorts on:
        • tabOrder for TWidgets
        • z for TWindows
        • text for TTreeItems
        Specified by:
        compareTo in interface java.lang.Comparable<TWidget>
        Parameters:
        that - another TWidget, TWindow, or TTreeItem instance
        Returns:
        difference between this.tabOrder and that.tabOrder, or difference between this.z and that.z, or String.compareTo(text)
      • isAbsoluteActive

        public final boolean isAbsoluteActive()
        See if this widget is the active window within its hierarchy.
        Returns:
        true if this widget is active and all of its parents are active.
      • getCursorAbsoluteX

        public final int getCursorAbsoluteX()
        Returns the cursor X position.
        Returns:
        absolute screen column number for the cursor's X position
      • getCursorAbsoluteY

        public final int getCursorAbsoluteY()
        Returns the cursor Y position.
        Returns:
        absolute screen row number for the cursor's Y position
      • getAbsoluteX

        public final int getAbsoluteX()
        Compute my absolute X position as the sum of my X plus all my parent's X's.
        Returns:
        absolute screen column number for my X position
      • getAbsoluteY

        public final int getAbsoluteY()
        Compute my absolute Y position as the sum of my Y plus all my parent's Y's.
        Returns:
        absolute screen row number for my Y position
      • getTheme

        public final ColorTheme getTheme()
        Get the global color theme.
        Returns:
        the ColorTheme
      • isDrawable

        public final boolean isDrawable()
        See if this widget can be drawn onto a screen.
        Returns:
        true if this widget is part of the hierarchy that can draw to a screen
      • draw

        public void draw()
        Draw my specific widget. When called, the screen rectangle I draw into is already setup (offset and clipping).
      • drawChildren

        public final void drawChildren()
        Called by parent to render to TWindow.
      • doRepaint

        protected final void doRepaint()
        Repaint the screen on the next update.
      • resetTabOrder

        protected void resetTabOrder()
        Reset the tab order of children to match their position in the list. Available so that subclasses can re-order their widgets if needed.
      • activate

        public final void activate​(TWidget child)
        Switch the active child.
        Parameters:
        child - TWidget to activate
      • activate

        public final void activate​(int tabOrder)
        Switch the active child.
        Parameters:
        tabOrder - tabOrder of the child to activate. If that child isn't enabled, then the next enabled child will be activated.
      • activate

        public void activate()
        Make this widget the active child of its parent. Note that this is not final since TWindow overrides activate().
      • activateAll

        public final void activateAll()
        Make this widget, all of its parents, the active child.
      • switchWidget

        public final void switchWidget​(boolean forward)
        Switch the active widget with the next in the tab order.
        Parameters:
        forward - if true, then switch to the next enabled widget in the list, otherwise switch to the previous enabled widget in the list
      • getActiveChild

        public TWidget getActiveChild()
        Returns my active widget.
        Returns:
        widget that is active, or this if no children
      • splitVertical

        public TSplitPane splitVertical​(boolean newWidgetOnLeft,
                                        TWidget newWidget)
        Insert a vertical split between this widget and parent, and optionally put another widget in the other side of the split.
        Parameters:
        newWidgetOnLeft - if true, the new widget (if specified) will be on the left pane, and this widget will be placed on the right pane
        newWidget - the new widget to add to the other pane, or null
        Returns:
        the new split pane widget
      • splitHorizontal

        public TSplitPane splitHorizontal​(boolean newWidgetOnTop,
                                          TWidget newWidget)
        Insert a horizontal split between this widget and parent, and optionally put another widget in the other side of the split.
        Parameters:
        newWidgetOnTop - if true, the new widget (if specified) will be on the top pane, and this widget's children will be placed on the bottom pane
        newWidget - the new widget to add to the other pane, or null
        Returns:
        the new split pane widget
      • toString

        public java.lang.String toString()
        Generate a human-readable string for this widget.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a human-readable string
      • toPrettyString

        public java.lang.String toPrettyString​(java.lang.String prefix)
        Generate a string for this widget's hierarchy.
        Parameters:
        prefix - a prefix to use for this widget's place in the hierarchy
        Returns:
        a pretty-printable string of this hierarchy
      • toPrettyString

        public java.lang.String toPrettyString()
        Generate a string for this widget's hierarchy.
        Returns:
        a pretty-printable string of this hierarchy
      • getAttrXY

        public final CellAttributes getAttrXY​(int x,
                                              int y)
        Get the attributes at one location.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        Returns:
        attributes at (x, y)
      • putAttrXY

        public final void putAttrXY​(int x,
                                    int y,
                                    CellAttributes attr)
        Set the attributes at one location.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        attr - attributes to use (bold, foreColor, backColor)
      • putAttrXY

        public final void putAttrXY​(int x,
                                    int y,
                                    CellAttributes attr,
                                    boolean clip)
        Set the attributes at one location.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        attr - attributes to use (bold, foreColor, backColor)
        clip - if true, honor clipping/offset
      • putAll

        public final void putAll​(int ch,
                                 CellAttributes attr)
        Fill the entire screen with one character with attributes.
        Parameters:
        ch - character to draw
        attr - attributes to use (bold, foreColor, backColor)
      • putCharXY

        public final void putCharXY​(int x,
                                    int y,
                                    Cell ch)
        Render one character with attributes.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        ch - character + attributes to draw
      • putCharXY

        public final void putCharXY​(int x,
                                    int y,
                                    int ch,
                                    CellAttributes attr)
        Render one character with attributes.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        ch - character to draw
        attr - attributes to use (bold, foreColor, backColor)
      • putCharXY

        public final void putCharXY​(int x,
                                    int y,
                                    int ch)
        Render one character without changing the underlying attributes.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        ch - character to draw
      • putStringXY

        public final void putStringXY​(int x,
                                      int y,
                                      java.lang.String str,
                                      CellAttributes attr)
        Render a string. Does not wrap if the string exceeds the line.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        str - string to draw
        attr - attributes to use (bold, foreColor, backColor)
      • putStringXY

        public final void putStringXY​(int x,
                                      int y,
                                      java.lang.String str)
        Render a string without changing the underlying attribute. Does not wrap if the string exceeds the line.
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        str - string to draw
      • vLineXY

        public final void vLineXY​(int x,
                                  int y,
                                  int n,
                                  int ch,
                                  CellAttributes attr)
        Draw a vertical line from (x, y) to (x, y + n).
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        n - number of characters to draw
        ch - character to draw
        attr - attributes to use (bold, foreColor, backColor)
      • hLineXY

        public final void hLineXY​(int x,
                                  int y,
                                  int n,
                                  int ch,
                                  CellAttributes attr)
        Draw a horizontal line from (x, y) to (x + n, y).
        Parameters:
        x - column coordinate. 0 is the left-most column.
        y - row coordinate. 0 is the top-most row.
        n - number of characters to draw
        ch - character to draw
        attr - attributes to use (bold, foreColor, backColor)
      • drawBox

        public final void drawBox​(int left,
                                  int top,
                                  int right,
                                  int bottom,
                                  CellAttributes border,
                                  CellAttributes background)
        Draw a box with a border and empty background.
        Parameters:
        left - left column of box. 0 is the left-most row.
        top - top row of the box. 0 is the top-most row.
        right - right column of box
        bottom - bottom row of the box
        border - attributes to use for the border
        background - attributes to use for the background
      • drawBox

        public final void drawBox​(int left,
                                  int top,
                                  int right,
                                  int bottom,
                                  CellAttributes border,
                                  CellAttributes background,
                                  int borderType,
                                  boolean shadow)
        Draw a box with a border and empty background.
        Parameters:
        left - left column of box. 0 is the left-most row.
        top - top row of the box. 0 is the top-most row.
        right - right column of box
        bottom - bottom row of the box
        border - attributes to use for the border
        background - attributes to use for the background
        borderType - if 1, draw a single-line border; if 2, draw a double-line border; if 3, draw double-line top/bottom edges and single-line left/right edges (like Qmodem)
        shadow - if true, draw a "shadow" on the box
      • drawBoxShadow

        public final void drawBoxShadow​(int left,
                                        int top,
                                        int right,
                                        int bottom)
        Draw a box shadow.
        Parameters:
        left - left column of box. 0 is the left-most row.
        top - top row of the box. 0 is the top-most row.
        right - right column of box
        bottom - bottom row of the box
      • addLabel

        public final TLabel addLabel​(java.lang.String text,
                                     int x,
                                     int y)
        Convenience function to add a label to this container/window.
        Parameters:
        text - label
        x - column relative to parent
        y - row relative to parent
        Returns:
        the new label
      • addLabel

        public final TLabel addLabel​(java.lang.String text,
                                     int x,
                                     int y,
                                     TAction action)
        Convenience function to add a label to this container/window.
        Parameters:
        text - label
        x - column relative to parent
        y - row relative to parent
        action - to call when shortcut is pressed
        Returns:
        the new label
      • addLabel

        public final TLabel addLabel​(java.lang.String text,
                                     int x,
                                     int y,
                                     java.lang.String colorKey)
        Convenience function to add a label to this container/window.
        Parameters:
        text - label
        x - column relative to parent
        y - row relative to parent
        colorKey - ColorTheme key color to use for foreground text. Default is "tlabel"
        Returns:
        the new label
      • addLabel

        public final TLabel addLabel​(java.lang.String text,
                                     int x,
                                     int y,
                                     java.lang.String colorKey,
                                     TAction action)
        Convenience function to add a label to this container/window.
        Parameters:
        text - label
        x - column relative to parent
        y - row relative to parent
        colorKey - ColorTheme key color to use for foreground text. Default is "tlabel"
        action - to call when shortcut is pressed
        Returns:
        the new label
      • addLabel

        public final TLabel addLabel​(java.lang.String text,
                                     int x,
                                     int y,
                                     java.lang.String colorKey,
                                     boolean useWindowBackground)
        Convenience function to add a label to this container/window.
        Parameters:
        text - label
        x - column relative to parent
        y - row relative to parent
        colorKey - ColorTheme key color to use for foreground text. Default is "tlabel"
        useWindowBackground - if true, use the window's background color
        Returns:
        the new label
      • addLabel

        public final TLabel addLabel​(java.lang.String text,
                                     int x,
                                     int y,
                                     java.lang.String colorKey,
                                     boolean useWindowBackground,
                                     TAction action)
        Convenience function to add a label to this container/window.
        Parameters:
        text - label
        x - column relative to parent
        y - row relative to parent
        colorKey - ColorTheme key color to use for foreground text. Default is "tlabel"
        useWindowBackground - if true, use the window's background color
        action - to call when shortcut is pressed
        Returns:
        the new label
      • addButton

        public final TButton addButton​(java.lang.String text,
                                       int x,
                                       int y,
                                       TAction action)
        Convenience function to add a button to this container/window.
        Parameters:
        text - label on the button
        x - column relative to parent
        y - row relative to parent
        action - action to call when button is pressed
        Returns:
        the new button
      • addCheckBox

        public final TCheckBox addCheckBox​(int x,
                                           int y,
                                           java.lang.String label,
                                           boolean checked)
        Convenience function to add a checkbox to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        label - label to display next to (right of) the checkbox
        checked - initial check state
        Returns:
        the new checkbox
      • addCheckBox

        public final TCheckBox addCheckBox​(int x,
                                           int y,
                                           java.lang.String label,
                                           boolean checked,
                                           TAction action)
        Convenience function to add a checkbox to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        label - label to display next to (right of) the checkbox
        checked - initial check state
        action - the action to perform when the checkbox is toggled
        Returns:
        the new checkbox
      • addComboBox

        public final TComboBox addComboBox​(int x,
                                           int y,
                                           int width,
                                           java.util.List<java.lang.String> values,
                                           int valuesIndex,
                                           int maxValuesHeight,
                                           TAction updateAction)
        Convenience function to add a combobox to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible combobox width, including the down-arrow
        values - the possible values for the box, shown in the drop-down
        valuesIndex - the initial index in values, or -1 for no default value
        maxValuesHeight - the maximum height of the values drop-down when it is visible
        updateAction - action to call when a new value is selected from the list or enter is pressed in the edit field
        Returns:
        the new combobox
      • addSpinner

        public final TSpinner addSpinner​(int x,
                                         int y,
                                         TAction upAction,
                                         TAction downAction)
        Convenience function to add a spinner to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        upAction - action to call when the up arrow is clicked or pressed
        downAction - action to call when the down arrow is clicked or pressed
        Returns:
        the new spinner
      • addCalendar

        public final TCalendar addCalendar​(int x,
                                           int y,
                                           TAction updateAction)
        Convenience function to add a calendar to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        updateAction - action to call when the user changes the value of the calendar
        Returns:
        the new calendar
      • addProgressBar

        public final TProgressBar addProgressBar​(int x,
                                                 int y,
                                                 int width,
                                                 int value)
        Convenience function to add a progress bar to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of progress bar
        value - initial value of percent complete
        Returns:
        the new progress bar
      • addRadioGroup

        public final TRadioGroup addRadioGroup​(int x,
                                               int y,
                                               java.lang.String label)
        Convenience function to add a radio button group to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        label - label to display on the group box
        Returns:
        the new radio button group
      • addRadioGroup

        public final TRadioGroup addRadioGroup​(int x,
                                               int y,
                                               int width,
                                               java.lang.String label)
        Convenience function to add a radio button group to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of group
        label - label to display on the group box
      • addField

        public final TField addField​(int x,
                                     int y,
                                     int width,
                                     boolean fixed)
        Convenience function to add a text field to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible text width
        fixed - if true, the text cannot exceed the display width
        Returns:
        the new text field
      • addField

        public final TField addField​(int x,
                                     int y,
                                     int width,
                                     boolean fixed,
                                     java.lang.String text)
        Convenience function to add a text field to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible text width
        fixed - if true, the text cannot exceed the display width
        text - initial text, default is empty string
        Returns:
        the new text field
      • addField

        public final TField addField​(int x,
                                     int y,
                                     int width,
                                     boolean fixed,
                                     java.lang.String text,
                                     TAction enterAction)
        Convenience function to add a text field to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible text width
        fixed - if true, the text cannot exceed the display width
        text - initial text, default is empty string
        enterAction - function to call when enter key is pressed
        Returns:
        the new text field
      • addField

        public final TField addField​(int x,
                                     int y,
                                     int width,
                                     boolean fixed,
                                     java.lang.String text,
                                     TAction enterAction,
                                     TAction updateAction)
        Convenience function to add a text field to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible text width
        fixed - if true, the text cannot exceed the display width
        text - initial text, default is empty string
        enterAction - function to call when enter key is pressed
        updateAction - function to call when the text is updated
        Returns:
        the new text field
      • addText

        public final TText addText​(java.lang.String text,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   java.lang.String colorKey)
        Convenience function to add a scrollable text box to this container/window.
        Parameters:
        text - text on the screen
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        colorKey - ColorTheme key color to use for foreground text
        Returns:
        the new text box
      • addText

        public final TText addText​(java.lang.String text,
                                   int x,
                                   int y,
                                   int width,
                                   int height)
        Convenience function to add a scrollable text box to this container/window.
        Parameters:
        text - text on the screen
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        Returns:
        the new text box
      • addEditor

        public final TEditorWidget addEditor​(java.lang.String text,
                                             int x,
                                             int y,
                                             int width,
                                             int height)
        Convenience function to add an editable text area box to this container/window.
        Parameters:
        text - text on the screen
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        Returns:
        the new text box
      • messageBox

        public final TMessageBox messageBox​(java.lang.String title,
                                            java.lang.String caption)
        Convenience function to spawn a message box.
        Parameters:
        title - window title, will be centered along the top border
        caption - message to display. Use embedded newlines to get a multi-line box.
        Returns:
        the new message box
      • messageBox

        public final TMessageBox messageBox​(java.lang.String title,
                                            java.lang.String caption,
                                            TMessageBox.Type type)
        Convenience function to spawn a message box.
        Parameters:
        title - window title, will be centered along the top border
        caption - message to display. Use embedded newlines to get a multi-line box.
        type - one of the TMessageBox.Type constants. Default is Type.OK.
        Returns:
        the new message box
      • inputBox

        public final TInputBox inputBox​(java.lang.String title,
                                        java.lang.String caption)
        Convenience function to spawn an input box.
        Parameters:
        title - window title, will be centered along the top border
        caption - message to display. Use embedded newlines to get a multi-line box.
        Returns:
        the new input box
      • inputBox

        public final TInputBox inputBox​(java.lang.String title,
                                        java.lang.String caption,
                                        java.lang.String text)
        Convenience function to spawn an input box.
        Parameters:
        title - window title, will be centered along the top border
        caption - message to display. Use embedded newlines to get a multi-line box.
        text - initial text to seed the field with
        Returns:
        the new input box
      • inputBox

        public final TInputBox inputBox​(java.lang.String title,
                                        java.lang.String caption,
                                        java.lang.String text,
                                        TMessageBox.Type type)
        Convenience function to spawn an input box.
        Parameters:
        title - window title, will be centered along the top border
        caption - message to display. Use embedded newlines to get a multi-line box.
        text - initial text to seed the field with
        type - one of the Type constants. Default is Type.OK.
        Returns:
        the new input box
      • addPasswordField

        public final TPasswordField addPasswordField​(int x,
                                                     int y,
                                                     int width,
                                                     boolean fixed)
        Convenience function to add a password text field to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible text width
        fixed - if true, the text cannot exceed the display width
        Returns:
        the new text field
      • addPasswordField

        public final TPasswordField addPasswordField​(int x,
                                                     int y,
                                                     int width,
                                                     boolean fixed,
                                                     java.lang.String text)
        Convenience function to add a password text field to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible text width
        fixed - if true, the text cannot exceed the display width
        text - initial text, default is empty string
        Returns:
        the new text field
      • addPasswordField

        public final TPasswordField addPasswordField​(int x,
                                                     int y,
                                                     int width,
                                                     boolean fixed,
                                                     java.lang.String text,
                                                     TAction enterAction,
                                                     TAction updateAction)
        Convenience function to add a password text field to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - visible text width
        fixed - if true, the text cannot exceed the display width
        text - initial text, default is empty string
        enterAction - function to call when enter key is pressed
        updateAction - function to call when the text is updated
        Returns:
        the new text field
      • addTreeViewWidget

        public final TTreeViewWidget addTreeViewWidget​(int x,
                                                       int y,
                                                       int width,
                                                       int height)
        Convenience function to add a scrollable tree view to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of tree view
        height - height of tree view
        Returns:
        the new tree view
      • addTreeViewWidget

        public final TTreeViewWidget addTreeViewWidget​(int x,
                                                       int y,
                                                       int width,
                                                       int height,
                                                       TAction action)
        Convenience function to add a scrollable tree view to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of tree view
        height - height of tree view
        action - action to perform when an item is selected
        Returns:
        the new tree view
      • fileOpenBox

        public final java.lang.String fileOpenBox​(java.lang.String path)
                                           throws java.io.IOException
        Convenience function to spawn a file open box.
        Parameters:
        path - path of selected file
        Returns:
        the result of the new file open box
        Throws:
        java.io.IOException - if a java.io operation throws
      • fileSaveBox

        public final java.lang.String fileSaveBox​(java.lang.String path)
                                           throws java.io.IOException
        Convenience function to spawn a file save box.
        Parameters:
        path - path of selected file
        Returns:
        the result of the new file open box
        Throws:
        java.io.IOException - if a java.io operation throws
      • fileOpenBox

        public final java.lang.String fileOpenBox​(java.lang.String path,
                                                  TFileOpenBox.Type type)
                                           throws java.io.IOException
        Convenience function to spawn a file open box.
        Parameters:
        path - path of selected file
        type - one of the Type constants
        Returns:
        the result of the new file open box
        Throws:
        java.io.IOException - if a java.io operation throws
      • fileOpenBox

        public final java.lang.String fileOpenBox​(java.lang.String path,
                                                  TFileOpenBox.Type type,
                                                  java.lang.String filter)
                                           throws java.io.IOException
        Convenience function to spawn a file open box.
        Parameters:
        path - path of selected file
        type - one of the Type constants
        filter - a string that files must match to be displayed
        Returns:
        the result of the new file open box
        Throws:
        java.io.IOException - of a java.io operation throws
      • fileOpenBox

        public final java.lang.String fileOpenBox​(java.lang.String path,
                                                  TFileOpenBox.Type type,
                                                  java.util.List<java.lang.String> filters)
                                           throws java.io.IOException
        Convenience function to spawn a file open box.
        Parameters:
        path - path of selected file
        type - one of the Type constants
        filters - a list of strings that files must match to be displayed
        Returns:
        the result of the new file open box
        Throws:
        java.io.IOException - of a java.io operation throws
      • addDirectoryList

        public final TDirectoryList addDirectoryList​(java.lang.String path,
                                                     int x,
                                                     int y,
                                                     int width,
                                                     int height)
        Convenience function to add a directory list to this container/window.
        Parameters:
        path - directory path, must be a directory
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        Returns:
        the new directory list
      • addDirectoryList

        public final TDirectoryList addDirectoryList​(java.lang.String path,
                                                     int x,
                                                     int y,
                                                     int width,
                                                     int height,
                                                     TAction action)
        Convenience function to add a directory list to this container/window.
        Parameters:
        path - directory path, must be a directory
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        action - action to perform when an item is selected (enter or double-click)
        Returns:
        the new directory list
      • addDirectoryList

        public final TDirectoryList addDirectoryList​(java.lang.String path,
                                                     int x,
                                                     int y,
                                                     int width,
                                                     int height,
                                                     TAction action,
                                                     TAction singleClickAction)
        Convenience function to add a directory list to this container/window.
        Parameters:
        path - directory path, must be a directory
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        action - action to perform when an item is selected (enter or double-click)
        singleClickAction - action to perform when an item is selected (single-click)
        Returns:
        the new directory list
      • addDirectoryList

        public final TDirectoryList addDirectoryList​(java.lang.String path,
                                                     int x,
                                                     int y,
                                                     int width,
                                                     int height,
                                                     TAction action,
                                                     TAction singleClickAction,
                                                     java.util.List<java.lang.String> filters)
        Convenience function to add a directory list to this container/window.
        Parameters:
        path - directory path, must be a directory
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        action - action to perform when an item is selected (enter or double-click)
        singleClickAction - action to perform when an item is selected (single-click)
        filters - a list of strings that files must match to be displayed
        Returns:
        the new directory list
      • addList

        public final TList addList​(java.util.List<java.lang.String> strings,
                                   int x,
                                   int y,
                                   int width,
                                   int height)
        Convenience function to add a list to this container/window.
        Parameters:
        strings - list of strings to show
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        Returns:
        the new directory list
      • addList

        public final TList addList​(java.util.List<java.lang.String> strings,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   TAction enterAction)
        Convenience function to add a list to this container/window.
        Parameters:
        strings - list of strings to show
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        enterAction - action to perform when an item is selected
        Returns:
        the new directory list
      • addList

        public final TList addList​(java.util.List<java.lang.String> strings,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   TAction enterAction,
                                   TAction moveAction)
        Convenience function to add a list to this container/window.
        Parameters:
        strings - list of strings to show
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        enterAction - action to perform when an item is selected
        moveAction - action to perform when the user navigates to a new item with arrow/page keys
        Returns:
        the new directory list
      • addList

        public TList addList​(java.util.List<java.lang.String> strings,
                             int x,
                             int y,
                             int width,
                             int height,
                             TAction enterAction,
                             TAction moveAction,
                             TAction singleClickAction)
        Convenience function to add a list to this container/window.
        Parameters:
        strings - list of strings to show. This is allowed to be null and set later with setList() or by subclasses.
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        enterAction - action to perform when an item is selected
        moveAction - action to perform when the user navigates to a new item with arrow/page keys
        singleClickAction - action to perform when the user clicks on an item
      • addImage

        public final TImage addImage​(int x,
                                     int y,
                                     int width,
                                     int height,
                                     java.awt.image.BufferedImage image,
                                     int left,
                                     int top)
        Convenience function to add an image to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - number of text cells for width of the image
        height - number of text cells for height of the image
        image - the image to display
        left - left column of the image. 0 is the left-most column.
        top - top row of the image. 0 is the top-most row.
      • addImage

        public final TImage addImage​(int x,
                                     int y,
                                     int width,
                                     int height,
                                     java.awt.image.BufferedImage image,
                                     int left,
                                     int top,
                                     TAction clickAction)
        Convenience function to add an image to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - number of text cells for width of the image
        height - number of text cells for height of the image
        image - the image to display
        left - left column of the image. 0 is the left-most column.
        top - top row of the image. 0 is the top-most row.
        clickAction - function to call when mouse is pressed
      • addTable

        public TTableWidget addTable​(int x,
                                     int y,
                                     int width,
                                     int height)
        Convenience function to add an editable 2D data table to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of widget
        height - height of widget
      • addTable

        public TTableWidget addTable​(int x,
                                     int y,
                                     int width,
                                     int height,
                                     int gridColumns,
                                     int gridRows)
        Convenience function to add an editable 2D data table to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of widget
        height - height of widget
        gridColumns - number of columns in grid
        gridRows - number of rows in grid
      • addPanel

        public final TPanel addPanel​(int x,
                                     int y,
                                     int width,
                                     int height)
        Convenience function to add a panel to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        Returns:
        the new panel
      • addSplitPane

        public final TSplitPane addSplitPane​(int x,
                                             int y,
                                             int width,
                                             int height,
                                             boolean vertical)
        Convenience function to add a split pane to this container/window.
        Parameters:
        x - column relative to parent
        y - row relative to parent
        width - width of text area
        height - height of text area
        vertical - if true, split vertically
        Returns:
        the new split pane