IDEA-80623
authorDmitry Jemerov <yole@jetbrains.com>
Tue, 31 Jan 2012 11:29:25 +0000 (12:29 +0100)
committerDmitry Jemerov <yole@jetbrains.com>
Tue, 31 Jan 2012 11:29:25 +0000 (12:29 +0100)
platform/platform-api/src/com/intellij/openapi/actionSystem/KeyboardModifierGestureShortcut.java [moved from platform/platform-api/src/com/intellij/openapi/actionSystem/KeyboardModifierGestureShortuct.java with 84% similarity]
platform/platform-api/src/com/intellij/openapi/keymap/KeymapUtil.java
platform/platform-impl/src/com/intellij/openapi/keymap/impl/KeymapImpl.java
platform/platform-impl/src/com/intellij/openapi/keymap/impl/keyGestures/KeyboardGestureProcessor.java

similarity index 84%
rename from platform/platform-api/src/com/intellij/openapi/actionSystem/KeyboardModifierGestureShortuct.java
rename to platform/platform-api/src/com/intellij/openapi/actionSystem/KeyboardModifierGestureShortcut.java
index 03a78793101f40971118c4b8fd22cdc1138fa510..9f607cee4c30866175309bc297a54a8bd1063997 100644 (file)
@@ -17,7 +17,7 @@ package com.intellij.openapi.actionSystem;
 
 import javax.swing.*;
 
-public class KeyboardModifierGestureShortuct extends Shortcut {
+public class KeyboardModifierGestureShortcut extends Shortcut {
 
   private final KeyStroke myStroke;
   private final KeyboardGestureAction.ModifierType myType;
@@ -33,7 +33,7 @@ public class KeyboardModifierGestureShortuct extends Shortcut {
     throw new IllegalArgumentException(type.toString());
   }
 
-  protected KeyboardModifierGestureShortuct(final KeyStroke stroke, KeyboardGestureAction.ModifierType type) {
+  protected KeyboardModifierGestureShortcut(final KeyStroke stroke, KeyboardGestureAction.ModifierType type) {
     myStroke = stroke;
     myType = type;
   }
@@ -51,9 +51,9 @@ public class KeyboardModifierGestureShortuct extends Shortcut {
   }
 
   public boolean startsWith(final Shortcut sc) {
-    if (!(sc instanceof KeyboardModifierGestureShortuct)) return false;
+    if (!(sc instanceof KeyboardModifierGestureShortcut)) return false;
 
-    final KeyboardModifierGestureShortuct other = (KeyboardModifierGestureShortuct)sc;
+    final KeyboardModifierGestureShortcut other = (KeyboardModifierGestureShortcut)sc;
     if (myType.equals(other.myType)) {
       if (myStroke.getModifiers() != other.myStroke.getModifiers()) return false;
       return other.myStroke.getKeyCode() != -1 || other.myStroke.getKeyCode() == myStroke.getKeyCode();
@@ -67,7 +67,7 @@ public class KeyboardModifierGestureShortuct extends Shortcut {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
 
-    final KeyboardModifierGestureShortuct that = (KeyboardModifierGestureShortuct)o;
+    final KeyboardModifierGestureShortcut that = (KeyboardModifierGestureShortcut)o;
 
     if (myStroke != null ? !myStroke.equals(that.myStroke) : that.myStroke != null) return false;
     if (myType != that.myType) return false;
@@ -83,13 +83,13 @@ public class KeyboardModifierGestureShortuct extends Shortcut {
     return result;
   }
 
-  public static class DblClick extends KeyboardModifierGestureShortuct {
+  public static class DblClick extends KeyboardModifierGestureShortcut {
     public DblClick(final KeyStroke stroke) {
       super(stroke, KeyboardGestureAction.ModifierType.dblClick);
     }
   }
 
-  public static class Hold extends KeyboardModifierGestureShortuct {
+  public static class Hold extends KeyboardModifierGestureShortcut {
     public Hold(final KeyStroke stroke) {
       super(stroke, KeyboardGestureAction.ModifierType.hold);
     }
index b64f0c369cbb558ca24fa08860f8b5bf5d5ec331..f835adb1faae17982c7b4d732d9214e16ee6e96d 100644 (file)
@@ -84,6 +84,11 @@ public class KeymapUtil {
       MouseShortcut mouseShortcut = (MouseShortcut)shortcut;
       s = getMouseShortcutText(mouseShortcut.getButton(), mouseShortcut.getModifiers(), mouseShortcut.getClickCount());
     }
+    else if (shortcut instanceof KeyboardModifierGestureShortcut) {
+      final KeyboardModifierGestureShortcut gestureShortcut = (KeyboardModifierGestureShortcut)shortcut;
+      s = gestureShortcut.getType() == KeyboardGestureAction.ModifierType.dblClick ? "Press, release and hold " : "Hold ";
+      s += getKeystrokeText(gestureShortcut.getStroke());
+    }
     else {
       throw new IllegalArgumentException("unknown shortcut class: " + shortcut.getClass().getCanonicalName());
     }
index da276bf67f19bdce30901ba05dea790d9446aaa0..3441358e9575250caa91f412b5f542498e6cfda7 100644 (file)
@@ -87,7 +87,7 @@ public class KeymapImpl implements Keymap, ExternalizableScheme {
    * Don't use this field directly! Use it only through <code>getKeystroke2ListOfIds</code>.
    */
   private Map<KeyStroke, List<String>> myKeystroke2ListOfIds = null;
-  private Map<KeyboardModifierGestureShortuct, List<String>> myGesture2ListOfIds = null;
+  private Map<KeyboardModifierGestureShortcut, List<String>> myGesture2ListOfIds = null;
   // TODO[vova,anton] it should be final member
 
   /**
@@ -276,10 +276,10 @@ public class KeymapImpl implements Keymap, ExternalizableScheme {
     return myKeystroke2ListOfIds;
   }
 
-  private Map<KeyboardModifierGestureShortuct, List<String>> getGesture2ListOfIds() {
+  private Map<KeyboardModifierGestureShortcut, List<String>> getGesture2ListOfIds() {
     if (myGesture2ListOfIds == null) {
-      myGesture2ListOfIds = new THashMap<KeyboardModifierGestureShortuct, List<String>>();
-      fillShortcut2ListOfIds(myGesture2ListOfIds, KeyboardModifierGestureShortuct.class);
+      myGesture2ListOfIds = new THashMap<KeyboardModifierGestureShortcut, List<String>>();
+      fillShortcut2ListOfIds(myGesture2ListOfIds, KeyboardModifierGestureShortcut.class);
     }
     return myGesture2ListOfIds;
   }
@@ -364,23 +364,23 @@ public class KeymapImpl implements Keymap, ExternalizableScheme {
     return myParent.getActionIds(firstKeyStroke);
   }
 
-  protected String[] getParentActionIds(KeyboardModifierGestureShortuct gesture) {
+  protected String[] getParentActionIds(KeyboardModifierGestureShortcut gesture) {
     return myParent.getActionIds(gesture);
   }
 
-  private String[] getActionIds(KeyboardModifierGestureShortuct shortuct) {
+  private String[] getActionIds(KeyboardModifierGestureShortcut shortcut) {
     // first, get keystrokes from own map
-    final Map<KeyboardModifierGestureShortuct, List<String>> map = getGesture2ListOfIds();
+    final Map<KeyboardModifierGestureShortcut, List<String>> map = getGesture2ListOfIds();
     List<String> list = new ArrayList<String>();
 
-    for (Map.Entry<KeyboardModifierGestureShortuct, List<String>> entry : map.entrySet()) {
-      if (shortuct.startsWith(entry.getKey())) {
+    for (Map.Entry<KeyboardModifierGestureShortcut, List<String>> entry : map.entrySet()) {
+      if (shortcut.startsWith(entry.getKey())) {
         list.addAll(entry.getValue());
       }
     }
 
     if (myParent != null) {
-      String[] ids = getParentActionIds(shortuct);
+      String[] ids = getParentActionIds(shortcut);
       if (ids.length > 0) {
         for (String id : ids) {
           // add actions from parent keymap only if they are absent in this keymap
@@ -449,8 +449,8 @@ public class KeymapImpl implements Keymap, ExternalizableScheme {
     else if (shortcut instanceof MouseShortcut) {
       return getActionIds((MouseShortcut)shortcut);
     }
-    else if (shortcut instanceof KeyboardModifierGestureShortuct) {
-      return getActionIds((KeyboardModifierGestureShortuct)shortcut);
+    else if (shortcut instanceof KeyboardModifierGestureShortcut) {
+      return getActionIds((KeyboardModifierGestureShortcut)shortcut);
     }
     else {
       return ArrayUtil.EMPTY_STRING_ARRAY;
@@ -618,7 +618,7 @@ public class KeymapImpl implements Keymap, ExternalizableScheme {
               throw new InvalidDataException("Wrong modifier=" + modifierText + " action id=" + id + " keymap=" + myName);
             }
 
-            Shortcut shortcut = KeyboardModifierGestureShortuct.newInstance(modifier, stroke);
+            Shortcut shortcut = KeyboardModifierGestureShortcut.newInstance(modifier, stroke);
             final ArrayList<Shortcut> shortcuts = id2shortcuts.get(id);
             shortcuts.add(shortcut);
           }
@@ -693,8 +693,8 @@ public class KeymapImpl implements Keymap, ExternalizableScheme {
           element.setAttribute(KEYSTROKE_ATTRIBUTE, getMouseShortcutString(mouseShortcut));
           actionElement.addContent(element);
         }
-        else if (shortcut instanceof KeyboardModifierGestureShortuct) {
-          final KeyboardModifierGestureShortuct gesture = (KeyboardModifierGestureShortuct)shortcut;
+        else if (shortcut instanceof KeyboardModifierGestureShortcut) {
+          final KeyboardModifierGestureShortcut gesture = (KeyboardModifierGestureShortcut)shortcut;
           final Element element = new Element(KEYBOARD_GESTURE_SHORTCUT);
           element.setAttribute(KEYBOARD_GESTURE_SHORTCUT, getKeyShortcutString(gesture.getStroke()));
           element.setAttribute(KEYBOARD_GESTURE_MODIFIER, gesture.getType().name());
index c6d1d32066ee21382aed9c9c085994e7094e4372..9dd19e1ac0872efcdec69e4f2613274c19cb389c 100644 (file)
@@ -94,7 +94,7 @@ public class KeyboardGestureProcessor {
   }
 
   private Shortcut getCurrentShortcut() {
-    return KeyboardModifierGestureShortuct.newInstance(myContext.modifierType, myContext.actionShortcut);
+    return KeyboardModifierGestureShortcut.newInstance(myContext.modifierType, myContext.actionShortcut);
   }
 
   void setState(KeyGestureState state) {