?? drawingtool.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/tools/drawing/DrawingTool.java,v $// $RCSfile: DrawingTool.java,v $// $Revision: 1.3.2.1 $// $Date: 2004/10/14 18:27:41 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.tools.drawing;import java.awt.event.MouseEvent;import com.bbn.openmap.omGraphics.GraphicAttributes;import com.bbn.openmap.omGraphics.OMGraphic;import com.bbn.openmap.omGraphics.EditableOMGraphic;/** * A DrawingTool is an object that can take a request for editing an * OMGraphic, or for creating an OMGraphic from a classname, and find * a EditTool to do the job. The DrawingTool is responsible for * providing any user interface that is needed to adjust the * OMGraphic. */public interface DrawingTool { /** * A integer that is looked at internally, bitwise, to determine * different behaviors. If you care about specific behavior of the * DrawingTool, you should set this to what you want to make sure * the tool acts the way you want. */ public void setBehaviorMask(int mask); /** * A integer that is looked at internally, bitwise, to determine * different behaviors. */ public int getBehaviorMask(); /** * Given a classname, provide an OMGraphic for that classname. * It's assumed that the DrawingTool will be holding on to an * EditableOMGraphic encasing the returned OMGraphic, and that the * parameters of the OMGraphic may still change depending on user * input. * * @param classname the classname of the OMGraphic to create. * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @return OMGraphic if everything's OK, null if the request can't * be fulfilled. */ public OMGraphic create(String classname, DrawingToolRequestor requestor); /** * Given a classname, provide an OMGraphic for that classname. * It's assumed that the DrawingTool will be holding on to an * EditableOMGraphic encasing the returned OMGraphic, and that the * parameters of the OMGraphic may still change depending on user * input. * * @param classname the classname of the OMGraphic to create. * @param ga GraphicAttributes object that contains more * information about the type of line to be created. * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @return OMGraphic if everything's OK, null if the request can't * be fulfilled. */ public OMGraphic create(String classname, GraphicAttributes ga, DrawingToolRequestor requestor); /** * Same as create(String, GraphicAttributes, * DrawingToolRequestor), except that you have to option of * supressing the GUI that could be available from the * EditableOMGraphic. * * @param classname the classname of the OMGraphic to create. * @param ga GraphicAttributes object that contains more * information about the type of line to be created. * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @param showGUI set to true (default) if a GUI showing attribute * controls should be displayed. * @return OMGraphic if everything's OK, null if the request can't * be fulfilled. */ public OMGraphic create(String classname, GraphicAttributes ga, DrawingToolRequestor requestor, boolean showGUI); /** * Given an OMGraphic, set things up so that the OMGraphic will be * edited. Returns the OMGraphic being edited. Shouldn't assume * that the two objects are the same. It's assumed that the * DrawingTool will be holding on to an EditableOMGraphic encasing * the returned OMGraphic, and that the parameters of the * OMGraphic may still change depending on user input. * * @param g the OMGraphic to wrap in an EditableOMGraphic, and * therefore to edit. * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @return OMGraphic if everything's OK, null if the request can't * be fulfilled. */ public OMGraphic edit(OMGraphic g, DrawingToolRequestor requestor); /** * Same as edit(omGraphic, DrawingToolRequestor), except that you * have to option of supressing the GUI that could be available * from the EditableOMGraphic. * * @param g the OMGraphic to wrap in an EditableOMGraphic, and * therefore to edit. * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @param showGUI set to true (default) if a GUI showing attribute * controls should be displayed. * @return OMGraphic if everything's OK, null if the request can't * be fulfilled. */ public OMGraphic edit(OMGraphic g, DrawingToolRequestor requestor, boolean showGUI); /** * Given an EditableOMGraphic, direct events to the * EditableOMGraphic so that it can modify its OMGraphic. With * this method, the loaders are not needed. * * @param eomg and EditableOMGraphic to manipulate. * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @return OMGraphic if everything's OK, null if the request can't * be fulfilled. */ public OMGraphic edit(EditableOMGraphic eomg, DrawingToolRequestor requestor); /** * A slightly different edit method, where the EditableOMGraphic * is put directly into edit mode, and the mouse events * immediately start making modifications to the OMGraphic. * * @param g OMGraphic to modify * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @param e MouseEvent to use to start editing with. * @return OMGraphic being modified. */ public OMGraphic edit(OMGraphic g, DrawingToolRequestor requestor, MouseEvent e); /** * A slightly different edit method, where the EditableOMGraphic * is put directly into edit mode, and the mouse events * immediately start making modifications to the OMGraphic. * * @param eomg EditableOMGraphic to modify * @param requestor the Component that is requesting the * OMGraphic. The requestor gets notified when the user is * finished with the DrawingTool and the graphic is ready. * @param e MouseEvent to use to start editing with. * @return OMGraphic being modified contained within the * EditableOMGraphic. */ public OMGraphic edit(EditableOMGraphic eomg, DrawingToolRequestor requestor, MouseEvent e); /** * Check to see if the class type can be created/edited by the * DrawingTool. */ public boolean canEdit(Class clas); /** * Add an EditToolLoader to the DrawingTool, expanding the * DrawingTool's capability to handle more graphic types. */ public void addLoader(EditToolLoader loader); /** * Remove an EditToolLoader from the DrawingTool. */ public void removeLoader(EditToolLoader loader); /** * Get an array of EditToolLoaders that the DrawingTool knows * about. */ public EditToolLoader[] getLoaders(); /** * Set the loaders within the DrawingTool. */ public void setLoaders(EditToolLoader[] loaders);}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -