Table of Contents

Class DraggingOptions

Namespace
Northwoods.Go
Assembly
Northwoods.GoDiagram.WinForms.dll

This class contains options for dragging and moving parts.

public class DraggingOptions
Inheritance
DraggingOptions
Inherited Members

Remarks

This is used by MoveParts(IEnumerable<Part>, Point, bool, DraggingOptions) and ComputeMove(Part, Point, DraggingOptions).

Both the Diagram and its DraggingTool have a DraggingOptions instance. Typically, only the DraggingTool one is used, unless the Diagram has no DraggingTool defined.

In typical DraggingTool operation you do not need to create or modify a DraggingOptions instance. Setting properties on the DraggingTool such as IsGridSnapEnabled sets the value on the DragOptions instance for you.

Constructors

DraggingOptions()

Constructs a DraggingOptions.

public DraggingOptions()

Properties

Gets or sets whether the user can move a single Link, disconnecting it from connected nodes and possibly connecting it to valid ports.

public bool DragsLink { get; set; }

Property Value

bool

By default this property is false.

In typical DraggingTool operation this is set via DragsLink.

DragsMembers

Determines whether dragging a Group also drags its member Parts if there is no Group.Placeholder.

public bool DragsMembers { get; set; }

Property Value

bool

Remarks

By default this property is true.

DragsTree

Gets or sets whether moving or copying a node also includes all of the node's tree children and their descendants, along with the links to those additional nodes.

public bool DragsTree { get; set; }

Property Value

bool

Remarks

By default this property is false.

In typical DraggingTool operation this is set via DragsTree.

GridSnapCellSize

Gets or sets the size of the grid cell used when snapping during a drag.

public Size GridSnapCellSize { get; set; }

Property Value

Size

Remarks

By default this property is the Size(double.NaN, double.NaN), which causes this tool to use the GridCellSize value of the Grid.

In typical DraggingTool operation this is set via GridSnapCellSize.

GridSnapCellSpot

Gets or sets the Spot that specifies what point in the grid cell dragged parts snap to, if the value of IsGridSnapEnabled is true.

public Spot GridSnapCellSpot { get; set; }

Property Value

Spot

Remarks

By default this property is TopLeft.

In typical DraggingTool operation this is set via GridSnapCellSpot.

GridSnapOrigin

Gets or sets the snapping grid's origin point, in document coordinates, if the value of IsGridSnapEnabled is true.

public Point GridSnapOrigin { get; set; }

Property Value

Point

Remarks

By default this property is the Point(double.NaN, double.NaN).

In typical DraggingTool operation this is set via GridSnapOrigin.

GroupsAlwaysMove

Determines whether or not Groups will ensure their member Parts always move, even if those member parts have Copyable and Movable set to false.

public bool GroupsAlwaysMove { get; set; }

Property Value

bool

Remarks

By default this property is true.

GroupsSnapMembers

Determines whether or not Groups will snap their member Parts in addition to themselves when moving.

public bool GroupsSnapMembers { get; set; }

Property Value

bool

Remarks

By default this property is false.

IsGridSnapEnabled

Whether or not the dragged parts snap to the Grid.

public bool IsGridSnapEnabled { get; set; }

Property Value

bool

Remarks

By default this property is false.

In typical DraggingTool operation this is set via IsGridSnapEnabled.

IsGridSnapRealtime

If dragging with the DraggingTool, whether or not Parts snap to a grid (if applicable) in real-time, or only at the end of the dragging transaction.

public bool IsGridSnapRealtime { get; set; }

Property Value

bool

Remarks

By default this property is true.

In typical DraggingTool operation this is set via IsGridSnapRealtime.

See Also