// ********************************************************************** // // <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/GraphicSetOffsetState.java,v // $ // $RCSfile: GraphicSetOffsetState.java,v $ // $Revision: 1.3 $ // $Date: 2004/10/14 18:06:15 $ // $Author: dietrick $ // // ********************************************************************** package com.bbn.openmap.omGraphics.editable; import java.awt.event.MouseEvent; import com.bbn.openmap.omGraphics.EditableOMGraphic; import com.bbn.openmap.omGraphics.event.EOMGEvent; import com.bbn.openmap.util.Debug; import com.bbn.openmap.util.stateMachine.State; public class GraphicSetOffsetState extends State implements EOMGAuxState { protected EditableOMGraphic graphic; public GraphicSetOffsetState(EditableOMGraphic eomg) { graphic = eomg; } public boolean mouseDragged(MouseEvent e) { Debug.message("eomg", "GraphicStateMachine|set offset state|mouseDragged"); setGrabPoint(e); return getMapMouseListenerResponse(); } public boolean mouseMoved(MouseEvent e) { graphic.fireEvent(EOMGCursors.PUTNODE, i18n.get(CircleSetOffsetState.class, "Click_to_place_offset_point.", "Click to place offset point."), EOMGEvent.EOMG_UNCHANGED); return getMapMouseListenerResponse(); } public boolean mousePressed(MouseEvent e) { Debug.message("eomg", "GraphicStateMachine|set offset state|mousePressed"); setGrabPoint(e); return getMapMouseListenerResponse(); } protected void setGrabPoint(MouseEvent e) { // Each editable omgraphic should handle this. // OffsetGrabPoint ogb = // (OffsetGrabPoint)graphic.getGrabPoint(EditableOMGraphic.OFFSET_POINT_INDEX); // ogb.set(e.getX(), e.getY()); // ogb.updateOffsets(); // graphic.setMovingPoint(graphic.getGrabPoint(EditableOMGraphic.OFFSET_POINT_INDEX)); // graphic.redraw(e); // graphic.fireEvent(EOMGCursors.PUTNODE, "Click to place offset // point for graphic."); } public boolean mouseReleased(MouseEvent e) { Debug.message("eomg", "GraphicStateMachine|edit state|mouseReleased"); graphic.getStateMachine().setSelected(); graphic.redraw(e, true); graphic.setMovingPoint(null); graphic.fireEvent(EOMGCursors.DEFAULT, "", EOMGEvent.EOMG_SELECTED); return getMapMouseListenerResponse(); } }