- I
Remarks
This implementation will request the mutex as soon as it recognizes a mouse or touch drag.
By default, the lasso is a single freehand gesture. However, both a polyline path and mixed freehand/polyline paths are possible with different configuration.
Per default the visualization of the lasso selection region uses the secondary color of the set theme of CanvasComponent and uses the yfiles-lasso-template CSS class.
This mode is exclusive by default.
Examples
const lassoSelectionInputMode =
graphEditorInputMode.lassoSelectionInputMode
lassoSelectionInputMode.enabled = true
lassoSelectionInputMode.startSegmentRecognizer = EventRecognizers.ALWAYS
lassoSelectionInputMode.endSegmentRecognizer = (evt, sender) =>
EventRecognizers.MOUSE_LEFT_DOWN(evt, sender) ||
EventRecognizers.MOUSE_LEFT_UP(evt, sender)
lassoSelectionInputMode.dragSegmentRecognizer = (_, evt) =>
evt instanceof PointerEventArgs &&
(evt.pointerType == PointerType.MOUSE ||
evt.pointerType == PointerType.PEN) &&
(evt.eventType == PointerEventType.MOVE ||
evt.eventType == PointerEventType.DRAG)
lassoSelectionInputMode.finishRecognizer =
EventRecognizers.MOUSE_LEFT_DOUBLE_CLICK
lassoSelectionInputMode.finishRadius = 10See Also
- An example of how to style the lasso selection region with CSS is given in CSS Styling of Lasso Selection .
Developer's Guide
Members
Constructors
Properties
Gets or sets the event recognizer that determines whether to start drawing the lasso.
See Also
Developer's Guide
API
- beginRecognizer
Gets or sets the event recognizer that determines whether to cancel lasso selection.
Gets the installed controller.
Gets or sets the event recognizer that determines whether to drag the lasso free hand.
See Also
Developer's Guide
API
- dragFreeHandRecognizer
Gets or sets the event recognizer that determines whether to drag a straight-line segment for the lasso.
See Also
Developer's Guide
API
- dragSegmentRecognizer
Gets or sets the event recognizer that determines whether to end a segment and switch from segment to freehand mode.
See Also
Developer's Guide
API
- endSegmentRecognizerTouch
See Also
Developer's Guide
API
- endSegmentRecognizer
The value of this property will be delegated to the exclusive property of the controller.
If this mode is marked as exclusive and has the mutex, all other modes added to the same MultiplexingInputMode will be deactivated. Otherwise, it will always run concurrently with all other modes.
Gets or sets the cursor to use during the dragging of the lasso when extendSelectionRecognizer is active.
null meaning that lassoCursor will be used instead.Gets or sets the event recognizer that determines if a selection is deemed an additive selection gesture, adding to the current selection.
If the event recognizer returns true for the current gesture, the elements which will be selected with that gesture will be added to the current selection. Otherwise, the selection will be cleared before adding the newly selected element.
Note that this will only have an influence on the currently shown lassoCursor and the value of the selectionPolicy property. It is up to the handler of the drag-finished event to implement the selection behavior based on the policy value.
The default detects the current platform and delegates either to META_IS_DOWN (macOS) or CTRL_IS_DOWN (other platforms).
Gets or sets the radius in view coordinates around the startLocation where the lasso selection can be finished.
A value of 0 (the default) disables ending the gesture near the startLocation and also disables showing the indicator.
Default is 0.
See Also
Developer's Guide
Gets or sets the event recognizer that determines whether to finish the gesture anywhere independent of the finishRadius.
See Also
Developer's Guide
API
- finishRecognizerTouch, finishRegionRecognizer, finishRegionRecognizerTouch
Gets or sets the event recognizer that determines whether to finish the touch gesture anywhere independent of the finishRadius.
See Also
Developer's Guide
API
- finishRecognizer, finishRegionRecognizer, finishRegionRecognizerTouch
Gets or sets the event recognizer that determines whether to finish the gesture when the pointer is within the finishRadius of the startLocation.
See Also
Developer's Guide
API
- finishRegionRecognizerTouch, finishRecognizer, finishRecognizerTouch
Gets or sets the event recognizer that determines whether to finish the touch gesture when the pointer is within the finishRadius of the startLocation.
This recognizer is always combined with a check whether the input coordinates are within finishRadius around startLocation.
The default recognizer is TOUCH_PRIMARY_UP.
Due to the default recognizer for finishRecognizerTouch and the default value for finishRadius this is not used unless the mentioned properties are changed.
See Also
Developer's Guide
API
- finishRegionRecognizer, finishRecognizer, finishRecognizerTouch
Gets or sets the IObjectRenderer<LassoPathFinishRegionRenderTag> that visualizes the region around the startLocation where the lasso may be finished.
Property Value
See Also
Developer's Guide
Gets or sets the cursor to use during the dragging of the lasso.
Retrieves the IInputModeContext this mode has been installed in.
null if this mode is currently not installed.Implements
IInputMode.priorityGets the current or last selection path.
Gets the current or last SelectionPolicy as determined by the EventRecognizers.
See Also
Developer's Guide
Gets the location where the beginRecognizer was triggered and the lasso selection started.
Gets or sets the event recognizer that determines whether to switch from freehand to segment mode.
See Also
Developer's Guide
API
- startSegmentRecognizerTouch
See Also
Developer's Guide
API
- startSegmentRecognizer
Gets or sets the cursor to use during the dragging of the lasso when subtractSelectionRecognizer is active.
null meaning that lassoCursor will be used instead.Gets or sets the event recognizer that determines if a selection is deemed a subtractive selection gesture, removing the selection state from the current selection.
If the event recognizer returns true for the current gesture, the elements which will be selected with that gesture will be removed from the current selection.
Note that this will only have an influence on the currently shown lassoCursor and the value of the selectionPolicy property. It is up to the handler of the drag-finished event to implement the selection behavior based on the policy value.
The default is SHIFT_IS_DOWN.
Gets or sets the cursor to use during the dragging of the lasso when toggleSelectionRecognizer is active.
null meaning that lassoCursor will be used instead.Gets or sets the event recognizer that determines if a selection is deemed a toggle selection gesture, inverting the selection for the elements in the lasso.
If the event recognizer returns true for the current gesture, the elements in the lasso will get their selection state toggled.
Note that this will only have an influence on the currently shown lassoCursor and the value of the selectionPolicy property. It is up to the handler of the drag-finished event to implement the selection behavior based on the policy value.
The default is ALT_IS_DOWN.
nullSee Also
Developer's Guide
Gets or sets the event recognizer that determines whether it is valid to begin drawing the lasso.
Gets or sets the cursor to use when hovering over a valid end location.
Cursors.PenSee Also
Developer's Guide
Methods
Implements
IInputMode.cancelHelper method that yields a suitably configured LassoSelectionEventArgs for this input mode.
Installs this mode into the given context that is provided by the canvas.
In general a mode can only be installed into a single canvas at all times.
This method is called to initialize this instance. Subclasses should override this method to register the corresponding event handler delegates for the various input events they need to register with.
Overriding implementations should call the base implementation, first.
Parameters
- context: IInputModeContext
- The context that this instance shall be installed into. The same instance will be passed to this instance during uninstall. A reference to the context may be kept and queried during the time the mode is installed.
- controller: ConcurrencyController
- The controller for this mode.
See Also
API
- uninstall
Implements
IInputMode.installUsed by the finishRecognizer and finishRecognizerTouch to check the current cursor position.
location to the startLocation is less than finishRadius in view coordinates.Parameters
- location: Point
- The location in world coordinates that should be checked.
Return Value
- boolean
trueif thelocationis a valid end location; otherwise,false.
Called after cancel has been called.
Can be overridden in subclasses to perform additional actions after the mode has been canceled.
This implementation does nothing.
Can be overridden in subclasses to perform additional actions after the mode has been activated.
Overriding implementations should call the base implementation.
Can be overridden in subclasses to perform additional actions after the mode has been deactivated.
Overriding implementations should call the base implementation.
Triggers the drag-canceled event.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Triggers the drag-canceling event.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Called once the drag has been finalized.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Called before the drag will be finalized.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Called at the end of each drag.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Called at the start of each drag.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Triggers the drag-started event.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Triggers the drag-starting event.
Parameters
- evt: LassoSelectionEventArgs
- The event argument that contains context information.
Called after tryStop has been called.
Can be overridden in subclasses to perform additional actions after the mode has been stopped.
This implementation does nothing.
falseReturn Value
- boolean
trueif and only if the editing has been stopped or there was no edit in progress
Implements
IInputMode.tryStopUninstalls this mode from the given context.
This code should clean up all changes made to the canvas in the install method. After a mode has been uninstalled it can be installed again into the same or another canvas.
Overriding implementations should call the base implementation after their own code.
Parameters
- context: IInputModeContext
- The context to deregister from. This is the same instance that had been passed to install during installation.
Implements
IInputMode.uninstallEvents
Occurs when the drag has been canceled.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.
Occurs before the drag will be canceled.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.
Occurs when the drag has been finished.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.
See Also
Developer's Guide
Occurs before the drag will be finished.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.
Occurs once the drag is initialized and has started.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.
Occurs once the drag is starting.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.
Occurs at the end of every drag.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.
Occurs at the start of every drag.
Properties of
LassoSelectionEventArgs- context: IInputModeContext
- Gets the context for the current event.
- path: GeneralPath
- Gets the current lasso selection path of the LassoSelectionInputMode.
- policy: SelectionPolicy
- Gets a value determining the SelectionPolicy that is currently set by the user.