]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d/src/org/simantics/proconf/g3d/input/SWTInputProvider.java
Removing ancient 3d framework
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / proconf / g3d / input / SWTInputProvider.java
diff --git a/org.simantics.g3d/src/org/simantics/proconf/g3d/input/SWTInputProvider.java b/org.simantics.g3d/src/org/simantics/proconf/g3d/input/SWTInputProvider.java
deleted file mode 100644 (file)
index 345a9e8..0000000
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************\r
- * Copyright (c) 2007- VTT Technical Research Centre of Finland.\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
-package org.simantics.proconf.g3d.input;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.FocusEvent;\r
-import org.eclipse.swt.events.FocusListener;\r
-import org.eclipse.swt.events.KeyEvent;\r
-import org.eclipse.swt.events.KeyListener;\r
-import org.eclipse.swt.events.MouseEvent;\r
-import org.eclipse.swt.events.MouseListener;\r
-import org.eclipse.swt.events.MouseMoveListener;\r
-import org.eclipse.swt.events.MouseTrackListener;\r
-\r
-public class SWTInputProvider implements KeyListener, MouseListener, MouseMoveListener, MouseTrackListener, InputProvider, FocusListener {\r
-    \r
-    private static final int PRESS_TIME = 200;\r
-    \r
-    private boolean keyPressed[] = new boolean[1024];\r
-    private boolean keyTemp[] = new boolean[1024];\r
-    private boolean keyDown[] = new boolean[1024];\r
-    private boolean keyUp[] = new boolean[1024];\r
-    \r
-    private int awtMouseX = 0;\r
-    private int awtMouseY = 0;\r
-    private boolean awtPressed = false;\r
-    private boolean awtDragged = false;\r
-    private boolean awtReleased = false;\r
-    private boolean awtMouseClicked = false;\r
-    private boolean awtMouseMoved = false;\r
-    \r
-    private boolean swtMouse1Down = false;\r
-    private boolean swtMouse2Down = false;\r
-    private boolean swtMouse3Down = false;\r
-    \r
-    long mouse1DownTime = 0;\r
-    long mouse2DownTime = 0;\r
-    long mouse3DownTime = 0;\r
-    \r
-    private int awtPressModifiers = 0;\r
-    private int awtDragModifiers = 0;\r
-    private int awtClickModifiers = 0;\r
-    private int awtMoveModifiers = 0;\r
-    private int awtClickButton = 0;\r
-     \r
-    private int mouseX = 0;\r
-    private int mouseY = 0;\r
-    \r
-    private int prevMouseX = 0;\r
-    private int prevMouseY = 0;\r
-    \r
-    private boolean mousePressed = false;\r
-    private boolean mouseDragged = false;\r
-    private boolean mouseReleased = false;\r
-    private boolean mouseClicked = false;\r
-    private boolean mouseMoved = false;\r
-    \r
-    private int pressModifiers = 0;\r
-    private int clickModifiers = 0;\r
-    private int dragModifiers = 0;\r
-    private int clickButton = 0;\r
-    private int moveModifiers = 0;\r
-    \r
-    public SWTInputProvider() {\r
-        reset();\r
-    }\r
-    \r
-    private void reset() {\r
-       for (int i = 0; i < keyDown.length; i++) {\r
-            keyDown[i] = false;\r
-            keyTemp[i] = false;\r
-            keyPressed[i] = false; \r
-            keyUp[i] = false;\r
-        }\r
-        mousePressed = false;\r
-        mouseDragged = false;\r
-        mouseReleased = false;\r
-        mouseClicked = false;\r
-        mouseMoved = false;\r
-        \r
-        pressModifiers = 0;\r
-        clickModifiers = 0;\r
-        dragModifiers = 0;\r
-        clickButton = 0;\r
-        moveModifiers = 0;\r
-    }\r
-    \r
-    public boolean keyPressed(int i) {\r
-        return keyPressed[i];\r
-    }\r
-    \r
-    public boolean keyDown(int i) {\r
-        return keyDown[i];\r
-    }\r
-    \r
-    public boolean keyUp(int i) {\r
-       return keyUp[i];\r
-    }\r
-    \r
-    public int mouseX() {\r
-        return mouseX;\r
-    }\r
-    \r
-    public int mouseY() {\r
-        return mouseY;\r
-    }\r
-    \r
-    public int prevMouseX() {\r
-        return prevMouseX;\r
-    }\r
-    \r
-    public int prevMouseY() {\r
-        return prevMouseY;\r
-    }\r
-    \r
-    public boolean mousePressed() {\r
-        return mousePressed;\r
-    }\r
-    \r
-    public boolean mouseMoved() {\r
-        return mouseMoved;\r
-    }\r
-    \r
-    public boolean mouseReleased() {\r
-        return mouseReleased;\r
-    }\r
-    \r
-    public boolean mouseClicked() {\r
-        return mouseClicked;\r
-    }\r
-    \r
-    public boolean mouseDragged() {\r
-        return mouseDragged;\r
-    }\r
-    \r
-    public int pressModifiers() {\r
-        return pressModifiers;\r
-    }\r
-    \r
-    public int clickModifiers() {\r
-        return clickModifiers;\r
-    }\r
-    \r
-    public int dragModifiers() {\r
-        return dragModifiers;\r
-    }\r
-    \r
-    public int moveModifiers() {\r
-        return moveModifiers;\r
-    }\r
-    \r
-    public int clickButton() {\r
-        return clickButton;\r
-    }\r
-    \r
-    \r
-    public void update() {\r
-        prevMouseX = mouseX;\r
-        prevMouseY = mouseY;\r
-        mouseX = awtMouseX;\r
-        mouseY = awtMouseY;\r
-        //System.out.println(mouseX + " " + mouseY);\r
-        mousePressed = awtPressed;\r
-        awtPressed = false;\r
-        mouseReleased = awtReleased;\r
-        awtReleased = false;\r
-        mouseMoved = awtMouseMoved;\r
-        awtMouseMoved = false;\r
-        mouseDragged = awtDragged;\r
-        awtDragged = false;\r
-        mouseClicked = awtMouseClicked;\r
-        awtMouseClicked = false;\r
-        pressModifiers = awtPressModifiers;\r
-       // awtPressModifiers = 0;\r
-        clickModifiers = awtClickModifiers;\r
-        //awtClickModifiers = 0;\r
-        dragModifiers = awtDragModifiers;\r
-       // awtDragModifiers = 0;\r
-        moveModifiers = awtMoveModifiers;\r
-        //awtMoveModifiers = 0;\r
-        clickButton = awtClickButton;\r
-        awtClickButton = 0;\r
-        for (int i = 0; i < keyDown.length; i++) {\r
-            if (keyDown[i] && !keyTemp[i]) {\r
-              keyTemp[i] = true;\r
-              keyPressed[i] = true;\r
-            }\r
-            else if (keyDown[i] && keyTemp[i]) {\r
-             keyPressed[i] = false;\r
-            }\r
-            else if (!keyDown[i] && keyTemp[i]) {\r
-               keyUp[i] = true;\r
-               keyTemp[i] = false;\r
-                keyPressed[i] = false;\r
-            }\r
-            else if (!keyDown[i]) {\r
-              keyTemp[i] = false;\r
-              keyPressed[i] = false;\r
-              keyUp[i] = false;\r
-            }\r
-          }\r
-    \r
-    }\r
-    \r
\r
-\r
-\r
-    private int getAWTKeyCode(int swtKeyCode) {\r
-        if(swtKeyCode > keyDown.length) {\r
-            int keyCode = 0;\r
-            switch (swtKeyCode) {\r
-            case SWT.CTRL:\r
-                keyCode = java.awt.event.KeyEvent.VK_CONTROL;\r
-                break;\r
-            case SWT.ALT:\r
-                keyCode = java.awt.event.KeyEvent.VK_ALT;\r
-                break;\r
-            \r
-            case SWT.SHIFT:\r
-                keyCode = java.awt.event.KeyEvent.VK_SHIFT;\r
-                break;\r
-            case SWT.ARROW_LEFT:\r
-                keyCode = java.awt.event.KeyEvent.VK_LEFT;\r
-                break;\r
-            case SWT.ARROW_RIGHT:\r
-                keyCode = java.awt.event.KeyEvent.VK_RIGHT;\r
-                break;\r
-            case SWT.ARROW_UP:\r
-                keyCode = java.awt.event.KeyEvent.VK_UP;\r
-                break;\r
-            case SWT.ARROW_DOWN:\r
-                keyCode = java.awt.event.KeyEvent.VK_DOWN;\r
-                break;\r
-            case SWT.KEYPAD_0:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD0;\r
-                break;\r
-            case SWT.KEYPAD_1:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD1;\r
-                break;\r
-            case SWT.KEYPAD_2:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD2;\r
-                break;\r
-            case SWT.KEYPAD_3:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD3;\r
-                break;\r
-            case SWT.KEYPAD_4:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD4;\r
-                break;\r
-            case SWT.KEYPAD_5:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD5;\r
-                break;\r
-            case SWT.KEYPAD_6:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD6;\r
-                break;\r
-            case SWT.KEYPAD_7:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD7;\r
-                break;\r
-            case SWT.KEYPAD_8:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD8;\r
-                break;\r
-            case SWT.KEYPAD_9:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUMPAD9;\r
-                break;\r
-            case SWT.KEYPAD_CR:\r
-                keyCode = java.awt.event.KeyEvent.VK_ENTER;\r
-                break;\r
-            case SWT.NUM_LOCK:\r
-                keyCode = java.awt.event.KeyEvent.VK_NUM_LOCK;\r
-                break;\r
-            case SWT.SCROLL_LOCK:\r
-                keyCode = java.awt.event.KeyEvent.VK_SCROLL_LOCK;\r
-                break;\r
-            case SWT.CAPS_LOCK:\r
-                keyCode = java.awt.event.KeyEvent.VK_CAPS_LOCK;\r
-                break;\r
-            case SWT.INSERT:\r
-                keyCode = java.awt.event.KeyEvent.VK_INSERT;\r
-                break;\r
-            case SWT.HOME:\r
-                keyCode = java.awt.event.KeyEvent.VK_HOME;\r
-                break;\r
-            case SWT.END:\r
-                keyCode = java.awt.event.KeyEvent.VK_END;\r
-                break;\r
-            case SWT.PAGE_UP:\r
-                keyCode = java.awt.event.KeyEvent.VK_PAGE_UP;\r
-                break;\r
-            case SWT.PAGE_DOWN:\r
-                keyCode = java.awt.event.KeyEvent.VK_PAGE_DOWN;\r
-                break;\r
-            case SWT.PAUSE:\r
-                keyCode = java.awt.event.KeyEvent.VK_PAUSE;   \r
-                break;\r
-            case SWT.BREAK:\r
-                keyCode = java.awt.event.KeyEvent.VK_PAUSE;   \r
-                break;\r
-            case SWT.PRINT_SCREEN:\r
-                keyCode = java.awt.event.KeyEvent.VK_PRINTSCREEN;   \r
-                break;   \r
-            case SWT.HELP:\r
-                keyCode = java.awt.event.KeyEvent.VK_HELP;\r
-                break;\r
-            default :\r
-                keyCode = 0;\r
-               break;\r
-            }\r
-            \r
-            return keyCode;\r
-        } else if (swtKeyCode == 8) {\r
-               return java.awt.event.KeyEvent.VK_BACK_SPACE;\r
-        }\r
-        else if (swtKeyCode >= 97 )\r
-               return swtKeyCode - 32;\r
-        else\r
-               return swtKeyCode;\r
-    }\r
-\r
-    \r
-    /* (non-Javadoc)\r
-     * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)\r
-     */\r
-    public void keyPressed(KeyEvent arg0) {\r
-       //System.out.println("KeyPressed " + arg0.character + " " + arg0.keyCode + " " + getAWTKeyCode(arg0.keyCode));\r
-           keyDown[getAWTKeyCode(arg0.keyCode)] = true;\r
-    }\r
-    \r
-    /* (non-Javadoc)\r
-     * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)\r
-     */\r
-    public void keyReleased(KeyEvent arg0) {\r
-       //System.out.println("KeyReleased " + arg0.character + " " + arg0.keyCode + " " + getAWTKeyCode(arg0.keyCode));\r
-        \r
-           keyDown[getAWTKeyCode(arg0.keyCode)] = false;\r
-    }\r
-\r
-    public void mouseMove(MouseEvent e) {\r
-        awtMouseX = e.x;\r
-        awtMouseY = e.y;      \r
-        if (swtMouse1Down || swtMouse2Down || swtMouse3Down) {\r
-               // comparing times so that drag event won't be send at the time when mouse button was pressed\r
-               long time = e.time & 0xFFFFFFFFL;\r
-               boolean drag = false;\r
-               if (swtMouse1Down) {\r
-                       drag = time > mouse1DownTime;\r
-               } else if (swtMouse2Down) {\r
-                       drag = time > mouse2DownTime;\r
-               } else {\r
-                       drag = time > mouse3DownTime;\r
-               }\r
-               if (drag)  {\r
-                       awtDragged = true;\r
-                       awtDragModifiers = createButtonMask(e);\r
-               }\r
-        } else {\r
-            awtMoveModifiers = createButtonMask(e);\r
-            awtMouseMoved = true;\r
-        }\r
-    }\r
-\r
-    public void mouseDoubleClick(MouseEvent e) {\r
-        /*\r
-        awtMouseClicked = true;\r
-        awtClickModifiers = createButtonMask(e);\r
-        switch (e.button) {\r
-            case 1:\r
-                awtClickButton = java.awt.event.MouseEvent.BUTTON1;\r
-                break;\r
-            case 2:\r
-                awtClickButton = java.awt.event.MouseEvent.BUTTON2;\r
-                break;\r
-            case 3:\r
-                awtClickButton = java.awt.event.MouseEvent.BUTTON3;\r
-                break;\r
-                \r
-        }\r
-        */\r
-    }\r
-    \r
-    private int createButtonMask(MouseEvent e) {\r
-        int mask = 0;\r
-        if (swtMouse1Down)\r
-            mask |= java.awt.event.MouseEvent.BUTTON1_DOWN_MASK | java.awt.event.MouseEvent.BUTTON1_MASK;\r
-        if (swtMouse2Down)\r
-            mask |= java.awt.event.MouseEvent.BUTTON2_DOWN_MASK | java.awt.event.MouseEvent.BUTTON2_MASK;\r
-        if (swtMouse3Down)\r
-            mask |= java.awt.event.MouseEvent.BUTTON3_DOWN_MASK | java.awt.event.MouseEvent.BUTTON3_MASK;\r
-        if ((e.stateMask & SWT.CTRL) > 0) \r
-              mask |= java.awt.event.MouseEvent.CTRL_DOWN_MASK | java.awt.event.MouseEvent.CTRL_MASK;\r
-        if ((e.stateMask & SWT.CTRL) > 0)  \r
-              mask |= java.awt.event.MouseEvent.ALT_DOWN_MASK | java.awt.event.MouseEvent.ALT_MASK;\r
-        \r
-        \r
-        return mask;\r
-    }\r
-\r
-    public void mouseDown(MouseEvent e) {\r
-        switch (e.button) {\r
-            case 1:\r
-                swtMouse1Down = true;\r
-                mouse1DownTime = e.time & 0xFFFFFFFFL;\r
-                break;\r
-            case 2:\r
-                swtMouse2Down = true;\r
-                mouse2DownTime = e.time & 0xFFFFFFFFL;\r
-                break;\r
-            case 3:\r
-                swtMouse3Down = true;\r
-                mouse3DownTime = e.time & 0xFFFFFFFFL;\r
-        };\r
-        \r
-        awtPressed = true;\r
-        awtPressModifiers = createButtonMask(e);\r
-    }\r
-\r
-    public void mouseUp(MouseEvent e) {\r
-        long mouseUpTime = e.time & 0xFFFFFFFFL;\r
-        long delta = 1000;\r
-        switch (e.button) {\r
-        case 1:\r
-            swtMouse1Down = false;\r
-            delta = mouseUpTime - mouse1DownTime;\r
-            break;\r
-        case 2:\r
-            swtMouse2Down = false;\r
-            delta = mouseUpTime - mouse2DownTime;\r
-            break;\r
-        case 3:\r
-            swtMouse3Down = false;\r
-            delta = mouseUpTime - mouse3DownTime;\r
-        };\r
-        awtReleased = true;\r
-        \r
-        if (delta < PRESS_TIME) {\r
-            awtMouseClicked = true;\r
-            awtClickModifiers = createButtonMask(e);\r
-            switch (e.button) {\r
-                case 1:\r
-                    awtClickButton = java.awt.event.MouseEvent.BUTTON1;\r
-                    break;\r
-                case 2:\r
-                    awtClickButton = java.awt.event.MouseEvent.BUTTON2;\r
-                    break;\r
-                case 3:\r
-                    awtClickButton = java.awt.event.MouseEvent.BUTTON3;\r
-                    break;\r
-                    \r
-            }\r
-        }\r
-    }\r
-    \r
-    \r
-    public void mouseEnter(MouseEvent e) {\r
-        \r
-    }\r
-    \r
-    public void mouseExit(MouseEvent e) {\r
-        awtReleased = false;\r
-        awtPressed = false;\r
-        swtMouse1Down = false;\r
-        swtMouse2Down = false;\r
-        swtMouse3Down = false;\r
-        \r
-        \r
-    }\r
-    \r
-    public void focusGained(FocusEvent e) {\r
-\r
-    }\r
-    \r
-    public void focusLost(FocusEvent e) {\r
-       reset();\r
-    }\r
-    \r
-    public void mouseHover(MouseEvent e) {\r
-\r
-    }\r
-    \r
-    public void setMouseMoved(boolean b) {\r
-       awtMouseMoved = b;\r
-    }\r
-    \r
-    public void setMouseX(int x) {\r
-       awtMouseX = x;\r
-    }\r
-    \r
-    public void setMouseY(int y) {\r
-       awtMouseY = y;\r
-    }\r
-\r
-    public String toString() {\r
-        String s = "";\r
-        s += "(" + mouseX + "," + mouseY + ")\n";\r
-        s += "Pressed " + mousePressed + "\n";\r
-        s += "Released " + mouseReleased + "\n";\r
-        s += "Moved " + mouseMoved + "\n";\r
-        s += "Dragged " + mouseDragged + "\n";\r
-        s += "Clicked " + mouseClicked + "\n";\r
-        s += "DragModifiers " + dragModifiers + "\n";\r
-        s += "ClickModifiers " + clickModifiers + "\n";\r
-        s += "PressModifiers " + pressModifiers + "\n";\r
-        return s;\r
-    }\r
-}
\ No newline at end of file