- I
Remarks
Examples
LabelDropInputMode is installed as child mode of a GraphEditorInputMode and can be retrieved from the labelDropInputMode property.const labelDropInputMode = mode.labelDropInputModeSee Also
Developer's Guide
Members
Constructors
Initializes a new instance of the LabelDropInputMode class for the given data type.
This instance fires events only if a drag operation carries DragDropItem of the given type.
When no transferType is provided, it defaults to DEFAULT_TRANSFER_TYPE so it fires only for DragDropItem carrying this data type. For example, startDrag initiates such a drag operation.
Parameters
- transferType: string
- A list of types for which this input mode is registered.
Properties
Gets or sets a value indicating whether the EDIT_LABEL command is automatically raised after a label has been created.
false.true and thus prevents pointer events from being processed by visuals in the canvas.Property Value
true if pointer input should be captured during the drag; false otherwise.Gets the installed controller.
Defined in
DropInputMode.controllerGets or sets the event recognizer that determines whether to disable snapping temporarily.
Property Value
Gets or sets the DragDropEffects that will be used for drags on the canvas.
Defined in
DropInputMode.dragDropEffectGets the currently dragged IModelItem instance.
Overrides
ItemDropInputMode.draggedItemDefined in
DropInputMode.dropDataGets the pointer position after dropping an item.
Defined in
DropInputMode.dropLocationGets the drop target at snappedPointerPosition
Examples
mode.nodeDropInputMode.enabled = falseDefined in
DropInputMode.enabledThe 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.
Defined in
DropInputMode.exclusiveDefined in
DropInputMode.isDraggingGets or sets the predicate for testing whether an existing label owner in the graph can be used as owner for the currently dragged label.
The default implementation checks whether a valid label model parameter could be found for the combination of label owner and dragged label, and whether the label has an IEditLabelHelper that forbids adding new labels.
Note that during native drag and drop, draggedItem is always null and cannot be used for this check.
Gets or sets the callback for item creation.
See Also
Developer's Guide
Defined in
ItemDropInputMode.itemCreatorGets the last processed drag event argument.
Defined in
DropInputMode.lastDragEventArgsRetrieves the IInputModeContext this mode has been installed in.
null if this mode is currently not installed. Use createInputModeContext to obtain a context that has this IInputMode as the inputMode.Defined in
DropInputMode.parentInputModeContextGets the current pointer position during drag operations.
Defined in
DropInputMode.pointerPositionGets the graph displayed as item preview.
Property Value
null if no preview is displayed at the moment.See Also
Developer's Guide
Defined in
ItemDropInputMode.previewGraphDefined in
DropInputMode.priorityGets or sets the GraphSnapContext which is used to snap the dragged element during the drag.
null (the default), this input mode tries to obtain the GraphSnapContext from the IInputModeContext. To explicitly disable snapping, a GraphSnapContext implementation that is disabled needs to be set.See Also
Developer's Guide
Defined in
ItemDropInputMode.snapContextGets the current snapped pointer position during drag operations.
Defined in
ItemDropInputMode.snappedPointerPositionGets or sets a value indicating whether the default implementation of getNewLabelModelParameter should determine a parameter that best matches the location of the dropped label, or if it should directly use the parameter stored in the dropped item.
false, which means the parameter from the dropped label will be used directly.Gets or sets the IHitTestable that determines whether the given location is a valid drop location.
Property Value
true for valid drop locations.See Also
Developer's Guide
Defined in
DropInputMode.validDropHitTestableMethods
Called to adjust the dropEffect accordingly.
Parameters
- evt: DragEventArgs
- The event args of the drag event to adjust the effects for.
Return Value
- boolean
trueif the drag event is handled by this input mode.
Overrides
DropInputMode.adjustEffectDefined in
DropInputMode.cancelOverrides
ItemDropInputMode.cleanUpDefined in
ItemDropInputMode.cleanUpDropTargetOverrides
ItemDropInputMode.cleanUpPreviewDefined in
ItemDropInputMode.cleanUpSnapContextCallback registered on the SnapContext that collects SnapResults for the dragged element.
Parameters
- evt: CollectSnapResultsEventArgs
- The arguments describing the movement SnapResults shall be collected for.
- source: any
- The SnapContext this callback is registered at.
Defined in
ItemDropInputMode.collectSnapResultsCreates an implementation of IInputModeContext that is specific to this mode.
This is needed for events that are triggered by this InputMode to signalize where the event is coming from. A common usage for this is for example in isHit calls.
The result can be given to isHit or enumerateHits to let implementations of IHitTestable get access to the current IInputModeContext. This can be done by looking up IInputModeContext from the ICanvasContext's lookup method or simply downcasting.
Return Value
- IInputModeContext
- A readily configured IInputModeContext.
Defined in
ItemDropInputMode.createInputModeContextHelper method that yields a suitably configured InputModeEventArgs for this input mode.
Return Value
- InputModeEventArgs
- An input mode event argument that is configured for this instance.
Defined in
DropInputMode.createInputModeEventArgsCreates the label in the graph after it's been dropped.
This method is called by the itemCreator that is set as default on this class.
It queries the dropTarget for an IEditLabelHelper. If one is found, it delegates to its finish method with action DROP to create the label. If none is found, the label is added using the graph's addLabel method.
Parameters
- context: IInputModeContext
- The context for which the label should be created.
- graph: IGraph
- The Graph in which to create the label.
- label: ILabel
- The label that was dragged and should therefore be created.
- dropTarget: ILabelOwner
- The ILabelOwner on which the label is dropped.
- parameter: ILabelModelParameter
- The ILabelModelParameter of the new label.
Return Value
- ILabel
- a newly created label.
See Also
Developer's Guide
Looks for a valid label owner at the dragLocation.
dragLocation.Parameters
- dragLocation: Point
- The location to return the drop target for.
Return Value
- IModelItem
- A label owner or
nullif no valid label owner was found at the drag location.
See Also
Developer's Guide
Overrides
ItemDropInputMode.getDropTargetGet the layout the dragged label currently has.
Determines the ILabelModelParameter the label should have if it was dropped at dragLocation over owner.
dragLocation over owner.If useLocationForParameter is false (the default), this implementation returns the layoutParameter of the draggedLabel if it is applicable to owner. If it is not applicable, the method returns null. In this case, the dragLocation is ignored.
If useLocationForParameter is true, this implementation will use the model of the draggedLabel (if compatible with owner) and calls findBestParameter to determine the parameter that best matches the current dragLocation.
Parameters
- owner: ILabelOwner
- The label owner where the label would be created. May be
null. - draggedLabel: ILabel
- The label that is currently dragged.
- dragLocation: Point
- The current drag location.
Return Value
See Also
Developer's Guide
Defined in
ItemDropInputMode.initializeDropTargetSee Also
Developer's Guide
Defined in
ItemDropInputMode.initializePreviewDefined in
ItemDropInputMode.initializeSnapContextInstalls this mode into the given canvas.
Parameters
- context: IInputModeContext
- the context to install this mode into
- controller: ConcurrencyController
- The controller for this mode.
See Also
Defined in
DropInputMode.installDetermines whether the specified label can be added to the given label owner.
This method validates whether the model of the draggedLabel can be added to the specified owner. The validation is successful if the model of the draggedLabel is of type FreeLabelModel. Alternatively, it is valid if the type of the draggedLabel's owner matches the type of the owner, such as when both are nodes, edges, or ports.
Additionally, the method checks whether the owner has an associated IEditLabelHelper that might prohibit adding new labels.
This method is used as the default implementation for the isValidLabelOwnerPredicate.
Parameters
- owner: ILabelOwner
- The label owner to which the label is being added. This parameter cannot be
null. - draggedLabel: ILabel
- The label being dragged and potentially added to the owner.
Return Value
- boolean
trueif thedraggedLabelcan be added to the specifiedowner; 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.
Defined in
DropInputMode.onCanceledCan 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.
Called once a drag has been dropped on the canvas.
Parameters
- evt: InputModeEventArgs
- The event argument that contains context information.
Defined in
ItemDropInputMode.onDragDroppedCalled once a drag has entered the canvas.
Parameters
- evt: InputModeEventArgs
- The event argument that contains context information.
Overrides
ItemDropInputMode.onDragEnteredCalled whenever a drag is over the canvas.
Parameters
- evt: InputModeEventArgs
- The event argument that contains context information.
Defined in
ItemDropInputMode.onDraggedOverCalled once a drag has left the canvas.
Parameters
- evt: InputModeEventArgs
- The event argument that contains context information.
Defined in
ItemDropInputMode.onDragLeftCalled whenever a new item is created.
Parameters
- evt: InputModeItemEventArgs<ILabel>
- The InputModeItemEventArgs<TModelItem> containing the new item.
Overrides
ItemDropInputMode.onItemCreatedCalled after tryStop has been called.
Can be overridden in subclasses to perform additional actions after the mode has been stopped.
This implementation does nothing.
Defined in
DropInputMode.onStoppedSubclasses shall fill the specified graph that is used to preview the dragged item.
Sets the drag location and calls updatePreview to update the layout of item preview based on the pointer coordinates and the results of the snapContext.
Parameters
- location: Point
- The current location of the pointer in world coordinates.
Defined in
ItemDropInputMode.setDragLocationOverridden to only return true if this instance does not currently have the input mutex.
true if this instance does not currently have the input mutex.Uninstalls this mode from the canvas.
Parameters
- context: IInputModeContext
- the context
Defined in
DropInputMode.uninstallParameters
- dragLocation: Point
- The location to update the drop target for.
Defined in
ItemDropInputMode.updateDropTargetSubclasses shall update the previewGraph so the dragged item is displayed at the specified dragLocation.
dragLocation.Events
Occurs when a drag operation is dropped onto the CanvasComponent into which this instance is installed.
No event is raised
- if this instance is not enabled,
- if another concurrent input mode is active or
- the data from the drag operation does not conform to the expected type.
To get additional data for the event, clients should use the sender which is set to the sending DropInputMode. The EventArgs provide no useful data.
Properties of
InputModeEventArgs- context: IInputModeContext
- Gets the context for the current event.
See Also
Developer's Guide
Defined in
DropInputMode.drag-droppedOccurs when a drag operation enters the CanvasComponent into which this instance is installed.
No event is raised
- if this instance is not enabled,
- if another concurrent input mode is active or
- the data from the drag operation does not conform to the expected type.
To get additional data for the event, clients should use the sender which is set to the sending DropInputMode. The EventArgs provide no useful data.
Properties of
InputModeEventArgs- context: IInputModeContext
- Gets the context for the current event.
See Also
Developer's Guide
Defined in
DropInputMode.drag-enteredOccurs when a drag operation leaves the CanvasComponent into which this instance is installed.
No event is raised
- if this instance is not enabled,
- if another concurrent input mode is active or
- the data from the drag operation does not conform to the expected type.
To get additional data for the event, clients should use the sender which is set to the sending DropInputMode. The EventArgs provide no useful data.
Properties of
InputModeEventArgs- context: IInputModeContext
- Gets the context for the current event.
See Also
Developer's Guide
Defined in
DropInputMode.drag-leftOccurs when a drag operation drags over the CanvasComponent into which this instance is installed.
No event is raised
- if this instance is not enabled,
- if another concurrent input mode is active or
- the data from the drag operation does not conform to the expected type.
To get additional data for the event, clients should use the sender which is set to the sending DropInputMode. The EventArgs provide no useful data.
Properties of
InputModeEventArgs- context: IInputModeContext
- Gets the context for the current event.
See Also
Developer's Guide
Defined in
DropInputMode.drag-overOccurs when a new item gets created by this input mode.
Properties of
InputModeItemEventArgs<ILabel>- context: IInputModeContext
- Gets the context for the current event.
- item: TModelItem
- Gets the item which has been created or changed.
Defined in
ItemDropInputMode.item-createdConstants
The transfer type to which the LabelDropInputMode and its startDrag method is configured by default.
Static Methods
Starts a drag and drop operation for a ILabel.
This method creates a DragSource, and then invokes startDrag with a DragDropItem that contains the label and the corresponding type.
If useLocationForParameter is false, then the label needs a correct preferred size. Additionally, the label owner needs a correct size for label parameters which consider the owner's geometry (e.g. stretch label models).
If useCssCursors is enabled, the following CSS classes are assigned to elements hovered during a drag operation, depending on the allowed drag-drop operations for these elements:
yfiles-cursor-dragdrop-moveyfiles-cursor-dragdrop-linkyfiles-cursor-dragdrop-allyfiles-cursor-dragdrop-no-drop
Parameters
- dragSource: any
- The source of the drag operation.
- label: ILabel
- The label to drag.
- dragDropEffects?: DragDropEffects
- The allowed drag drop effects.
- useCssCursors?: boolean
- Whether to adjust the classes of elements being hovered over during the drag. The default is
true. - dragPreview?: any
- Optional element that should be shown during dragging, e.g. outside of the GraphComponent. Note that this feature requires support for CSS pointer-events and should not be used in browsers that do not support it.
Return Value
- DragSource
- The new DragSource instance.