An IInputMode implementation that provides support for marquee selections through mouse or touch gestures.
Remarks
This implementation will request the mutex as soon as it recognizes a mouse drag.
Per default the visualization of the marquee rectangle uses the secondary color of the set theme of the CanvasComponent and uses the yfiles-marquee-rect-template
CSS class.
This mode is exclusive by default.
Examples
MarqueeSelectionInputMode
is installed as child mode of a GraphEditorInputMode or GraphViewerInputMode and can be retrieved from the marqueeSelectionInputMode property.const marqueeSelectionInputMode = mode.marqueeSelectionInputMode
Related Reading in the Developer's Guide
Type Details
- yFiles module
- view
Constructors
Creates a new instance of the marquee selection mode.
Parameters
A map of options to pass to the method.
- priority - number
- exclusive - boolean
- A value indicating whether this mode will be the only one running when it has the mutex. This option sets the exclusive property on the created object.
- enabled - boolean
- The enabled state of this input mode. This option sets the enabled property on the created object.
- useViewCoordinates - boolean
- A value indicating whether the marquee rectangle is drawn in view coordinates (which include projection), or intermediate coordinates. This option sets the useViewCoordinates property on the created object.
- marqueeRenderer - IObjectRenderer<MarqueeRenderTag>
- The IObjectRenderer<MarqueeRenderTag> that visualizes the marquee selection rectangle. This option sets the marqueeRenderer property on the created object.
- cancelRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines whether to cancel the marquee selection. This option sets the cancelRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- validBeginCursor - Cursor
- The cursor to use when it is valid to begin the marquee selection. This option sets the validBeginCursor property on the created object.
- marqueeCursor - Cursor
- The cursor to use during the dragging of the marquee. This option sets the marqueeCursor property on the created object.
- extendSelectionCursor - Cursor
- The cursor to use during the dragging of the marquee when extendSelectionRecognizer is active. This option sets the extendSelectionCursor property on the created object.
- subtractSelectionCursor - Cursor
- The cursor to use during the dragging of the marquee when subtractSelectionRecognizer is active. This option sets the subtractSelectionCursor property on the created object.
- toggleSelectionCursor - Cursor
- The cursor to use during the dragging of the marquee when toggleSelectionRecognizer is active. This option sets the toggleSelectionCursor property on the created object.
- extendSelectionRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines if a selection is deemed an additive selection gesture, adding to the current selection. This option sets the extendSelectionRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- subtractSelectionRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines if a selection is deemed a subtractive selection gesture, removing the selection state from the current selection. This option sets the subtractSelectionRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- toggleSelectionRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines if a selection is deemed a toggle selection gesture, inverting the selection for the elements in the marquee. This option sets the toggleSelectionRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- validBeginRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines whether it is valid to begin drawing the marquee. This option sets the validBeginRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- beginRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines whether to start creating the marquee. This option sets the beginRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- moveRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines whether to adjust the size of the marquee. This option sets the moveRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- finishRecognizer - function(EventArgs, unknown):boolean
- The event recognizer that determines whether to finish creating the marquee. This option sets the finishRecognizer property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- beginRecognizerTouch - function(EventArgs, unknown):boolean
- The event recognizer that determines whether to start creating the marquee via touch. This option sets the beginRecognizerTouch property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- moveRecognizerTouch - function(EventArgs, unknown):boolean
- The event recognizer that determines whether to adjust the marquee size via touch. This option sets the moveRecognizerTouch property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
- finishRecognizerTouch - function(EventArgs, unknown):boolean
- The event recognizer that determines whether to finish creating the marquee via touch. This option sets the finishRecognizerTouch property on the created object.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
A callback that recognizes events.Given a sender and an event argument, delegates decide whether the event is treated as a match depending on the context.Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Properties
Gets or sets the event recognizer that determines whether to start creating the marquee.
Remarks
By default, this recognizer detects left mouse button presses.
If this mode is a child mode of the GraphViewerInputMode, the recognizer is changed to left mouse button press with Shift held down. Note that this conflicts with the default value of subtractSelectionRecognizer, so in this case you will usually want to change one of these recognizers.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets the event recognizer that determines whether to start creating the marquee via touch.
Remarks
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets the event recognizer that determines whether to cancel the marquee selection.
Remarks
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets the installed controller.
Gets or sets the enabled state of this input mode.
Remarks
Examples
mode.marqueeSelectionInputMode.enabled = false
Gets or sets a value indicating whether this mode will be the only one running when it has the mutex.
Remarks
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 marquee when extendSelectionRecognizer is active.
Remarks
null
meaning that marqueeCursor 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.
Remarks
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 marqueeCursor 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 system and delegates either to META_IS_DOWN (macOS) or CTRL_IS_DOWN (other systems).
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets the event recognizer that determines whether to finish creating the marquee.
Remarks
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets the event recognizer that determines whether to finish creating the marquee via touch.
Remarks
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets the cursor to use during the dragging of the marquee.
Remarks
Cursors.Cross
Gets or sets the IObjectRenderer<MarqueeRenderTag> that visualizes the marquee selection rectangle.
Remarks
Property Value
Gets or sets the event recognizer that determines whether to adjust the size of the marquee.
Remarks
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets the event recognizer that determines whether to adjust the marquee size via touch.
Remarks
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Retrieves the IInputModeContext this mode has been installed in.
Remarks
null
if this mode is currently not installed. Use createInputModeContext to get a context that has this IInputMode as the inputMode.Gets the priority of this input mode.
Remarks
Implements
Gets the current or last marquee selection in world coordinates as a path.
Remarks
See Also
Gets the current or last SelectionPolicy as determined by the EventRecognizers.
Gets the current or last marquee selection rectangle.
Gets or sets the cursor to use during the dragging of the marquee when subtractSelectionRecognizer is active.
Remarks
null
meaning that marqueeCursor 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.
Remarks
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 marqueeCursor 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.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets the cursor to use during the dragging of the marquee when toggleSelectionRecognizer is active.
Remarks
null
meaning that marqueeCursor 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 marquee.
Remarks
If the event recognizer returns true
for the current gesture, the elements in the marquee will get their selection state toggled.
Note that this will only have an influence on the currently shown marqueeCursor 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.
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Gets or sets a value indicating whether the marquee rectangle is drawn in view coordinates (which include projection), or intermediate coordinates.
Remarks
View coordinates ensure that the user always sees a rectangle for the marquee. However, the resulting shape of the marquee in world coordinates may not be a rectangle.
The default is true
.
Gets or sets the event recognizer that determines whether it is valid to begin drawing the marquee.
Remarks
Signature Details
function(evt: EventArgs, eventSource: unknown) : boolean
Parameters
- evt - EventArgs
- The arguments of the event to be decided to handle.
- eventSource - unknown
- The source of the event.
Returns
- boolean
true
if theevt
is considered to be handled.
Methods
Calculates the location and size of the marquee rectangle.
Remarks
Parameters
A map of options to pass to the method.
- startDragLocation - Point
- the location in world coordinates where the drag has been started
- currentDragLocation - Point
- the current location of the drag in world coordinates
Returns
- ↪Rect
- the marquee rectangle to be determined from the given locations
true
and a projection is set, startDragLocation
and currentDragLocation
are given in view coordinates instead of world coordinates.Cancels any pending marquee selection.
Implements
Helper method that yields a suitably configured MarqueeSelectionEventArgs for this input mode.
Returns
- ↪MarqueeSelectionEventArgs
- An input mode event argument that is configured for this instance.
Installs this mode into the given context that is provided by the canvas.
Remarks
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
A map of options to pass to the method.
- 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
Implements
Called after cancel has been called.
Remarks
Can be overridden in subclasses to perform additional actions after the mode has been canceled.
This implementation does nothing.
Called after the active property of the installed ConcurrencyController has been set to true
.
Remarks
Can be overridden in subclasses to perform additional actions after the mode has been activated.
Overriding implementations should call the base implementation.
Called after the active property of the installed ConcurrencyController has been set to false
.
Remarks
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
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Triggers the drag-canceling event.
Parameters
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Called once the drag has been finalized.
Remarks
Parameters
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Called before the drag will be finalized.
Remarks
Parameters
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Called at the end of each drag.
Remarks
Parameters
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Called at the start of each drag.
Remarks
Parameters
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Triggers the drag-started event.
Parameters
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Triggers the drag-starting event.
Parameters
A map of options to pass to the method.
- evt - MarqueeSelectionEventArgs
- The event argument that contains context information.
Called after tryStop has been called.
Remarks
Can be overridden in subclasses to perform additional actions after the mode has been stopped.
This implementation does nothing.
Will be called to request a stop of the current editing progress.
Remarks
false
Returns
- ↪boolean
true
if and only if the editing has been stopped or there was no edit in progress
See Also
Implements
Uninstalls this mode from the given context.
Remarks
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
A map of options to pass to the method.
- context - IInputModeContext
- The context to deregister from. This is the same instance that had been passed to install during installation.
Implements
Events
Occurs when the drag has been canceled.
Occurs before the drag will be canceled.
Occurs the drag has been finished.
Occurs before the drag will be finished.
Occurs once the drag is initialized and has started.
Occurs once the drag is starting.
Occurs at the end of every drag.
Occurs at the start of every drag.