Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.logic.model.editor / src / net / mograsim / logic / model / editor / states / GrabState.java
1 package net.mograsim.logic.model.editor.states;
2
3 import java.util.Map;
4
5 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
6 import net.mograsim.logic.model.editor.Editor;
7 import net.mograsim.logic.model.editor.handles.Handle;
8
9 public class GrabState extends EditorState
10 {
11         private Map<Handle, Point> offsets;
12
13         public GrabState(Editor editor, StateManager manager)
14         {
15                 super(editor, manager);
16         }
17
18         @Override
19         public void onEntry()
20         {
21                 offsets = editor.getSelection().calculateOffsets();
22         }
23
24         @Override
25         public void grab()
26         {
27                 manager.setState(new SelectionState(editor, manager));
28         }
29
30         @Override
31         public void mouseMoved(double x, double y)
32         {
33                 editor.moveHandles(x, y, offsets);
34         }
35
36         @Override
37         public void clicked(Point clicked, int stateMask)
38         {
39                 manager.setState(new SelectionState(editor, manager));
40         }
41 }