Cut, Copy, Paste, selection forward, selection backward actions now work
for text components.

2005-11-21  Lillian Angel  <[EMAIL PROTECTED]>

        PR classpath/PR24872
        * javax/swing/text/DefaultEditorKit.java
        (actionPerformed): Implemented.
        (actionPerformed): Implemented.
        (actionPerformed): Implemented.
        (actionPerformed): Implemented.
        * javax/swing/text/JTextComponent.java
        (JTextComponent): Added key bindings for cut, copy,
        paste, selectionBackwardAction, selectionForwardAction.

Index: javax/swing/text/DefaultEditorKit.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/DefaultEditorKit.java,v
retrieving revision 1.24
diff -u -r1.24 DefaultEditorKit.java
--- javax/swing/text/DefaultEditorKit.java	21 Nov 2005 16:09:30 -0000	1.24
+++ javax/swing/text/DefaultEditorKit.java	21 Nov 2005 20:54:54 -0000
@@ -112,8 +112,7 @@
      */
     public void actionPerformed(ActionEvent event)
     {
-      // FIXME: Implement me. Tookit.getSystemClipboard should be used
-      // for that.
+      getTextComponent(event).copy();
     }
   }
 
@@ -144,8 +143,7 @@
      */
     public void actionPerformed(ActionEvent event)
     {
-      // FIXME: Implement me. Tookit.getSystemClipboard should be used
-      // for that.
+      getTextComponent(event).cut();
     }
   }
 
@@ -174,8 +172,7 @@
      */
     public void actionPerformed(ActionEvent event)
     {
-      // FIXME: Implement me. Tookit.getSystemClipboard should be used
-      // for that.
+      getTextComponent(event).paste();
     }
   }
 
@@ -299,7 +296,8 @@
      */
     public void actionPerformed(ActionEvent event)
     {
-      // FIXME: Implement this.
+      JTextComponent t = getTextComponent(event);
+      t.replaceSelection("\t");
     }
   }
 
Index: javax/swing/text/JTextComponent.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/JTextComponent.java,v
retrieving revision 1.45
diff -u -r1.45 JTextComponent.java
--- javax/swing/text/JTextComponent.java	3 Nov 2005 19:40:36 -0000	1.45
+++ javax/swing/text/JTextComponent.java	21 Nov 2005 20:54:55 -0000
@@ -921,17 +921,33 @@
     
     // need to do this after updateUI()
     if (creatingKeymap)
-      loadKeymap(defkeymap, 
-                 new KeyBinding[] { 
-                   new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0),
-                                  DefaultEditorKit.backwardAction),
-                   new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0),
-                                  DefaultEditorKit.forwardAction),
-                   new KeyBinding(KeyStroke.getKeyStroke("typed \b"),
-                                  DefaultEditorKit.deletePrevCharAction),
-                   new KeyBinding(KeyStroke.getKeyStroke("typed \u007f"),
-                                  DefaultEditorKit.deleteNextCharAction)                   
-                 },
+      loadKeymap(
+                 defkeymap,
+                 new KeyBinding[] {
+                     new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0),
+                                    DefaultEditorKit.backwardAction),
+                     new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0),
+                                    DefaultEditorKit.forwardAction),
+                     new KeyBinding(KeyStroke.getKeyStroke("typed \b"),
+                                    DefaultEditorKit.deletePrevCharAction),
+                     new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_X, 
+                                                           KeyEvent.CTRL_DOWN_MASK),
+                                    DefaultEditorKit.cutAction),
+                     new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_C, 
+                                                           KeyEvent.CTRL_DOWN_MASK),
+                                    DefaultEditorKit.copyAction),
+                     new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_V, 
+                                                           KeyEvent.CTRL_DOWN_MASK),
+                                    DefaultEditorKit.pasteAction),
+                     new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 
+                                                            KeyEvent.SHIFT_DOWN_MASK),
+                                     DefaultEditorKit.selectionBackwardAction),
+                     new KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 
+                                                           KeyEvent.SHIFT_DOWN_MASK),
+                                    DefaultEditorKit.selectionForwardAction),
+                     new KeyBinding(KeyStroke.getKeyStroke("typed \u007f"),
+                                    DefaultEditorKit.deleteNextCharAction)
+                                    },
                  getActions());
   }
 
_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to