Namespace Northwoods.Go.Tools
Classes
- ActionTool
The ActionTool is responsible for handling and dispatching mouse events on GraphObjects that have IsActionable set to true. This is how one implements "controls", such as buttons or sliders or knobs, as GraphObjects that can be inside Parts without interfering with the standard tool behaviors.
- ClickCreatingTool
The ClickCreatingTool lets the user create a node by clicking where they want the new node to be. By default a double-click is required to start this tool; set IsDoubleClick to false if you want a single-click to create a node.
- ClickSelectingTool
The ClickSelectingTool selects and deselects Parts when there is a click. It does this by calling StandardMouseSelect(). It is also responsible for handling and dispatching click events on GraphObjects by calling StandardMouseClick(Func<GraphObject, GraphObject>).
- ContextMenuTool
The ContextMenuTool is used to create and show a context menu. It automatically disables any browser context menu.
- DragSelectingTool
The DragSelectingTool lets the user select multiple parts within a rectangular area drawn by the user.
- DraggingTool
The DraggingTool is used to move or copy selected parts with the mouse. This sets the Location property; you may want to save the location to the model by using a TwoWay Binding on the "Location" property in your Parts/Nodes/Groups templates.
- LinkReshapingTool
The LinkReshapingTool is used to interactively change the route of a Link by setting its Points list. You may want to save the route to the model by using a TwoWay Binding on the "Points" property of the Link.
- LinkingBaseTool
This abstract class is the base class for the LinkingTool and RelinkingTool classes.
- LinkingTool
The LinkingTool lets a user draw a new Link between two ports, using a mouse-drag operation.
- PanningTool
The PanningTool supports manual panning, where the user can shift the Position by dragging the mouse.
- RelinkingTool
The RelinkingTool allows the user to reconnect an existing Link if the RelinkableTo and/or RelinkableFrom properties are true.
- ResizingTool
The ResizingTool is used to interactively change the size of a GraphObject in the selected Part or Node by setting its DesiredSize property. You may want to save the size to the model by using a TwoWay Binding on the "DesiredSize" property of the GraphObject that is named by ResizeElementName. This tool does not operate on Links.
- RotatingTool
The RotatingTool is used to interactively change the Angle of a GraphObject by setting its Angle property. You may want to save the angle to the model by using a TwoWay Binding on the "Angle" property of the GraphObject that is named by RotateElementName.
- TextEditingTool
The TextEditingTool is used to let the user interactively edit text in place. This sets the Text property; you may want to save the changed text to the model by using a TwoWay Binding on the "Text" property of editable TextBlocks.
- Tool
Tools handle mouse, keyboard, and touch events. The currently running tool, CurrentTool, receives all input events from the Diagram via canonicalized InputEvents.
- ToolManager
This special Tool is responsible for managing all of the Diagram's mode-less tools, which you can access as the ToolManager.
Mode-less tools are tools that are present in one of the following lists: MouseDownTools, MouseMoveTools, or MouseUpTools. This ToolManager tool is normally the DefaultTool, so it is also usually the CurrentTool when the user is doing "nothing".
Interfaces
- IHasContextMenu
This simple interface is implemented by classes that allow for the use of a ContextMenu, namely Diagram and GraphObject.
- IHasToolTip
This simple interface is implemented by classes that allow for the use of a ToolTip, namely Diagram and GraphObject.
Enums
- GestureMode
This enumeration specifies possible values for GestureBehavior.
- LinkingDirection
This enumeration specifies possible values for Direction.
- ReshapingBehavior
This enumeration specifies possible values for SetReshapingBehavior(GraphObject, ReshapingBehavior) and GetReshapingBehavior(GraphObject).
- TextEditingAccept
This enumeration specifies possible values for AcceptText(TextEditingAccept).
- TextEditingStarting
This enumeration specifies possible values for Starting.
- TextEditingState
This enumeration specifies possible values for State.
- WheelMode
This enumeration specifies possible values for MouseWheelBehavior.