color chooser widget
[nikiroo-utils.git] / src / jexer / TWidget.java
index 29b6c72217e546abe52fb58749e97dd1b89a9d0d..dffa9e1ccf465e5dd0c401f66a6a84701c135f29 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * Jexer - Java Text User Interface
  *
  * License: LGPLv3 or later
@@ -371,7 +371,7 @@ public abstract class TWidget implements Comparable<TWidget> {
     }
 
     /**
-     * Comparison operator sorts on:
+     * Comparison operator.  For various subclasses it sorts on:
      * <ul>
      * <li>tabOrder for TWidgets</li>
      * <li>z for TWindows</li>
@@ -762,8 +762,7 @@ public abstract class TWidget implements Comparable<TWidget> {
     public void onKeypress(final TKeypressEvent keypress) {
 
         if ((children.size() == 0)
-            // TODO
-            // || (cast(TTreeView)this)
+            || (this instanceof TTreeView)
             || (this instanceof TText)
         ) {
 
@@ -1290,6 +1289,7 @@ public abstract class TWidget implements Comparable<TWidget> {
      * @param y row relative to parent
      * @param width width of tree view
      * @param height height of tree view
+     * @return the new tree view
      */
     public final TTreeView addTreeView(final int x, final int y,
         final int width, final int height) {
@@ -1305,6 +1305,7 @@ public abstract class TWidget implements Comparable<TWidget> {
      * @param width width of tree view
      * @param height height of tree view
      * @param action action to perform when an item is selected
+     * @return the new tree view
      */
     public final TTreeView addTreeView(final int x, final int y,
         final int width, final int height, final TAction action) {
@@ -1317,6 +1318,7 @@ public abstract class TWidget implements Comparable<TWidget> {
      *
      * @param path path of selected file
      * @return the result of the new file open box
+     * @throws IOException if a java.io operation throws
      */
     public final String fileOpenBox(final String path) throws IOException {
         return getApplication().fileOpenBox(path);
@@ -1328,6 +1330,7 @@ public abstract class TWidget implements Comparable<TWidget> {
      * @param path path of selected file
      * @param type one of the Type constants
      * @return the result of the new file open box
+     * @throws IOException if a java.io operation throws
      */
     public final String fileOpenBox(final String path,
         final TFileOpenBox.Type type) throws IOException {
@@ -1342,6 +1345,7 @@ public abstract class TWidget implements Comparable<TWidget> {
      * @param y row relative to parent
      * @param width width of text area
      * @param height height of text area
+     * @return the new directory list
      */
     public final TDirectoryList addDirectoryList(final String path, final int x,
         final int y, final int width, final int height) {
@@ -1358,6 +1362,7 @@ public abstract class TWidget implements Comparable<TWidget> {
      * @param width width of text area
      * @param height height of text area
      * @param action action to perform when an item is selected
+     * @return the new directory list
      */
     public final TDirectoryList addDirectoryList(final String path, final int x,
         final int y, final int width, final int height, final TAction action) {
@@ -1365,4 +1370,59 @@ public abstract class TWidget implements Comparable<TWidget> {
         return new TDirectoryList(this, path, x, y, width, height, action);
     }
 
+    /**
+     * Convenience function to add a directory list to this container/window.
+     *
+     * @param strings list of strings to show
+     * @param x column relative to parent
+     * @param y row relative to parent
+     * @param width width of text area
+     * @param height height of text area
+     * @return the new directory list
+     */
+    public final TList addList(final List<String> strings, final int x,
+        final int y, final int width, final int height) {
+
+        return new TList(this, strings, x, y, width, height, null);
+    }
+
+    /**
+     * Convenience function to add a directory list to this container/window.
+     *
+     * @param strings list of strings to show
+     * @param x column relative to parent
+     * @param y row relative to parent
+     * @param width width of text area
+     * @param height height of text area
+     * @param enterAction action to perform when an item is selected
+     * @return the new directory list
+     */
+    public final TList addList(final List<String> strings, final int x,
+        final int y, final int width, final int height,
+        final TAction enterAction) {
+
+        return new TList(this, strings, x, y, width, height, enterAction);
+    }
+
+    /**
+     * Convenience function to add a directory list to this container/window.
+     *
+     * @param strings list of strings to show
+     * @param x column relative to parent
+     * @param y row relative to parent
+     * @param width width of text area
+     * @param height height of text area
+     * @param enterAction action to perform when an item is selected
+     * @param moveAction action to perform when the user navigates to a new
+     * item with arrow/page keys
+     * @return the new directory list
+     */
+    public final TList addList(final List<String> strings, final int x,
+        final int y, final int width, final int height,
+        final TAction enterAction, final TAction moveAction) {
+
+        return new TList(this, strings, x, y, width, height, enterAction,
+            moveAction);
+    }
+
 }