Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.
1 8 package com.nightlabs.editor2d.tools; 9 10 import java.util.List ; 11 12 import org.eclipse.gef.tools.PanningSelectionTool; 13 import org.eclipse.swt.SWT; 14 import org.eclipse.swt.events.KeyEvent; 15 16 import com.nightlabs.editor2d.EditorStateManager; 17 import com.nightlabs.editor2d.request.EditorRequestConstants; 18 19 20 public class EditorSelectionTool 21 extends PanningSelectionTool 22 implements EditorRequestConstants 23 { 24 protected static final int STATE_ROTATE = PanningSelectionTool.MAX_STATE << 1; 25 protected static final int STATE_ROTATE_IN_PROGRESS = STATE_ROTATE << 1; 26 protected static final int MAX_STATE = STATE_ROTATE; 27 28 public EditorSelectionTool() { 29 super(); 30 } 31 32 protected boolean handleDoubleClick(int button) 33 { 34 if (EditorStateManager.getCurrentState() == EditorStateManager.STATE_NORMAL_SELECTION) 35 { 36 List selectedParts = getCurrentViewer().getSelectedEditParts(); 37 if (!selectedParts.isEmpty()) { 38 stateTransition(STATE_ROTATE, STATE_INITIAL); 39 EditorStateManager.setRotateMode(selectedParts); 40 } 41 } 42 else if (EditorStateManager.getCurrentState() == EditorStateManager.STATE_ROTATE) 43 { 44 List selectedParts = getCurrentViewer().getSelectedEditParts(); 45 if (!selectedParts.isEmpty()) { 46 stateTransition(STATE_ROTATE, STATE_INITIAL); 47 EditorStateManager.setNormalSelectionMode(selectedParts); 48 } 49 } 50 return true; 51 } 52 53 protected String getCommandName() 54 { 55 if (isInState(STATE_ROTATE) || isInState(STATE_ROTATE_IN_PROGRESS)) 56 return REQ_ROTATE; 57 58 return super.getCommandName(); 59 } 60 61 public void activate() 62 { 63 EditorStateManager.setCurrentState(EditorStateManager.STATE_NORMAL_SELECTION); 64 super.activate(); 65 } 66 67 protected boolean handleKeyDown(KeyEvent e) 68 { 69 if (e.character == SWT.ESC) 70 { 71 EditorStateManager.setCurrentState(EditorStateManager.STATE_NORMAL_SELECTION); 72 getCurrentViewer().deselectAll(); 73 } 74 75 return super.handleKeyDown(e); 76 } 77 78 } 79
| Popular Tags
|