X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model.editor%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Feditor%2FEditorUserInput.java;h=4de8683210f5e63cc3d675dad181e1c2b52dea0a;hb=3ed57040904c1f6dd0593bef839e5c6c838efd80;hp=feae04f3aca4781bd735cdb9c4039ccf58dab2fc;hpb=58babf45ae7d259a296656451d796dbe601377a4;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/EditorUserInput.java b/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/EditorUserInput.java index feae04f3..4de86832 100644 --- a/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/EditorUserInput.java +++ b/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/EditorUserInput.java @@ -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 } }); }