Interface IDesignTool
-
- All Known Implementing Classes:
AbstractBlockWorkspace.ConnectionTool
,AbstractDesignTool
,AbstractLayoutTool
,AbstractRectangularShapeTool
,AbstractShapeTool
,ArrowTool
,EllipseTool
,EyedropperTool
,GradientTool
,InstantiationTool
,LineTool
,NullTool
,PasteTool
,PathEditorTool
,PencilTool
,PolygonTool
,RectangleTool
,SelectionTool
public interface IDesignTool
Represents a "design tool", which is a mode that the design panel can be in. Tools affect the type of selection editor that gets installed on selected components, and how the mouse behaves over the design panel.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
IDesignTool.ToolbarInitializer
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
Adds a property change listener to this design tool.javax.swing.Action
getAction(java.lang.Object key)
Provides a way for external objects to get a hold of Actions that the tool defines.java.awt.Cursor
getCursor(java.awt.Point point, int inputEventMask)
The cursor to use given the current event mask, which can be used to detect what keys are being held downIHighlight
getDragHighlight()
Called while dragging as an easy way for a tool to install a highlight while dragging.java.lang.String
getStatusBarText(java.util.List<javax.swing.JComponent> selection, java.awt.Point point, int inputMask)
Calculates the currently applicable status bar text for this toolIDesignTool.ToolbarInitializer
getToolbarInitializer()
void
install(DesignPanel panel)
Installs the tool for the given panel.ISelectionControl
newSelectionControl()
Gives the tool a chance to create a new selection control object to install handles on the selection.void
onClick(java.awt.Point p, int modifiers)
Called when the user clicks in the design space.void
onDoubleClick(java.awt.Point p, int modifiers)
Called when the user double-clicksvoid
onDrag(java.awt.Point startPoint, java.awt.Point lastPoint, java.awt.Rectangle r, int modifiers)
Called while the user is dragging.void
onDragEnd(java.awt.Point startPoint, java.awt.Point lastPoint, java.awt.Rectangle r, int modifiers)
Called when the user stops dragging.void
onDragStart(java.awt.Point startPoint, java.awt.Point lastPoint, java.awt.Rectangle r, int modifiers)
Called when the user start's dragging while this tool is active.void
onKeyEvent(java.awt.event.KeyEvent event, boolean press)
void
onMove(java.awt.Point move, int modifiers)
void
onPopupTrigger(java.awt.Point p, int modifiers)
Called when the user issues a click that matches the current system's notion of a popup-menu triggervoid
onPress(java.awt.Point p, int modifiers)
Called when the user presses the mouse in the design space.void
onRelease(java.awt.Point p, int modifiers)
Called when the user presses the mouse in the design space.void
removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
void
uninstall()
Uninstalls the tool.
-
-
-
Method Detail
-
getCursor
java.awt.Cursor getCursor(java.awt.Point point, int inputEventMask)
The cursor to use given the current event mask, which can be used to detect what keys are being held down
-
getStatusBarText
java.lang.String getStatusBarText(java.util.List<javax.swing.JComponent> selection, java.awt.Point point, int inputMask)
Calculates the currently applicable status bar text for this tool
-
onClick
void onClick(java.awt.Point p, int modifiers)
Called when the user clicks in the design space.- Parameters:
p
- The point at which they clicked. Relative to the designable container.modifiers
- A bitmask of modifiers. Comes fromInputEvent.getModifiersEx()
-
onDoubleClick
void onDoubleClick(java.awt.Point p, int modifiers)
Called when the user double-clicks
-
onPress
void onPress(java.awt.Point p, int modifiers)
Called when the user presses the mouse in the design space.- Parameters:
p
- The point at which they pressed. Relative to the designable container.modifiers
- A bitmask of modifiers. Comes fromInputEvent.getModifiersEx()
-
onRelease
void onRelease(java.awt.Point p, int modifiers)
Called when the user presses the mouse in the design space.- Parameters:
p
- The point at which they pressed. Relative to the designable container.modifiers
- A bitmask of modifiers. Comes fromInputEvent.getModifiersEx()
-
onPopupTrigger
void onPopupTrigger(java.awt.Point p, int modifiers)
Called when the user issues a click that matches the current system's notion of a popup-menu trigger
-
onMove
void onMove(java.awt.Point move, int modifiers)
-
onDragStart
void onDragStart(java.awt.Point startPoint, java.awt.Point lastPoint, java.awt.Rectangle r, int modifiers)
Called when the user start's dragging while this tool is active. All coordinates are relative to the interaction panel and are in zoomed space.
-
onDrag
void onDrag(java.awt.Point startPoint, java.awt.Point lastPoint, java.awt.Rectangle r, int modifiers)
Called while the user is dragging. All coordinates are relative to the interaction panel and are in zoomed space.
-
onDragEnd
void onDragEnd(java.awt.Point startPoint, java.awt.Point lastPoint, java.awt.Rectangle r, int modifiers)
Called when the user stops dragging. All coordinates are relative to the interaction panel and are in zoomed space.
-
onKeyEvent
void onKeyEvent(java.awt.event.KeyEvent event, boolean press)
-
getAction
javax.swing.Action getAction(java.lang.Object key)
Provides a way for external objects to get a hold of Actions that the tool defines. For example, theSelectionTool
defines a number of alignment and z-order actions.
-
getDragHighlight
IHighlight getDragHighlight()
Called while dragging as an easy way for a tool to install a highlight while dragging.
-
newSelectionControl
ISelectionControl newSelectionControl()
Gives the tool a chance to create a new selection control object to install handles on the selection. Called on the active tool when the selection changes or after a tool is first installed.
-
addPropertyChangeListener
void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
Adds a property change listener to this design tool. The workspace will listen for these properties:- "handles": When this property changes,
newSelectionControl()
will be called again and the handles will be updated.
- "handles": When this property changes,
-
removePropertyChangeListener
void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
-
getToolbarInitializer
IDesignTool.ToolbarInitializer getToolbarInitializer()
-
install
void install(DesignPanel panel)
Installs the tool for the given panel. Tools are built to be re-used by repeatedly being installed and then uninstalled as tools get switched out.
-
uninstall
void uninstall()
Uninstalls the tool.
-
-