You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/09/11 19:55:57 UTC

svn commit: r996188 - in /pivot/trunk: wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java wtk/src/org/apache/pivot/wtk/TextArea.java wtk/src/org/apache/pivot/wtk/TextInput.java wtk/src/org/apache/pivot/wtk/skin/TextAreaSkin.java

Author: gbrown
Date: Sat Sep 11 17:55:56 2010
New Revision: 996188

URL: http://svn.apache.org/viewvc?rev=996188&view=rev
Log:
TextArea/TextInput bug fixes.

Modified:
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextAreaSkin.java

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java?rev=996188&r1=996187&r2=996188&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java Sat Sep 11 17:55:56 2010
@@ -1078,6 +1078,29 @@ public class TerraTextInputSkin extends 
                 textInput.removeText(index, count);
                 consumed = true;
             }
+        } else if (keyCode == Keyboard.KeyCode.HOME
+            || (keyCode == Keyboard.KeyCode.LEFT
+                && Keyboard.isPressed(Keyboard.Modifier.META))) {
+            // Move the caret to the beginning of the text
+            if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) {
+                textInput.setSelection(0, textInput.getSelectionStart());
+            } else {
+                textInput.setSelection(0, 0);
+            }
+
+            consumed = true;
+        } else if (keyCode == Keyboard.KeyCode.END
+            || (keyCode == Keyboard.KeyCode.RIGHT
+                && Keyboard.isPressed(Keyboard.Modifier.META))) {
+            // Move the caret to the end of the text
+            if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) {
+                int selectionStart = textInput.getSelectionStart();
+                textInput.setSelection(selectionStart, textInput.getCharacterCount() - selectionStart);
+            } else {
+                textInput.setSelection(textInput.getCharacterCount(), 0);
+            }
+
+            consumed = true;
         } else if (keyCode == Keyboard.KeyCode.LEFT) {
             int selectionStart = textInput.getSelectionStart();
             int selectionLength = textInput.getSelectionLength();
@@ -1165,53 +1188,38 @@ public class TerraTextInputSkin extends 
                 scrollLeft = 0;
                 updateSelection();
             }
-        } else if (keyCode == Keyboard.KeyCode.HOME) {
-            // Move the caret to the beginning of the text
-            if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) {
-                textInput.setSelection(0, textInput.getSelectionStart());
-            } else {
-                textInput.setSelection(0, 0);
-            }
+        } else if (Keyboard.isPressed(commandModifier)) {
+            if (keyCode == Keyboard.KeyCode.A) {
+                textInput.setSelection(0, textInput.getCharacterCount());
+                consumed = true;
+            } else if (keyCode == Keyboard.KeyCode.X) {
+                if (textInput.isPassword()) {
+                    Toolkit.getDefaultToolkit().beep();
+                } else {
+                    textInput.cut();
+                }
 
-            consumed = true;
-        } else if (keyCode == Keyboard.KeyCode.END) {
-            // Move the caret to the end of the text
-            if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) {
-                int selectionStart = textInput.getSelectionStart();
-                textInput.setSelection(selectionStart, textInput.getCharacterCount()
-                    - selectionStart);
-            } else {
-                textInput.setSelection(textInput.getCharacterCount(), 0);
-            }
+                consumed = true;
+            } else if (keyCode == Keyboard.KeyCode.C) {
+                if (textInput.isPassword()) {
+                    Toolkit.getDefaultToolkit().beep();
+                } else {
+                    textInput.copy();
+                }
 
-            consumed = true;
-        } else if (keyCode == Keyboard.KeyCode.A
-            && Keyboard.isPressed(commandModifier)) {
-            // Select all
-            textInput.setSelection(0, textInput.getCharacterCount());
-            consumed = true;
-        } else if (keyCode == Keyboard.KeyCode.X
-            && Keyboard.isPressed(commandModifier)) {
-            if (textInput.isPassword()) {
-                Toolkit.getDefaultToolkit().beep();
-            } else {
-                textInput.cut();
-            }
+                consumed = true;
+            } else if (keyCode == Keyboard.KeyCode.V) {
+                textInput.paste();
+                consumed = true;
+            } else if (keyCode == Keyboard.KeyCode.Z) {
+                if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) {
+                    textInput.redo();
+                } else {
+                    textInput.undo();
+                }
 
-            consumed = true;
-        } else if (keyCode == Keyboard.KeyCode.C
-            && Keyboard.isPressed(commandModifier)) {
-            if (textInput.isPassword()) {
-                Toolkit.getDefaultToolkit().beep();
-            } else {
-                textInput.copy();
+                consumed = true;
             }
-
-            consumed = true;
-        } else if (keyCode == Keyboard.KeyCode.V
-            && Keyboard.isPressed(commandModifier)) {
-            textInput.paste();
-            consumed = true;
         } else {
             consumed = super.keyPressed(component, keyCode, keyLocation);
         }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java?rev=996188&r1=996187&r2=996188&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java Sat Sep 11 17:55:56 2010
@@ -871,6 +871,7 @@ public class TextArea extends Component 
                 if ((characterCount + text.length()) > maximumLength) {
                     Toolkit.getDefaultToolkit().beep();
                 } else {
+                    removeText(selectionStart, selectionLength);
                     insertText(text, selectionStart);
                 }
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java?rev=996188&r1=996187&r2=996188&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java Sat Sep 11 17:55:56 2010
@@ -451,6 +451,7 @@ public class TextInput extends Component
                 if ((characters.length() + text.length()) > maximumLength) {
                     Toolkit.getDefaultToolkit().beep();
                 } else {
+                    removeText(selectionStart, selectionLength);
                     insertText(text, selectionStart);
                 }
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextAreaSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextAreaSkin.java?rev=996188&r1=996187&r2=996188&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextAreaSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextAreaSkin.java Sat Sep 11 17:55:56 2010
@@ -1076,9 +1076,9 @@ public class TextAreaSkin extends Compon
             } else if (keyCode == Keyboard.KeyCode.Z
                 && textArea.isEditable()) {
                 if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) {
-                    textArea.undo();
-                } else {
                     textArea.redo();
+                } else {
+                    textArea.undo();
                 }
 
                 consumed = true;