TFileOpenBox working
[fanfix.git] / src / jexer / TField.java
index 406c57567bc2871e6c13e1bed93c275ef4b75ce8..9a3d16b5832e12514973c2a1bed795d9ef86ebff 100644 (file)
@@ -55,6 +55,17 @@ public class TField extends TWidget {
         return text;
     }
 
+    /**
+     * Set field text.
+     *
+     * @param text the new field text
+     */
+    public final void setText(String text) {
+        this.text = text;
+        position = 0;
+        windowStart = 0;
+    }
+
     /**
      * If true, only allow enough characters that will fit in the width.  If
      * false, allow the field to scroll to the right.
@@ -139,13 +150,9 @@ public class TField extends TWidget {
         final TAction enterAction, final TAction updateAction) {
 
         // Set parent and window
-        super(parent);
-        setX(x);
-        setY(y);
-        setHeight(1);
-        setWidth(width);
-        setHasCursor(true);
+        super(parent, x, y, width, 1);
 
+        setCursorVisible(true);
         this.fixed = fixed;
         this.text = text;
         this.enterAction = enterAction;
@@ -194,7 +201,7 @@ public class TField extends TWidget {
     public void draw() {
         CellAttributes fieldColor;
 
-        if (getAbsoluteActive()) {
+        if (isAbsoluteActive()) {
             fieldColor = getTheme().getColor("tfield.active");
         } else {
             fieldColor = getTheme().getColor("tfield.inactive");
@@ -205,7 +212,7 @@ public class TField extends TWidget {
             end = text.length();
         }
         getScreen().hLineXY(0, 0, getWidth(), GraphicsChars.HATCH, fieldColor);
-        getScreen().putStrXY(0, 0, text.substring(windowStart, end),
+        getScreen().putStringXY(0, 0, text.substring(windowStart, end),
             fieldColor);
 
         // Fix the cursor, it will be rendered by TApplication.drawAll().
@@ -234,7 +241,7 @@ public class TField extends TWidget {
     public void onMouseDown(final TMouseEvent mouse) {
         this.mouse = mouse;
 
-        if ((mouseOnField()) && (mouse.getMouse1())) {
+        if ((mouseOnField()) && (mouse.isMouse1())) {
             // Move cursor
             int deltaX = mouse.getX() - getCursorX();
             position += deltaX;
@@ -337,16 +344,16 @@ public class TField extends TWidget {
             return;
         }
 
-        if (!keypress.getKey().getIsKey()
-            && !keypress.getKey().getAlt()
-            && !keypress.getKey().getCtrl()
+        if (!keypress.getKey().isFnKey()
+            && !keypress.getKey().isAlt()
+            && !keypress.getKey().isCtrl()
         ) {
             // Plain old keystroke, process it
             if ((position == text.length())
                 && (text.length() < getWidth())) {
 
                 // Append case
-                appendChar(keypress.getKey().getCh());
+                appendChar(keypress.getKey().getChar());
             } else if ((position < text.length())
                 && (text.length() < getWidth())) {
 
@@ -354,12 +361,12 @@ public class TField extends TWidget {
                 if (insertMode == false) {
                     // Replace character
                     text = text.substring(0, position)
-                            + keypress.getKey().getCh()
+                            + keypress.getKey().getChar()
                             + text.substring(position + 1);
                     position++;
                 } else {
                     // Insert character
-                    insertChar(keypress.getKey().getCh());
+                    insertChar(keypress.getKey().getChar());
                 }
             } else if ((position < text.length())
                 && (text.length() >= getWidth())) {
@@ -370,7 +377,7 @@ public class TField extends TWidget {
                 } else if ((fixed == true) && (insertMode == false)) {
                     // Overwrite the last character, maybe move position
                     text = text.substring(0, position)
-                            + keypress.getKey().getCh()
+                            + keypress.getKey().getChar()
                             + text.substring(position + 1);
                     if (position < getWidth() - 1) {
                         position++;
@@ -378,23 +385,23 @@ public class TField extends TWidget {
                 } else if ((fixed == false) && (insertMode == false)) {
                     // Overwrite the last character, definitely move position
                     text = text.substring(0, position)
-                            + keypress.getKey().getCh()
+                            + keypress.getKey().getChar()
                             + text.substring(position + 1);
                     position++;
                 } else {
                     if (position == text.length()) {
                         // Append this character
-                        appendChar(keypress.getKey().getCh());
+                        appendChar(keypress.getKey().getChar());
                     } else {
                         // Insert this character
-                        insertChar(keypress.getKey().getCh());
+                        insertChar(keypress.getKey().getChar());
                     }
                 }
             } else {
                 assert (!fixed);
 
                 // Append this character
-                appendChar(keypress.getKey().getCh());
+                appendChar(keypress.getKey().getChar());
             }
             dispatch(false);
             return;