This special Tool is responsible for managing all of the Diagram's mode-less tools.
You do not normally need to create an instance of this tool because one already exists as the Diagram#toolManager, which you can modify.
This value for #mouseWheelBehavior indicates that the mouse wheel events are ignored, although scrolling or zooming by other means may still be allowed.
This default value for #mouseWheelBehavior indicates that mouse wheel events scroll the diagram.
This value for #mouseWheelBehavior indicates that the mouse wheel events change the scale of the diagram.
Gets or sets the mode-less ActionTool, normally one of the #mouseDownTools.
Gets or sets the mode-less ClickCreatingTool, normally one of the #mouseUpTools.
Gets or sets the mode-less ClickSelectingTool, normally one of the #mouseUpTools.
Gets or sets the mode-less ContextMenuTool, normally one of the #mouseUpTools.
Gets the currently showing tooltip, or null if there is none.
Gets the Diagram that owns this tool and for which this tool is handling input events.
Gets or sets the mode-less DragSelectingTool, normally one of the #mouseMoveTools.
Gets or sets the distance in view coordinates within which a mouse down-and-up is considered a click and beyond which a mouse movement is considered a drag.
Gets or sets the mode-less DraggingTool, normally one of the #mouseMoveTools.
Gets or sets the time between when the mouse stops moving and a hold event, in milliseconds.
Gets or sets the time between when the mouse stops moving and a hover event, in milliseconds.
Gets or sets whether this tool is started and is actively doing something.
Gets or sets whether this tool can be started by a mouse event.
Gets or sets the mode-less LinkReshapingTool, normally one of the #mouseDownTools.
Gets or sets the mode-less LinkingTool, normally one of the #mouseMoveTools.
Gets the list of Tools that might be started upon a mouse-down event.
Gets the list of Tools that might be started upon a mouse-move event.
Gets the list of Tools that might be started upon a mouse-up event.
Gets or sets the ToolManager's mouse wheel behavior.
Gets or sets the name of this tool.
Gets or sets the mode-less PanningTool, normally one of the #mouseMoveTools.
Gets or sets the mode-less RelinkingTool, normally one of the #mouseDownTools.
Gets or sets the mode-less ResizingTool, normally one of the #mouseDownTools.
Gets or sets the mode-less RotatingTool, normally one of the #mouseDownTools.
Gets or sets the mode-less TextEditingTool, normally one of the #mouseUpTools.
Gets or sets the name of the transaction to be committed by #stopTransaction; if null, the transaction will be rolled back.
This predicate is used by the ToolManager to decide if this tool can be started mode-lessly by mouse and touch events.
boolean
This is called to cancel any running "WaitAfter" timer.
any
This method is called by the diagram after setting Diagram#currentTool, to make the new tool active.
any
The diagram will call this method when the user wishes to cancel the current tool's operation.
any
This method is called by the diagram on the old tool when Diagram#currentTool is set to a new tool.
any
This just calls CommandHandler#doKeyDown on the diagram's Diagram#commandHandler.
any
This just calls CommandHandler#doKeyUp on the diagram's Diagram#commandHandler.
any
Iterate over the #mouseDownTools list and start the first tool for which its Tool#canStart predicate returns true.
any
Implement the standard behavior for mouse hover and mouse hold events, called by #doWaitAfter when the mouse has not moved for a period of time.
any
Iterate over the #mouseMoveTools list and start the first tool for which its Tool#canStart predicate returns true.
any
Iterate over the #mouseUpTools list and start the first tool for which its Tool#canStart predicate returns true.
any
The diagram will call this method as the mouse wheel is rotated.
any
This method is called by the diagram when this tool becomes the current tool; you should not call this method.
any
This method is called by the diagram when this tool stops being the current tool; you should not call this method.
any
Implement the standard behavior for tooltips, called by #doWaitAfter when the mouse has not moved for a period of time.
any
Implement the standard behavior for when the mouse has not moved for a period of time.
any
Find a mouse tool of a given name.
This convenience function finds the front-most GraphObject that is at a given point and that is part of an Adornment that is of a given category.
a Point in document coordinates.
the required Part#category of the Adornment.
Hide any tooltip.
any
Initialize the three mouse tool lists with instances of the standard tools.
any
Return true when the last mouse point is far enough away from the first mouse down point to constitute a drag operation instead of just a potential click.
Point in view coordinates, defaults to Diagram#firstInput's InputEvent#viewPoint.
Point in view coordinates, defaults to Diagram#lastInput's InputEvent#viewPoint.
boolean
This is called by #showToolTip to position the part within the viewport.
The GraphObject getting the tooltip.
any
Replace a mouse tool of a given name with a new tool.
the type of tool, such as "Dragging" or "ClickSelecting".
If null, any tool that the search finds will just be removed from the list in which it was found.
Show a tooltip Adornment.
The GraphObject getting the tooltip; this is null if the tooltip is being shown for the diagram background.
any
Implement the standard behavior for mouse clicks, searching for and calling click handler functions on GraphObjects or on Diagram, and raising the corresponding DiagramEvent.
An optional custom navigation function to find target objects.
An optional custom predicate
any
Implement the standard behavior for mouse enter, over, and leave events, where the mouse is moving but no button is pressed.
any
Implement the standard behavior for selecting parts with the mouse, depending on the control and shift modifier keys.
any
Implement the standard behavior for mouse wheel events.
any
This is called to start a new timer to call #doWaitAfter after a given delay.
in milliseconds
any
Call Diagram#startTransaction with the given transaction name.
a description of the transaction
boolean
If the Diagram#currentTool is this tool, stop this tool and start the Diagram#defaultTool by making it be the new current tool.
any
If #transactionResult is null, call Diagram#rollbackTransaction, otherwise call Diagram#commitTransaction.
boolean
The diagram asks each tool to update any adornments the tool might use for a given part.
any