]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.g2d/src/org/simantics/g2d/event/adapter/SWTKeyEventAdapter.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.g2d / src / org / simantics / g2d / event / adapter / SWTKeyEventAdapter.java
index 31751479147543dab79c2f9d4c348782d34366ce..ce36ba2c97ae56edf5a6ba74eee9bcc421abc634 100644 (file)
-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- *     VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-/*\r
- *\r
- * @author Toni Kalajainen\r
- */\r
-package org.simantics.g2d.event.adapter;\r
-\r
-import java.awt.event.KeyEvent;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.KeyListener;\r
-import org.simantics.scenegraph.g2d.events.Event;\r
-import org.simantics.scenegraph.g2d.events.EventDebugPolicy;\r
-import org.simantics.scenegraph.g2d.events.IEventHandler;\r
-import org.simantics.scenegraph.g2d.events.IEventQueue;\r
-import org.simantics.scenegraph.g2d.events.KeyEvent.KeyPressedEvent;\r
-import org.simantics.scenegraph.g2d.events.KeyEvent.KeyReleasedEvent;\r
-import org.simantics.scenegraph.g2d.events.adapter.AbstractEventAdapter;\r
-\r
-/**\r
- * Adapts SWT key events to G2D Event\r
- *\r
- * @see Event\r
- * @author Toni Kalajainen\r
- */\r
-public class SWTKeyEventAdapter extends AbstractEventAdapter implements KeyListener {\r
-\r
-    private final boolean DEBUG = EventDebugPolicy.SWT_KEY_EVENT_ADAPTION;\r
-\r
-    public SWTKeyEventAdapter(Object sender, IEventHandler delegator) {\r
-        super(sender, delegator);\r
-    }\r
-\r
-    public SWTKeyEventAdapter(Object sender, IEventQueue queue) {\r
-        super(sender, queue);\r
-    }\r
-\r
-    @Override\r
-    public void keyPressed(org.eclipse.swt.events.KeyEvent e) {\r
-        if (DEBUG)\r
-            System.out.println("SWT key pressed: " + e);\r
-        handleEvent(\r
-                new KeyPressedEvent(sender, e.time, e.character, adaptSWTKeyCodeToAWTKeyCode(e.keyCode), adaptSWTModifierToAWTModifier(e.stateMask)));\r
-    }\r
-\r
-    @Override\r
-    public void keyReleased(org.eclipse.swt.events.KeyEvent e) {\r
-        if (DEBUG)\r
-            System.out.println("SWT key released: " + e);\r
-        handleEvent(\r
-                new KeyReleasedEvent(sender, e.time, e.character, adaptSWTKeyCodeToAWTKeyCode(e.keyCode), adaptSWTModifierToAWTModifier(e.stateMask)));\r
-    }\r
-\r
-    public static int adaptSWTKeyCodeToAWTKeyCode(int swtKeyCode)\r
-    {\r
-        int c = swtKeyCode;\r
-\r
-\r
-        if (swtKeyCode>=KeyEvent.VK_A+0x20 && swtKeyCode<=KeyEvent.VK_Z+0x20)\r
-            return swtKeyCode - 0x20;\r
-\r
-        switch(swtKeyCode) {\r
-            case SWT.ARROW_UP: return KeyEvent.VK_UP;\r
-            case SWT.ARROW_DOWN: return KeyEvent.VK_DOWN;\r
-            case SWT.ARROW_LEFT: return KeyEvent.VK_LEFT;\r
-            case SWT.ARROW_RIGHT: return KeyEvent.VK_RIGHT;\r
-            case SWT.PAGE_UP: return KeyEvent.VK_PAGE_UP;\r
-            case SWT.PAGE_DOWN: return KeyEvent.VK_PAGE_DOWN;\r
-            case SWT.HOME: return KeyEvent.VK_HOME;\r
-            case SWT.END: return KeyEvent.VK_END;\r
-            case SWT.INSERT: return KeyEvent.VK_INSERT;\r
-            case SWT.F1: return KeyEvent.VK_F1;\r
-            case SWT.F2: return KeyEvent.VK_F2;\r
-            case SWT.F3: return KeyEvent.VK_F3;\r
-            case SWT.F4: return KeyEvent.VK_F4;\r
-            case SWT.F5: return KeyEvent.VK_F5;\r
-            case SWT.F6: return KeyEvent.VK_F6;\r
-            case SWT.F7: return KeyEvent.VK_F7;\r
-            case SWT.F8: return KeyEvent.VK_F8;\r
-            case SWT.F9: return KeyEvent.VK_F9;\r
-            case SWT.F10: return KeyEvent.VK_F10;\r
-            case SWT.F11: return KeyEvent.VK_F11;\r
-            case SWT.F12: return KeyEvent.VK_F12;\r
-            case SWT.F13: return KeyEvent.VK_F13;\r
-            case SWT.F14: return KeyEvent.VK_F14;\r
-            case SWT.F15: return KeyEvent.VK_F15;\r
-            case SWT.KEYPAD_MULTIPLY: return KeyEvent.VK_MULTIPLY;\r
-            case SWT.KEYPAD_ADD: return KeyEvent.VK_ADD;\r
-            case SWT.KEYPAD_SUBTRACT: return KeyEvent.VK_SUBTRACT;\r
-            case SWT.KEYPAD_DECIMAL: return KeyEvent.VK_DECIMAL;\r
-            case SWT.KEYPAD_DIVIDE: return KeyEvent.VK_DIVIDE;\r
-            case SWT.KEYPAD_0: return KeyEvent.VK_NUMPAD0;\r
-            case SWT.KEYPAD_1: return KeyEvent.VK_NUMPAD1;\r
-            case SWT.KEYPAD_2: return KeyEvent.VK_NUMPAD2;\r
-            case SWT.KEYPAD_3: return KeyEvent.VK_NUMPAD3;\r
-            case SWT.KEYPAD_4: return KeyEvent.VK_NUMPAD4;\r
-            case SWT.KEYPAD_5: return KeyEvent.VK_NUMPAD5;\r
-            case SWT.KEYPAD_6: return KeyEvent.VK_NUMPAD6;\r
-            case SWT.KEYPAD_7: return KeyEvent.VK_NUMPAD7;\r
-            case SWT.KEYPAD_8: return KeyEvent.VK_NUMPAD8;\r
-            case SWT.KEYPAD_9: return KeyEvent.VK_NUMPAD9;\r
-            case SWT.KEYPAD_EQUAL: return KeyEvent.VK_EQUALS;\r
-            case SWT.KEYPAD_CR: return KeyEvent.VK_ENTER; // wrong?\r
-            case SWT.HELP: return KeyEvent.VK_HELP;\r
-            case SWT.CAPS_LOCK: return KeyEvent.VK_CAPS_LOCK;\r
-            case SWT.NUM_LOCK: return KeyEvent.VK_NUM_LOCK;\r
-            case SWT.SCROLL_LOCK: return KeyEvent.VK_NUM_LOCK;\r
-            case SWT.PAUSE: return KeyEvent.VK_PAUSE;\r
-            //case SWT.BREAK: return KeyEvent.vk_\r
-            case SWT.PRINT_SCREEN: return KeyEvent.VK_PRINTSCREEN;\r
-\r
-            case SWT.DEL: return KeyEvent.VK_DELETE;\r
-            case SWT.CR: return KeyEvent.VK_ENTER;\r
-            case SWT.ESC: return KeyEvent.VK_ESCAPE;\r
-            case SWT.TAB: return KeyEvent.VK_TAB;\r
-            case SWT.ALT: return KeyEvent.VK_ALT;\r
-            case SWT.SHIFT: return KeyEvent.VK_SHIFT;\r
-            case SWT.CTRL: return KeyEvent.VK_CONTROL;\r
-            case SWT.COMMAND: return KeyEvent.VK_META;\r
-            case SWT.BS: return KeyEvent.VK_BACK_SPACE;\r
-            //case SWT.: return KeyEvent.VK_;\r
-\r
-        }\r
-        if (c>=0 && c<255) return c;\r
-\r
-        // Guess :G\r
-        return c;\r
-    }\r
-\r
-    public static int adaptSWTModifierToAWTModifier(int swtModifier)\r
-    {\r
-        int c = swtModifier;\r
-        int result = 0;\r
-\r
-        boolean alt = (c & SWT.ALT) != 0;\r
-        boolean ctrl = (c & SWT.CTRL) != 0;\r
-        boolean shift = (c & SWT.SHIFT) != 0;\r
-        boolean command = (c & SWT.COMMAND) != 0;\r
-\r
-        if (alt)         result |= KeyEvent.ALT_DOWN_MASK       | KeyEvent.ALT_MASK;\r
-        if (ctrl)        result |= KeyEvent.CTRL_DOWN_MASK      | KeyEvent.CTRL_MASK;\r
-        if (alt && ctrl) result |= KeyEvent.ALT_GRAPH_DOWN_MASK | KeyEvent.ALT_GRAPH_MASK;\r
-        if (shift)       result |= KeyEvent.SHIFT_DOWN_MASK     | KeyEvent.SHIFT_MASK;\r
-        if (command)     result |= KeyEvent.META_DOWN_MASK      | KeyEvent.META_MASK;\r
-\r
-        return result;\r
-    }\r
-\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+/*
+ *
+ * @author Toni Kalajainen
+ */
+package org.simantics.g2d.event.adapter;
+
+import java.awt.event.KeyEvent;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyListener;
+import org.simantics.scenegraph.g2d.events.Event;
+import org.simantics.scenegraph.g2d.events.EventDebugPolicy;
+import org.simantics.scenegraph.g2d.events.IEventHandler;
+import org.simantics.scenegraph.g2d.events.IEventQueue;
+import org.simantics.scenegraph.g2d.events.KeyEvent.KeyPressedEvent;
+import org.simantics.scenegraph.g2d.events.KeyEvent.KeyReleasedEvent;
+import org.simantics.scenegraph.g2d.events.adapter.AbstractEventAdapter;
+
+/**
+ * Adapts SWT key events to G2D Event
+ *
+ * @see Event
+ * @author Toni Kalajainen
+ */
+public class SWTKeyEventAdapter extends AbstractEventAdapter implements KeyListener {
+
+    private final boolean DEBUG = EventDebugPolicy.SWT_KEY_EVENT_ADAPTION;
+
+    public SWTKeyEventAdapter(Object sender, IEventHandler delegator) {
+        super(sender, delegator);
+    }
+
+    public SWTKeyEventAdapter(Object sender, IEventQueue queue) {
+        super(sender, queue);
+    }
+
+    @Override
+    public void keyPressed(org.eclipse.swt.events.KeyEvent e) {
+        if (DEBUG)
+            System.out.println("SWT key pressed: " + e);
+        handleEvent(
+                new KeyPressedEvent(sender, e.time, e.character, adaptSWTKeyCodeToAWTKeyCode(e.keyCode), adaptSWTModifierToAWTModifier(e.stateMask)));
+    }
+
+    @Override
+    public void keyReleased(org.eclipse.swt.events.KeyEvent e) {
+        if (DEBUG)
+            System.out.println("SWT key released: " + e);
+        handleEvent(
+                new KeyReleasedEvent(sender, e.time, e.character, adaptSWTKeyCodeToAWTKeyCode(e.keyCode), adaptSWTModifierToAWTModifier(e.stateMask)));
+    }
+
+    public static int adaptSWTKeyCodeToAWTKeyCode(int swtKeyCode)
+    {
+        int c = swtKeyCode;
+
+
+        if (swtKeyCode>=KeyEvent.VK_A+0x20 && swtKeyCode<=KeyEvent.VK_Z+0x20)
+            return swtKeyCode - 0x20;
+
+        switch(swtKeyCode) {
+            case SWT.ARROW_UP: return KeyEvent.VK_UP;
+            case SWT.ARROW_DOWN: return KeyEvent.VK_DOWN;
+            case SWT.ARROW_LEFT: return KeyEvent.VK_LEFT;
+            case SWT.ARROW_RIGHT: return KeyEvent.VK_RIGHT;
+            case SWT.PAGE_UP: return KeyEvent.VK_PAGE_UP;
+            case SWT.PAGE_DOWN: return KeyEvent.VK_PAGE_DOWN;
+            case SWT.HOME: return KeyEvent.VK_HOME;
+            case SWT.END: return KeyEvent.VK_END;
+            case SWT.INSERT: return KeyEvent.VK_INSERT;
+            case SWT.F1: return KeyEvent.VK_F1;
+            case SWT.F2: return KeyEvent.VK_F2;
+            case SWT.F3: return KeyEvent.VK_F3;
+            case SWT.F4: return KeyEvent.VK_F4;
+            case SWT.F5: return KeyEvent.VK_F5;
+            case SWT.F6: return KeyEvent.VK_F6;
+            case SWT.F7: return KeyEvent.VK_F7;
+            case SWT.F8: return KeyEvent.VK_F8;
+            case SWT.F9: return KeyEvent.VK_F9;
+            case SWT.F10: return KeyEvent.VK_F10;
+            case SWT.F11: return KeyEvent.VK_F11;
+            case SWT.F12: return KeyEvent.VK_F12;
+            case SWT.F13: return KeyEvent.VK_F13;
+            case SWT.F14: return KeyEvent.VK_F14;
+            case SWT.F15: return KeyEvent.VK_F15;
+            case SWT.KEYPAD_MULTIPLY: return KeyEvent.VK_MULTIPLY;
+            case SWT.KEYPAD_ADD: return KeyEvent.VK_ADD;
+            case SWT.KEYPAD_SUBTRACT: return KeyEvent.VK_SUBTRACT;
+            case SWT.KEYPAD_DECIMAL: return KeyEvent.VK_DECIMAL;
+            case SWT.KEYPAD_DIVIDE: return KeyEvent.VK_DIVIDE;
+            case SWT.KEYPAD_0: return KeyEvent.VK_NUMPAD0;
+            case SWT.KEYPAD_1: return KeyEvent.VK_NUMPAD1;
+            case SWT.KEYPAD_2: return KeyEvent.VK_NUMPAD2;
+            case SWT.KEYPAD_3: return KeyEvent.VK_NUMPAD3;
+            case SWT.KEYPAD_4: return KeyEvent.VK_NUMPAD4;
+            case SWT.KEYPAD_5: return KeyEvent.VK_NUMPAD5;
+            case SWT.KEYPAD_6: return KeyEvent.VK_NUMPAD6;
+            case SWT.KEYPAD_7: return KeyEvent.VK_NUMPAD7;
+            case SWT.KEYPAD_8: return KeyEvent.VK_NUMPAD8;
+            case SWT.KEYPAD_9: return KeyEvent.VK_NUMPAD9;
+            case SWT.KEYPAD_EQUAL: return KeyEvent.VK_EQUALS;
+            case SWT.KEYPAD_CR: return KeyEvent.VK_ENTER; // wrong?
+            case SWT.HELP: return KeyEvent.VK_HELP;
+            case SWT.CAPS_LOCK: return KeyEvent.VK_CAPS_LOCK;
+            case SWT.NUM_LOCK: return KeyEvent.VK_NUM_LOCK;
+            case SWT.SCROLL_LOCK: return KeyEvent.VK_NUM_LOCK;
+            case SWT.PAUSE: return KeyEvent.VK_PAUSE;
+            //case SWT.BREAK: return KeyEvent.vk_
+            case SWT.PRINT_SCREEN: return KeyEvent.VK_PRINTSCREEN;
+
+            case SWT.DEL: return KeyEvent.VK_DELETE;
+            case SWT.CR: return KeyEvent.VK_ENTER;
+            case SWT.ESC: return KeyEvent.VK_ESCAPE;
+            case SWT.TAB: return KeyEvent.VK_TAB;
+            case SWT.ALT: return KeyEvent.VK_ALT;
+            case SWT.SHIFT: return KeyEvent.VK_SHIFT;
+            case SWT.CTRL: return KeyEvent.VK_CONTROL;
+            case SWT.COMMAND: return KeyEvent.VK_META;
+            case SWT.BS: return KeyEvent.VK_BACK_SPACE;
+            //case SWT.: return KeyEvent.VK_;
+
+        }
+        if (c>=0 && c<255) return c;
+
+        // Guess :G
+        return c;
+    }
+
+    public static int adaptSWTModifierToAWTModifier(int swtModifier)
+    {
+        int c = swtModifier;
+        int result = 0;
+
+        boolean alt = (c & SWT.ALT) != 0;
+        boolean ctrl = (c & SWT.CTRL) != 0;
+        boolean shift = (c & SWT.SHIFT) != 0;
+        boolean command = (c & SWT.COMMAND) != 0;
+
+        if (alt)         result |= KeyEvent.ALT_DOWN_MASK       | KeyEvent.ALT_MASK;
+        if (ctrl)        result |= KeyEvent.CTRL_DOWN_MASK      | KeyEvent.CTRL_MASK;
+        if (alt && ctrl) result |= KeyEvent.ALT_GRAPH_DOWN_MASK | KeyEvent.ALT_GRAPH_MASK;
+        if (shift)       result |= KeyEvent.SHIFT_DOWN_MASK     | KeyEvent.SHIFT_MASK;
+        if (command)     result |= KeyEvent.META_DOWN_MASK      | KeyEvent.META_MASK;
+
+        return result;
+    }
+
+
+}