?? eomgstatemachine.java
字號:
// **********************************************************************// // <copyright>// // BBN Technologies// 10 Moulton Street// Cambridge, MA 02138// (617) 873-8000// // Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source:// /cvs/distapps/openmap/src/openmap/com/bbn/openmap/omGraphics/editable/EOMGStateMachine.java,v// $// $RCSfile: EOMGStateMachine.java,v $// $Revision: 1.2.2.1 $// $Date: 2004/10/14 18:27:29 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.omGraphics.editable;import com.bbn.openmap.omGraphics.*;import com.bbn.openmap.omGraphics.event.EOMGEvent;import com.bbn.openmap.layer.util.stateMachine.*;import com.bbn.openmap.util.Debug;public class EOMGStateMachine extends StateMachine { public EditableOMGraphic graphic; protected boolean offsetNeeded = false; /** The state when a graphic is not there yet, about to be drawn. */ public final static int GRAPHIC_UNDEFINED = EOMGEvent.EOMG_UNDEFINED; // 0 /** * The state when an existing graphic is present, but has not been * selected. At this point, the point nodes should not be visible, * but the graphic is. */ public final static int GRAPHIC_UNSELECTED = EOMGEvent.EOMG_DEFINED; // 1 /** * The state when an existing graphic is selected, ready for * change given the correct input. The point nodes and the graphic * are visible. */ public final static int GRAPHIC_SELECTED = EOMGEvent.EOMG_SELECTED; // 2 /** * The state when the graphic points are in the process of * changing. */ public final static int GRAPHIC_EDIT = EOMGEvent.EOMG_EDIT; // 3 /** The state where an offset point needs to be defined. */ public final static int GRAPHIC_SETOFFSET = EOMGEvent.EOMG_AUX; // 4 public final static int DEFAULT_NUMBER_STATES = 5; public int NUMBER_STATES = DEFAULT_NUMBER_STATES; public EOMGStateMachine(EditableOMGraphic graphic) { this.graphic = graphic; setStates(init()); // set reset state setResetState(GRAPHIC_UNSELECTED); reset(); setMapMouseListenerResponses(true); Debug.message("eomg", "EOMGStateMachine created"); } protected State[] init() { Debug.message("eomg", "EOMGStateMachine.init()"); State[] states = new State[NUMBER_STATES]; states[GRAPHIC_UNDEFINED] = new GraphicUndefinedState(graphic); states[GRAPHIC_UNSELECTED] = new GraphicUnselectedState(graphic); states[GRAPHIC_SELECTED] = new GraphicSelectedState(graphic); states[GRAPHIC_EDIT] = new GraphicEditState(graphic); states[GRAPHIC_SETOFFSET] = new GraphicSetOffsetState(graphic); return states; } /** * Check to see if the graphic offset point needs to be defined. */ public boolean isOffsetNeeded() { return offsetNeeded; } /** * The state machine, from the edit mode, tests this to see if an * offset point needs to be defined. This is set to true when the * OMGraphic (offset rendertype) is undefined. Can't be set every * time the state machine gets in edit mode, because we may be * just moving the graphic. Set to true if you want to define the * offset point after defining the actual graphic, which should be * done only for offset graphics. */ public void setOffsetNeeded(boolean set) { offsetNeeded = set; } public void setUndefined() { setState(GRAPHIC_UNDEFINED); } public void setUnselected() { setState(GRAPHIC_UNSELECTED); } public void setSelected() { setState(GRAPHIC_SELECTED); } public void setEdit() { setState(GRAPHIC_EDIT); } public void setOffset() { setState(GRAPHIC_SETOFFSET); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -