public abstract class AbstractDesignTool extends java.lang.Object implements IDesignTool
IDesignTool.ToolbarInitializer| Modifier and Type | Field and Description |
|---|---|
protected javax.swing.ActionMap |
actionMap |
protected java.beans.PropertyChangeSupport |
changeSupport |
protected DesignableContainer |
designable |
static java.lang.String |
HANDLES_PROPERTY |
protected javax.swing.InputMap |
inputMap |
protected InteractionLayer |
interactionLayer |
protected DesignPanel |
panel |
protected AbstractDesignableWorkspace |
workspace |
| Constructor and Description |
|---|
AbstractDesignTool() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addAction(java.lang.Object key,
javax.swing.Action action)
Adds an action with a given key (usually a string).
|
protected void |
addKeyBinding(int keyCode,
int modifiers,
java.lang.Object actionKey)
Adds a key binding, creating the KeyStroke from the given keyCode (on press) and modifiers, and associates it
with an action key.
|
protected void |
addKeyBinding(javax.swing.KeyStroke keyStroke,
java.lang.Object actionKey) |
void |
addPropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
Adds a property change listener to this design tool.
|
static java.awt.Cursor |
createCursor(javax.swing.ImageIcon image,
java.lang.String name,
int anchorX,
int anchorY)
Creates a new cursor using the given image and name.
|
protected javax.swing.JComponent |
findDropContainer(java.awt.geom.Point2D point)
Finds the top-most object under the given spot that the delegate designates as a container.
|
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 down
|
IHighlight |
getDragHighlight()
Called while dragging as an easy way for a tool to install a highlight while dragging.
|
protected java.awt.geom.Rectangle2D |
getOffsettingBounds(DesignableDelegate delegate,
javax.swing.JComponent dropContainer) |
protected java.util.Map<javax.swing.JComponent,java.awt.geom.Rectangle2D> |
getOriginalBounds(java.util.List<javax.swing.JComponent> items)
Returns a map of Object to Rectangle.
|
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
|
IDesignTool.ToolbarInitializer |
getToolbarInitializer() |
void |
install(DesignPanel panel)
Installs the tool for the given panel.
|
boolean |
isInstalled() |
boolean |
isRelevantFor(javax.swing.JComponent component) |
protected boolean |
itemMovable(javax.swing.JComponent item)
Returns true if the item is non-null and the delegate claims that it is movable and unlocked.
|
static boolean |
movable(DesignableDelegate delegate,
java.util.List<javax.swing.JComponent> objects)
Checks to see if the selection is non-empty and all items are movable
|
ISelectionControl |
newSelectionControl()
Gives the tool a chance to create a new selection control object to install handles on the selection.
|
protected javax.swing.JSpinner |
newToolbarSpinner()
Creates a JSpinner that is appropriate for the toolbar.
|
protected javax.swing.JSpinner |
newToolbarSpinner(javax.swing.SpinnerModel model) |
protected javax.swing.JSpinner |
newToolbarSpinner(javax.swing.SpinnerModel model,
int width) |
void |
onClick(java.awt.Point p,
int modifiers)
Called when the user clicks in the design space.
|
protected void |
onClickAlterSelection(java.awt.Point p,
int modifiers)
Performs selection alteration from clicking.
|
void |
onDoubleClick(java.awt.Point p,
int mofidiers)
Called when the user double-clicks
|
void |
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 e,
boolean pressed)
Delegates the key event using field AbstractDesignTool.inputMap field.
|
void |
onMove(java.awt.Point p,
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 trigger
|
void |
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.
|
protected boolean |
onRightClickSwitchToSelectionTool(int modifiers)
Use on onPress to test for a right click.
|
void |
removePropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener) |
void |
uninstall()
Uninstalls the tool.
|
public static final java.lang.String HANDLES_PROPERTY
protected DesignPanel panel
protected AbstractDesignableWorkspace workspace
protected InteractionLayer interactionLayer
protected DesignableContainer designable
protected javax.swing.InputMap inputMap
protected javax.swing.ActionMap actionMap
protected java.beans.PropertyChangeSupport changeSupport
protected javax.swing.JComponent findDropContainer(java.awt.geom.Point2D point)
public IDesignTool.ToolbarInitializer getToolbarInitializer()
getToolbarInitializer in interface IDesignToolprotected javax.swing.JSpinner newToolbarSpinner()
protected javax.swing.JSpinner newToolbarSpinner(javax.swing.SpinnerModel model)
protected javax.swing.JSpinner newToolbarSpinner(javax.swing.SpinnerModel model,
int width)
public java.awt.Cursor getCursor(java.awt.Point point,
int inputEventMask)
IDesignToolgetCursor in interface IDesignToolpublic void onPopupTrigger(java.awt.Point p,
int modifiers)
IDesignToolonPopupTrigger in interface IDesignToolpublic void onClick(java.awt.Point p,
int modifiers)
IDesignToolonClick in interface IDesignToolp - The point at which they clicked. Relative to the designable container.modifiers - A bitmask of modifiers. Comes from InputEvent.getModifiersEx()public void onDoubleClick(java.awt.Point p,
int mofidiers)
IDesignToolonDoubleClick in interface IDesignToolpublic void onMove(java.awt.Point p,
int modifiers)
onMove in interface IDesignToolpublic void onPress(java.awt.Point p,
int modifiers)
IDesignToolonPress in interface IDesignToolp - The point at which they pressed. Relative to the designable container.modifiers - A bitmask of modifiers. Comes from InputEvent.getModifiersEx()public void onRelease(java.awt.Point p,
int modifiers)
IDesignToolonRelease in interface IDesignToolp - The point at which they pressed. Relative to the designable container.modifiers - A bitmask of modifiers. Comes from InputEvent.getModifiersEx()public void onDragStart(java.awt.Point startPoint,
java.awt.Point lastPoint,
java.awt.Rectangle r,
int modifiers)
onDragStart in interface IDesignToolpublic void onDrag(java.awt.Point startPoint,
java.awt.Point lastPoint,
java.awt.Rectangle r,
int modifiers)
onDrag in interface IDesignToolpublic void onDragEnd(java.awt.Point startPoint,
java.awt.Point lastPoint,
java.awt.Rectangle r,
int modifiers)
onDragEnd in interface IDesignToolprotected boolean onRightClickSwitchToSelectionTool(int modifiers)
protected void onClickAlterSelection(java.awt.Point p,
int modifiers)
public boolean isRelevantFor(javax.swing.JComponent component)
public void onKeyEvent(java.awt.event.KeyEvent e,
boolean pressed)
addKeyBinding(int, int, Object) methods.onKeyEvent in interface IDesignToolprotected void addKeyBinding(int keyCode,
int modifiers,
java.lang.Object actionKey)
keyCode - an int specifying the numeric code for a keyboard keymodifiers - Note that these are the basic modifiers, not the "DOWN" modifiers, from InputEvent. For
example: InputEvent.ALT_MASKactionKey - the actionMapKey to apply to the modifier. If null, will remove a mapping.protected void addKeyBinding(javax.swing.KeyStroke keyStroke,
java.lang.Object actionKey)
protected void addAction(java.lang.Object key,
javax.swing.Action action)
public javax.swing.Action getAction(java.lang.Object key)
IDesignToolSelectionTool defines a number of alignment and z-order actions.getAction in interface IDesignToolpublic ISelectionControl newSelectionControl()
IDesignToolnewSelectionControl in interface IDesignToolpublic java.lang.String getStatusBarText(java.util.List<javax.swing.JComponent> selection,
java.awt.Point point,
int inputMask)
IDesignToolgetStatusBarText in interface IDesignToolpublic IHighlight getDragHighlight()
IDesignToolgetDragHighlight in interface IDesignToolpublic void install(DesignPanel panel)
IDesignToolinstall in interface IDesignToolpublic void uninstall()
IDesignTooluninstall in interface IDesignToolpublic boolean isInstalled()
public static boolean movable(DesignableDelegate delegate, java.util.List<javax.swing.JComponent> objects)
protected boolean itemMovable(javax.swing.JComponent item)
protected java.util.Map<javax.swing.JComponent,java.awt.geom.Rectangle2D> getOriginalBounds(java.util.List<javax.swing.JComponent> items)
protected java.awt.geom.Rectangle2D getOffsettingBounds(DesignableDelegate delegate, javax.swing.JComponent dropContainer)
public void addPropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
IDesignToolIDesignTool.newSelectionControl() will be called again and the
handles will be updated.addPropertyChangeListener in interface IDesignToolpublic void removePropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
removePropertyChangeListener in interface IDesignToolpublic static java.awt.Cursor createCursor(javax.swing.ImageIcon image,
java.lang.String name,
int anchorX,
int anchorY)