1 package net.mograsim.logic.ui.editor;
3 import org.eclipse.swt.SWT;
4 import org.eclipse.swt.events.KeyEvent;
5 import org.eclipse.swt.events.KeyListener;
6 import org.eclipse.swt.events.MouseEvent;
7 import org.eclipse.swt.events.MouseListener;
9 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
11 public class EditorUserInput
13 public EditorUserInput(Editor editor, EditorGUI gui)
15 gui.logicCanvas.addMouseListener(new MouseListener()
18 public void mouseDoubleClick(MouseEvent e)
20 // TODO Auto-generated method stub
24 public void mouseDown(MouseEvent e)
26 Point clicked = editor.gui.logicCanvas.displayToWorldCoords(e.x, e.y);
30 editor.handleManager.click(clicked, e.stateMask);
37 public void mouseUp(MouseEvent e) {}
40 gui.logicCanvas.addMouseMoveListener((e) ->
42 Point dest = editor.gui.logicCanvas.displayToWorldCoords(e.x, e.y);
43 editor.stateManager.mouseMoved(dest.x, dest.y);
46 gui.logicCanvas.addKeyListener(new KeyListener()
50 public void keyReleased(KeyEvent e)
52 // TODO Auto-generated method stub
57 public void keyPressed(KeyEvent e)
62 if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
63 editor.stateManager.copy();
66 if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
67 editor.stateManager.paste();
70 if ((e.stateMask & SWT.SHIFT) == SWT.SHIFT)
71 editor.stateManager.duplicate();
74 editor.stateManager.grab();
77 editor.stateManager.delete();
80 if ((e.stateMask & SWT.CTRL) == SWT.CTRL)
84 if ((e.stateMask & SWT.SHIFT) == SWT.SHIFT)
85 editor.stateManager.add();
88 editor.stateManager.boxSelect();