Implemented a 12-bit decrementer
[Mograsim.git] / plugins / net.mograsim.logic.model.editor / src / net / mograsim / logic / model / editor / EditorUserInput.java
index feae04f..4de8683 100644 (file)
@@ -1,10 +1,8 @@
 package net.mograsim.logic.model.editor;
 
+import static net.mograsim.logic.model.preferences.RenderPreferences.ACTION_BUTTON;
+
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
 
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
 import net.mograsim.logic.model.editor.ui.EditorGUI;
@@ -16,85 +14,54 @@ public class EditorUserInput
        public EditorUserInput(Editor editor)
        {
                this.gui = editor.gui;
-               gui.logicCanvas.addMouseListener(new MouseListener()
+               gui.logicCanvas.addListener(SWT.MouseDown, e ->
                {
-                       @Override
-                       public void mouseDoubleClick(MouseEvent e)
-                       {
-                               // TODO Auto-generated method stub
-                       }
-
-                       @Override
-                       public void mouseDown(MouseEvent e)
-                       {
-                               Point clicked = editor.gui.logicCanvas.canvasToWorldCoords(e.x, e.y);
-                               switch (e.button)
-                               {
-                               case 1:
-                                       editor.handleManager.click(clicked, e.stateMask);
-                                       break;
-                               }
-
-                       }
-
-                       @Override
-                       public void mouseUp(MouseEvent e)
-                       {
-                       }
+                       Point clicked = editor.gui.logicCanvas.canvasToWorldCoords(e.x, e.y);
+                       if (e.button == editor.renderPrefs.getInt(ACTION_BUTTON))
+                               editor.handleManager.click(clicked, e.stateMask);
                });
 
-               gui.logicCanvas.addMouseMoveListener((e) ->
+               gui.logicCanvas.addMouseMoveListener(e ->
                {
                        Point dest = editor.gui.logicCanvas.canvasToWorldCoords(e.x, e.y);
                        editor.stateManager.mouseMoved(dest.x, dest.y);
                });
 
-               gui.logicCanvas.addKeyListener(new KeyListener()
+               gui.logicCanvas.addListener(SWT.KeyDown, e ->
                {
-
-                       @Override
-                       public void keyReleased(KeyEvent e)
-                       {
-                               // TODO Auto-generated method stub
-
-                       }
-
-                       @Override
-                       public void keyPressed(KeyEvent e)
+                       switch (e.keyCode)
                        {
-                               switch (e.keyCode)
-                               {
-                               case 'c':
-                                       if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
-                                               editor.stateManager.copy();
-                                       break;
-                               case 'v':
-                                       if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
-                                               editor.stateManager.paste();
-                                       break;
-                               case 'd':
-                                       if ((e.stateMask & SWT.SHIFT) == SWT.SHIFT)
-                                               editor.stateManager.duplicate();
-                                       break;
-                               case 'g':
-                                       editor.stateManager.grab();
-                                       break;
-                               case 'r':
-                                       editor.stateManager.delete();
-                                       break;
-                               case 's':
-                                       if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
-                                               editor.save();
-                                       break;
-                               case 'a':
-                                       if ((e.stateMask & SWT.SHIFT) == SWT.SHIFT)
-                                               editor.stateManager.add();
-                                       break;
-                               case 'h':
-                                       editor.stateManager.boxSelect();
-                                       break;
-                               }
-
+                       case 'c':
+                               if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
+                                       editor.stateManager.copy();
+                               break;
+                       case 'v':
+                               if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
+                                       editor.stateManager.paste();
+                               break;
+                       case 'd':
+                               if ((e.stateMask & SWT.SHIFT) == SWT.SHIFT)
+                                       editor.stateManager.duplicate();
+                               break;
+                       case 'g':
+                               editor.stateManager.grab();
+                               break;
+                       case 'r':
+                               editor.stateManager.delete();
+                               break;
+                       case 's':
+                               if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
+                                       editor.save();
+                               break;
+                       case 'a':
+                               if ((e.stateMask & SWT.SHIFT) == SWT.SHIFT)
+                                       editor.stateManager.add();
+                               break;
+                       case 'h':
+                               editor.stateManager.boxSelect();
+                               break;
+                       default:
+                               // don't react
                        }
                });
        }