Class SelectionTool
java.lang.Object
com.inductiveautomation.ignition.designer.designable.tools.AbstractDesignTool
com.inductiveautomation.ignition.designer.designable.tools.AbstractLayoutTool
com.inductiveautomation.ignition.designer.designable.tools.SelectionTool
- All Implemented Interfaces:
IDesignTool,IDesignTool.ToolbarInitializer
- Direct Known Subclasses:
AbstractBlockWorkspace.ConnectionTool
This tool handles
- selecting components via click, marquee, and fence selection
- moving components by dragging
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.inductiveautomation.ignition.designer.designable.tools.AbstractLayoutTool
AbstractLayoutTool.AbstractAlignmentAction, AbstractLayoutTool.AbstractNudgeAction, AbstractLayoutTool.AbstractZOrderAction, AbstractLayoutTool.AlignEdge, AbstractLayoutTool.CenterAction, AbstractLayoutTool.MoveNudgeAction, AbstractLayoutTool.MoveToTopOrBottomAction, AbstractLayoutTool.MoveUpOrDownAction, AbstractLayoutTool.Rotate90Action, AbstractLayoutTool.RowStackAction, AbstractLayoutTool.ScaleNudgeAction, AbstractLayoutTool.ZOrderChangeUndoActionNested classes/interfaces inherited from interface com.inductiveautomation.ignition.designer.designable.IDesignTool
IDesignTool.ToolbarInitializer -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected longprotected booleanprotected booleanstatic final Colorstatic final Colorprotected List<JComponent>When doing a MOVE drag gesture, these are the objects that will be moved.Fields inherited from class com.inductiveautomation.ignition.designer.designable.tools.AbstractLayoutTool
ALIGN_AS_ROW, ALIGN_AS_ROW_NORMALIZE, ALIGN_AS_STACK, ALIGN_AS_STACK_NORMALIZE, ALIGN_BOTTOM, ALIGN_CENTER_HORIZONTAL, ALIGN_CENTER_VERTICAL, ALIGN_CENTERSH, ALIGN_CENTERSV, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_TOP, MOVE_BACKWARD, MOVE_FORWARD, MOVE_TO_BACK, MOVE_TO_FRONT, ROTATE_LEFT, ROTATE_RIGHTFields inherited from class com.inductiveautomation.ignition.designer.designable.tools.AbstractDesignTool
actionMap, changeSupport, designable, HANDLES_PROPERTY, inputMap, interactionLayer, panel, workspace -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAlignmentActions(DesignerToolbar toolbar) protected voidaddKeyBinding(int keyCode, int modifiers, Action action) protected voidaddZOrderActions(DesignerToolbar toolbar) protected StringformatLocation(JComponent bean, double x, double y, double width, double height) The cursor to use given the current event mask, which can be used to detect what keys are being held downCalled while dragging as an easy way for a tool to install a highlight while dragging.protected SelectionTool.DragModegetDragMode(Point startPoint, int modifiers, DesignableDelegate delegate, List<JComponent> selected, JComponent underMouse) Get the drag mode for the given conditions.getStatusBarText(List<JComponent> selection, Point point, int inputMask) Calculates the currently applicable status bar text for this toolvoidinitializeToolbar(DesignerToolbar toolbar) protected voidbooleanisRelevantFor(JComponent component) protected ISelectionControlprotected ISelectionControlGives the tool a chance to create a new selection control object to install handles on the selection.voidA normal click will select (or toggle selection - use CTRL) for the component that is under the click.voidonDoubleClick(Point p, int mofidiers) Called when the user double-clicksvoidCalled while the user is dragging.voidCalled when the user stops dragging.voidonDragStart(Point startPoint, Point lastPoint, Rectangle r, int modifiers) Starting a drag gesture.voidonPopupTrigger(Point p, int modifiers) Called when the user issues a click that matches the current system's notion of a popup-menu triggerMethods inherited from class com.inductiveautomation.ignition.designer.designable.tools.AbstractLayoutTool
componentsAreSiblings, convertBoundsToParent, evaluateEnabled, install, removeDescendentsMethods inherited from class com.inductiveautomation.ignition.designer.designable.tools.AbstractDesignTool
addAction, addKeyBinding, addKeyBinding, addPropertyChangeListener, createCursor, findDropContainer, getAction, getOffsettingBounds, getOriginalBounds, isInstalled, itemMovable, movable, newToolbarSpinner, newToolbarSpinner, newToolbarSpinner, onClickAlterSelection, onKeyEvent, onMove, onPress, onRelease, onRightClickSwitchToSelectionTool, removePropertyChangeListener, uninstall
-
Field Details
-
SELECTION_COLOR
-
SELECTION_COLOR_FILL
-
toMove
When doing a MOVE drag gesture, these are the objects that will be moved. -
rotationPrimed
protected boolean rotationPrimed -
rotationInstalled
protected boolean rotationInstalled -
lastClick
protected long lastClick
-
-
Constructor Details
-
SelectionTool
public SelectionTool()
-
-
Method Details
-
isRelevantFor
- Overrides:
isRelevantForin classAbstractDesignTool
-
initKeyboardActions
protected void initKeyboardActions() -
addKeyBinding
-
getCursor
Description copied from interface:IDesignToolThe cursor to use given the current event mask, which can be used to detect what keys are being held down- Specified by:
getCursorin interfaceIDesignTool- Overrides:
getCursorin classAbstractDesignTool
-
initializeToolbar
- Specified by:
initializeToolbarin interfaceIDesignTool.ToolbarInitializer
-
addAlignmentActions
-
addZOrderActions
-
getToolbarInitializer
- Specified by:
getToolbarInitializerin interfaceIDesignTool- Overrides:
getToolbarInitializerin classAbstractDesignTool
-
newSelectionControl
Description copied from interface:IDesignToolGives 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.- Specified by:
newSelectionControlin interfaceIDesignTool- Overrides:
newSelectionControlin classAbstractDesignTool
-
newScaleControl
-
newRotationControl
-
getStatusBarText
Description copied from interface:IDesignToolCalculates the currently applicable status bar text for this tool- Specified by:
getStatusBarTextin interfaceIDesignTool- Overrides:
getStatusBarTextin classAbstractDesignTool
-
formatLocation
-
onClick
A normal click will select (or toggle selection - use CTRL) for the component that is under the click. Holding ALT will have the selection step down through the Z-order so that selecting things in the background is easier.- Specified by:
onClickin interfaceIDesignTool- Overrides:
onClickin classAbstractDesignTool- Parameters:
p- The point at which they clicked. Relative to the designable container.modifiers- A bitmask of modifiers. Comes fromInputEvent.getModifiersEx()
-
onDoubleClick
Description copied from interface:IDesignToolCalled when the user double-clicks- Specified by:
onDoubleClickin interfaceIDesignTool- Overrides:
onDoubleClickin classAbstractDesignTool
-
onPopupTrigger
Description copied from interface:IDesignToolCalled when the user issues a click that matches the current system's notion of a popup-menu trigger- Specified by:
onPopupTriggerin interfaceIDesignTool- Overrides:
onPopupTriggerin classAbstractDesignTool
-
onDragStart
Starting a drag gesture. Many different permutations of current state and key_down masks affect what the drag gesture means:1. If the mouse is over a non-container, and SHIFT is not down, the under-mouse object will be MOVED. 2. If the current item selection is movable, and ALT is down, the current selection will be MOVED. 3. Otherwise a SELECTION DRAG will start. ALT will turn the drag into FENCE SELECTION at any time, otherwise it will be a MARQUEE selection.- Specified by:
onDragStartin interfaceIDesignTool- Overrides:
onDragStartin classAbstractDesignTool
-
getDragMode
protected SelectionTool.DragMode getDragMode(Point startPoint, int modifiers, DesignableDelegate delegate, List<JComponent> selected, JComponent underMouse) Get the drag mode for the given conditions. Note, if the drag mode is Move, it also must fill the "toMove" collection -
onDrag
Description copied from class:AbstractDesignToolCalled while the user is dragging. All coordinates are relative to the interaction panel and are in zoomed space.- Specified by:
onDragin interfaceIDesignTool- Overrides:
onDragin classAbstractDesignTool
-
onDragEnd
Description copied from class:AbstractDesignToolCalled when the user stops dragging. All coordinates are relative to the interaction panel and are in zoomed space.- Specified by:
onDragEndin interfaceIDesignTool- Overrides:
onDragEndin classAbstractDesignTool
-
getDragHighlight
Description copied from interface:IDesignToolCalled while dragging as an easy way for a tool to install a highlight while dragging.- Specified by:
getDragHighlightin interfaceIDesignTool- Overrides:
getDragHighlightin classAbstractDesignTool
-