API Reference - miroiu/nodify GitHub Wiki

Alignment Enum

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectValueTypeEnumAlignment

public enum Alignment

Fields

Bottom

public const Alignment Bottom = 2;

Field Value

Alignment

Center

public const Alignment Center = 5;

Field Value

Alignment

Left

public const Alignment Left = 1;

Field Value

Alignment

Middle

public const Alignment Middle = 4;

Field Value

Alignment

Right

public const Alignment Right = 3;

Field Value

Alignment

Top

public const Alignment Top = 0;

Field Value

Alignment

BaseConnection Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementShapeBaseConnection

Derived: LineConnection, Connection

References: ConnectionEventHandler, ConnectionOffsetMode, ConnectionDirection, LineConnection, ConnectionEventArgs, NodifyEditor

Represents the base class for shapes that are drawn from a BaseConnection.Source point to a BaseConnection.Target point.

public abstract class BaseConnection : Shape

Constructors

BaseConnection()

protected BaseConnection();

Fields

ArrowSizeProperty

public static DependencyProperty ArrowSizeProperty;

Field Value

DependencyProperty

DirectionProperty

public static DependencyProperty DirectionProperty;

Field Value

DependencyProperty

DisconnectCommandProperty

public static DependencyProperty DisconnectCommandProperty;

Field Value

DependencyProperty

DisconnectEvent

public static RoutedEvent DisconnectEvent;

Field Value

RoutedEvent

OffsetModeProperty

public static DependencyProperty OffsetModeProperty;

Field Value

DependencyProperty

SourceOffsetProperty

public static DependencyProperty SourceOffsetProperty;

Field Value

DependencyProperty

SourceProperty

public static DependencyProperty SourceProperty;

Field Value

DependencyProperty

SpacingProperty

public static DependencyProperty SpacingProperty;

Field Value

DependencyProperty

SplitCommandProperty

public static DependencyProperty SplitCommandProperty;

Field Value

DependencyProperty

SplitEvent

public static RoutedEvent SplitEvent;

Field Value

RoutedEvent

TargetOffsetProperty

public static DependencyProperty TargetOffsetProperty;

Field Value

DependencyProperty

TargetProperty

public static DependencyProperty TargetProperty;

Field Value

DependencyProperty

ZeroVector

Gets a vector that has its coordinates set to 0.

protected static Vector ZeroVector;

Field Value

Vector

Properties

ArrowSize

Gets or sets the size of the arrow head.

public Size ArrowSize { get; set; }

Property Value

Size

DefiningGeometry

protected override Geometry DefiningGeometry { get; set; }

Property Value

Geometry

Direction

Gets or sets the direction in which this connection is oriented.

public ConnectionDirection Direction { get; set; }

Property Value

ConnectionDirection

DisconnectCommand

Removes this connection. Triggered by Nodify.EditorGestures.Connection.Disconnect gesture. Parameter is the location where the disconnect ocurred.

public ICommand DisconnectCommand { get; set; }

Property Value

ICommand

OffsetMode

Gets or sets the ConnectionOffsetMode to apply when drawing the connection.

public ConnectionOffsetMode OffsetMode { get; set; }

Property Value

ConnectionOffsetMode

Source

Gets or sets the start point of this connection.

public Point Source { get; set; }

Property Value

Point

SourceOffset

Gets or sets the offset from the BaseConnection.Source point.

public Size SourceOffset { get; set; }

Property Value

Size

Spacing

The distance between the start point and the where the angle breaks.

public double Spacing { get; set; }

Property Value

Double

SplitCommand

Splits the connection. Triggered by Nodify.EditorGestures.Connection.Split gesture. Parameter is the location where the splitting ocurred.

public ICommand SplitCommand { get; set; }

Property Value

ICommand

Target

Gets or sets the end point of this connection.

public Point Target { get; set; }

Property Value

Point

TargetOffset

Gets or sets the offset from the BaseConnection.Target point.

public Size TargetOffset { get; set; }

Property Value

Size

Methods

DrawArrowGeometry(StreamGeometryContext, Point, Point)

protected virtual void DrawArrowGeometry(StreamGeometryContext context, Point source, Point target);

Parameters

context StreamGeometryContext

source Point

target Point

DrawLineGeometry(StreamGeometryContext, Point, Point)

protected virtual ValueTuple<Point, Point> DrawLineGeometry(StreamGeometryContext context, Point source, Point target);

Parameters

context StreamGeometryContext

source Point

target Point

Returns

ValueTuple<Point, Point>

GetArrowHeadPoints(Point, Point)

protected virtual ValueTuple<Point, Point> GetArrowHeadPoints(Point source, Point target);

Parameters

source Point

target Point

Returns

ValueTuple<Point, Point>

GetOffset()

Gets the resulting offset after applying the BaseConnection.OffsetMode.

protected virtual ValueTuple<Vector, Vector> GetOffset();

Returns

ValueTuple<Vector, Vector>

OnMouseDown(MouseButtonEventArgs)

protected override void OnMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnMouseUp(MouseButtonEventArgs)

protected override void OnMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

Events

Disconnect

Triggered by the Nodify.EditorGestures.Connection.Disconnect gesture.

public event ConnectionEventHandler Disconnect;

Event Type

ConnectionEventHandler

Split

Triggered by the Nodify.EditorGestures.Connection.Split gesture.

public event ConnectionEventHandler Split;

Event Type

ConnectionEventHandler

BoxValue Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectBoxValue

public static class BoxValue

Fields

ArrowSize

public static object ArrowSize;

Field Value

Object

Double0

public static object Double0;

Field Value

Object

Double1

public static object Double1;

Field Value

Object

Double1000

public static object Double1000;

Field Value

Object

Double2

public static object Double2;

Field Value

Object

Double45

public static object Double45;

Field Value

Object

DoubleHalf

public static object DoubleHalf;

Field Value

Object

False

public static object False;

Field Value

Object

Int0

public static object Int0;

Field Value

Object

Int1

public static object Int1;

Field Value

Object

Point

public static object Point;

Field Value

Object

Rect

public static object Rect;

Field Value

Object

Size

public static object Size;

Field Value

Object

True

public static object True;

Field Value

Object

UInt1

public static object UInt1;

Field Value

Object

CircuitConnection Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementShapeBaseConnectionLineConnectionCircuitConnection

Represents a line that is controlled by an angle.

public class CircuitConnection : LineConnection

Constructors

CircuitConnection()

public CircuitConnection();

Fields

AngleProperty

public static DependencyProperty AngleProperty;

Field Value

DependencyProperty

Degrees

protected const double Degrees = 0.017453292519943295d;

Field Value

Double

Properties

Angle

The angle of the connection in degrees.

public double Angle { get; set; }

Property Value

Double

Methods

DrawLineGeometry(StreamGeometryContext, Point, Point)

protected override ValueTuple<Point, Point> DrawLineGeometry(StreamGeometryContext context, Point source, Point target);

Parameters

context StreamGeometryContext

source Point

target Point

Returns

ValueTuple<Point, Point>

Connection Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementShapeBaseConnectionConnection

References: Connector, NodifyEditor

Represents a quadratic curve.

public class Connection : BaseConnection

Constructors

Connection()

public Connection();

Methods

DrawLineGeometry(StreamGeometryContext, Point, Point)

protected override ValueTuple<Point, Point> DrawLineGeometry(StreamGeometryContext context, Point source, Point target);

Parameters

context StreamGeometryContext

source Point

target Point

Returns

ValueTuple<Point, Point>

Connection Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectConnection

public static class Connection

Properties

Disconnect

public static InputGesture Disconnect { get; set; }

Property Value

InputGesture

Split

public static InputGesture Split { get; set; }

Property Value

InputGesture

ConnectionDirection Enum

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectValueTypeEnumConnectionDirection

References: BaseConnection, PendingConnection

The direction in which a connection is oriented.

public enum ConnectionDirection

Fields

Backward

From BaseConnection.Target to BaseConnection.Source.

public const ConnectionDirection Backward = 1;

Field Value

ConnectionDirection

Forward

From BaseConnection.Source to BaseConnection.Target.

public const ConnectionDirection Forward = 0;

Field Value

ConnectionDirection

ConnectionEventArgs Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEventArgsRoutedEventArgsConnectionEventArgs

References: ConnectionEventHandler, BaseConnection

Provides data for BaseConnection related routed events.

public class ConnectionEventArgs : RoutedEventArgs

Constructors

ConnectionEventArgs(Object)

Initializes a new instance of the ConnectionEventArgs class using the specified ConnectionEventArgs.Connection.

public ConnectionEventArgs(object connection);

Parameters

connection Object: The FrameworkElement.DataContext of a related BaseConnection.

Properties

Connection

Gets the FrameworkElement.DataContext of the BaseConnection associated with this event.

public object Connection { get; set; }

Property Value

Object

SplitLocation

Gets or sets the location where the connection should be split.

public Point SplitLocation { get; set; }

Property Value

Point

Methods

InvokeEventHandler(Delegate, Object)

protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);

Parameters

genericHandler Delegate

genericTarget Object

ConnectionEventHandler Delegate

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDelegateMulticastDelegateConnectionEventHandler

References: ConnectionEventArgs, BaseConnection

Represents the method that will handle BaseConnection related routed events.

public delegate void ConnectionEventHandler(object sender, ConnectionEventArgs e);

Parameters

sender Object: The object where the event handler is attached.

e ConnectionEventArgs: The event data.

ConnectionOffsetMode Enum

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectValueTypeEnumConnectionOffsetMode

References: BaseConnection

Specifies the offset type that can be applied to a BaseConnection using the BaseConnection.SourceOffset and the BaseConnection.TargetOffset values.

public enum ConnectionOffsetMode

Fields

Circle

The offset is applied in a circle around the point.

public const ConnectionOffsetMode Circle = 1;

Field Value

ConnectionOffsetMode

Edge

The offset is applied in a rectangle shape around the point, perpendicular to the edges.

public const ConnectionOffsetMode Edge = 3;

Field Value

ConnectionOffsetMode

None

No offset applied.

public const ConnectionOffsetMode None = 0;

Field Value

ConnectionOffsetMode

Rectangle

The offset is applied in a rectangle shape around the point.

public const ConnectionOffsetMode Rectangle = 2;

Field Value

ConnectionOffsetMode

Connector Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectConnector

References: PendingConnection, Connection, ItemContainer, NodifyEditor, ConnectorEventHandler, ConnectorEventArgs, PendingConnectionEventArgs, KnotNode, Node, NodeInput, NodeOutput, StateNode

Represents a connector control that can start and complete a PendingConnection. Has a Connector.ElementConnector that the Connector.Anchor is calculated from for the PendingConnection. Center of this control is used if missing.

public static class Connector

Properties

CancelAction

public static InputGesture CancelAction { get; set; }

Property Value

InputGesture

Connect

public static InputGesture Connect { get; set; }

Property Value

InputGesture

Disconnect

Triggered by the Nodify.EditorGestures.Connector.Disconnect gesture.

public static InputGesture Disconnect { get; set; }

Property Value

InputGesture

Connector Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlConnector

Derived: NodeInput, NodeOutput, StateNode

References: PendingConnectionEventHandler, ConnectorEventHandler, ItemContainer

public class Connector : Control

Constructors

Connector()

public Connector();

Fields

AnchorProperty

public static DependencyProperty AnchorProperty;

Field Value

DependencyProperty

DisconnectCommandProperty

public static DependencyProperty DisconnectCommandProperty;

Field Value

DependencyProperty

DisconnectEvent

public static RoutedEvent DisconnectEvent;

Field Value

RoutedEvent

ElementConnector

protected const string ElementConnector = "PART_Connector";

Field Value

String

EnableOptimizations

public static bool EnableOptimizations;

Field Value

Boolean

IsConnectedProperty

public static DependencyProperty IsConnectedProperty;

Field Value

DependencyProperty

IsPendingConnectionProperty

public static DependencyProperty IsPendingConnectionProperty;

Field Value

DependencyProperty

OptimizeMinimumSelectedItems

public static uint OptimizeMinimumSelectedItems;

Field Value

UInt32

OptimizeSafeZone

public static double OptimizeSafeZone;

Field Value

Double

PendingConnectionCompletedEvent

public static RoutedEvent PendingConnectionCompletedEvent;

Field Value

RoutedEvent

PendingConnectionDragEvent

public static RoutedEvent PendingConnectionDragEvent;

Field Value

RoutedEvent

PendingConnectionStartedEvent

public static RoutedEvent PendingConnectionStartedEvent;

Field Value

RoutedEvent

Properties

AllowPendingConnectionCancellation

public static bool AllowPendingConnectionCancellation { get; set; }

Property Value

Boolean

Anchor

public Point Anchor { get; set; }

Property Value

Point

Container

protected ItemContainer Container { get; set; }

Property Value

ItemContainer

DisconnectCommand

public ICommand DisconnectCommand { get; set; }

Property Value

ICommand

EnableStickyConnections

public static bool EnableStickyConnections { get; set; }

Property Value

Boolean

IsConnected

public bool IsConnected { get; set; }

Property Value

Boolean

IsPendingConnection

public bool IsPendingConnection { get; protected set; }

Property Value

Boolean

Thumb

protected FrameworkElement Thumb { get; set; }

Property Value

FrameworkElement

Methods

OnApplyTemplate()

public override void OnApplyTemplate();

OnConnectorDrag(Vector)

protected virtual void OnConnectorDrag(Vector offset);

Parameters

offset Vector

OnConnectorDragCompleted(Boolean)

protected virtual void OnConnectorDragCompleted(bool cancel = false);

Parameters

cancel Boolean

OnConnectorDragStarted()

protected virtual void OnConnectorDragStarted();

OnDisconnect()

protected virtual void OnDisconnect();

OnKeyUp(KeyEventArgs)

protected override void OnKeyUp(KeyEventArgs e);

Parameters

e KeyEventArgs

OnLostMouseCapture(MouseEventArgs)

protected override void OnLostMouseCapture(MouseEventArgs e);

Parameters

e MouseEventArgs

OnMouseDown(MouseButtonEventArgs)

protected override void OnMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnMouseMove(MouseEventArgs)

protected override void OnMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

OnMouseUp(MouseButtonEventArgs)

protected override void OnMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnRenderSizeChanged(SizeChangedInfo)

protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo);

Parameters

sizeInfo SizeChangedInfo

UpdateAnchor(Point)

protected void UpdateAnchor(Point location);

Parameters

location Point

UpdateAnchor()

public void UpdateAnchor();

UpdateAnchorOptimized(Point)

protected void UpdateAnchorOptimized(Point location);

Parameters

location Point

Events

Disconnect

public event ConnectorEventHandler Disconnect;

Event Type

ConnectorEventHandler

PendingConnectionCompleted

public event PendingConnectionEventHandler PendingConnectionCompleted;

Event Type

PendingConnectionEventHandler

PendingConnectionDrag

public event PendingConnectionEventHandler PendingConnectionDrag;

Event Type

PendingConnectionEventHandler

PendingConnectionStarted

public event PendingConnectionEventHandler PendingConnectionStarted;

Event Type

PendingConnectionEventHandler

ConnectorEventArgs Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEventArgsRoutedEventArgsConnectorEventArgs

References: ConnectorEventHandler, Connector

Provides data for Connector related routed events.

public class ConnectorEventArgs : RoutedEventArgs

Constructors

ConnectorEventArgs(Object)

Initializes a new instance of the ConnectorEventArgs class using the specified ConnectorEventArgs.Connector.

public ConnectorEventArgs(object connector);

Parameters

connector Object: The FrameworkElement.DataContext of a related Connector.

Properties

Anchor

Gets or sets the Connector.Anchor of the Connector associated with this event.

public Point Anchor { get; set; }

Property Value

Point

Connector

Gets the FrameworkElement.DataContext of the Connector associated with this event.

public object Connector { get; set; }

Property Value

Object

Methods

InvokeEventHandler(Delegate, Object)

protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);

Parameters

genericHandler Delegate

genericTarget Object

ConnectorEventHandler Delegate

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDelegateMulticastDelegateConnectorEventHandler

References: ConnectorEventArgs, Connector, Connector

Represents the method that will handle Connector related routed events.

public delegate void ConnectorEventHandler(object sender, ConnectorEventArgs e);

Parameters

sender Object: The object where the event handler is attached.

e ConnectorEventArgs: The event data.

ContainerDefaultState Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectContainerStateContainerDefaultState

References: ItemContainer, ContainerState, ItemContainer

The default state of the ItemContainer.

public class ContainerDefaultState : ContainerState

Constructors

ContainerDefaultState(ItemContainer)

Creates a new instance of the ContainerDefaultState.

public ContainerDefaultState(ItemContainer container);

Parameters

container ItemContainer: The owner of the state.

Methods

HandleMouseDown(MouseButtonEventArgs)

public override void HandleMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

HandleMouseMove(MouseEventArgs)

public override void HandleMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

HandleMouseUp(MouseButtonEventArgs)

public override void HandleMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

ReEnter(ContainerState)

public override void ReEnter(ContainerState from);

Parameters

from ContainerState

ContainerDraggingState Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectContainerStateContainerDraggingState

References: ItemContainer, ContainerState

Dragging state of the container.

public class ContainerDraggingState : ContainerState

Constructors

ContainerDraggingState(ItemContainer)

Constructs an instance of the ContainerDraggingState state.

public ContainerDraggingState(ItemContainer container);

Parameters

container ItemContainer: The owner of the state.

Properties

Canceled

public bool Canceled { get; set; }

Property Value

Boolean

Methods

Enter(ContainerState)

public override void Enter(ContainerState from);

Parameters

from ContainerState

Exit()

public override void Exit();

HandleKeyUp(KeyEventArgs)

public override void HandleKeyUp(KeyEventArgs e);

Parameters

e KeyEventArgs

HandleMouseMove(MouseEventArgs)

public override void HandleMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

HandleMouseUp(MouseButtonEventArgs)

public override void HandleMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

ContainerState Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectContainerState

Derived: ContainerDefaultState, ContainerDraggingState

References: ContainerDefaultState, ContainerDraggingState, ItemContainer, NodifyEditor

The base class for container states.

public abstract class ContainerState

Constructors

ContainerState(ItemContainer)

Constructs a new ContainerState.

public ContainerState(ItemContainer container);

Parameters

container ItemContainer: The owner of the state.

Properties

Container

The owner of the state.

protected ItemContainer Container { get; set; }

Property Value

ItemContainer

Editor

The owner of the state.

protected NodifyEditor Editor { get; set; }

Property Value

NodifyEditor

Methods

Enter(ContainerState)

Called when Nodify.ItemContainer.PushState(Nodify.ContainerState) or Nodify.ItemContainer.PopState is called.

public virtual void Enter(ContainerState from);

Parameters

from ContainerState: The state we enter from (is null for root state).

Exit()

Called when Nodify.ItemContainer.PopState is called.

public virtual void Exit();

HandleKeyDown(KeyEventArgs)

public virtual void HandleKeyDown(KeyEventArgs e);

Parameters

e KeyEventArgs

HandleKeyUp(KeyEventArgs)

public virtual void HandleKeyUp(KeyEventArgs e);

Parameters

e KeyEventArgs

HandleMouseDown(MouseButtonEventArgs)

public virtual void HandleMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

HandleMouseMove(MouseEventArgs)

public virtual void HandleMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

HandleMouseUp(MouseButtonEventArgs)

public virtual void HandleMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

HandleMouseWheel(MouseWheelEventArgs)

public virtual void HandleMouseWheel(MouseWheelEventArgs e);

Parameters

e MouseWheelEventArgs

PopState()

Pops the current state from the stack.

public virtual void PopState();

PushState(ContainerState)

Pushes a new state into the stack.

public virtual void PushState(ContainerState newState);

Parameters

newState ContainerState: The new state.

ReEnter(ContainerState)

Called when Nodify.ItemContainer.PopState is called.

public virtual void ReEnter(ContainerState from);

Parameters

from ContainerState: The state we re-enter from.

DecoratorContainer Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlContentControlDecoratorContainer

Implements: INodifyCanvasItem

References: NodifyEditor

The container for all the items generated from the NodifyEditor.Decorators collection.

public class DecoratorContainer : ContentControl, INodifyCanvasItem

Constructors

DecoratorContainer()

public DecoratorContainer();

Fields

ActualSizeProperty

public static DependencyProperty ActualSizeProperty;

Field Value

DependencyProperty

LocationChangedEvent

public static RoutedEvent LocationChangedEvent;

Field Value

RoutedEvent

LocationProperty

public static DependencyProperty LocationProperty;

Field Value

DependencyProperty

Properties

ActualSize

Gets the actual size of this DecoratorContainer.

public Size ActualSize { get; set; }

Property Value

Size

Location

Gets or sets the location of this DecoratorContainer inside the NodifyEditor.DecoratorsHost.

public virtual Point Location { get; set; }

Property Value

Point

Methods

OnLocationChanged()

Raises the DecoratorContainer.LocationChangedEvent.

protected void OnLocationChanged();

OnRenderSizeChanged(SizeChangedInfo)

protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo);

Parameters

sizeInfo SizeChangedInfo

Events

LocationChanged

Occurs when the DecoratorContainer.Location of this DecoratorContainer is changed.

public event RoutedEventHandler LocationChanged;

Event Type

RoutedEventHandler

EditorCommands Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEditorCommands

References: ItemContainer, NodifyEditor

public static class EditorCommands

Properties

Align

Aligns NodifyEditor.SelectedItems using the specified alignment method. Parameter is of type Nodify.EditorCommands.Alignment or a string that can be converted to an alignment.

public static RoutedUICommand Align { get; set; }

Property Value

RoutedUICommand

BringIntoView

Moves the NodifyEditor.ViewportLocation to the specified location. Parameter is a Point or a string that can be converted to a point.

public static RoutedUICommand BringIntoView { get; set; }

Property Value

RoutedUICommand

FitToScreen

Scales the editor's viewport to fit all the ItemContainers if that's possible.

public static RoutedUICommand FitToScreen { get; set; }

Property Value

RoutedUICommand

SelectAll

Select all ItemContainers in the NodifyEditor.

public static RoutedUICommand SelectAll { get; set; }

Property Value

RoutedUICommand

ZoomIn

Zoom in relative to the editor's viewport center.

public static RoutedUICommand ZoomIn { get; set; }

Property Value

RoutedUICommand

ZoomOut

Zoom out relative to the editor's viewport center.

public static RoutedUICommand ZoomOut { get; set; }

Property Value

RoutedUICommand

EditorDefaultState Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEditorStateEditorDefaultState

References: NodifyEditor

The default state of the editor. Default State - mouse left down -> Selecting State - mouse right down -> Panning State Selecting State - mouse left up -> Default State - mouse right down -> Panning State Panning State - mouse right up -> previous state (Selecting State or Default State) - mouse left up -> Panning State

public class EditorDefaultState : EditorState

Constructors

EditorDefaultState(NodifyEditor)

Constructs an instance of the EditorDefaultState state.

public EditorDefaultState(NodifyEditor editor);

Parameters

editor NodifyEditor: The owner of the state.

Methods

HandleMouseDown(MouseButtonEventArgs)

public override void HandleMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

EditorGestures Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEditorGestures

References: NodifyEditor

Gestures used by the NodifyEditor.

public static class EditorGestures

Properties

FitToScreen

Gesture used to fit as many containers as possible into the viewport.

public static InputGesture FitToScreen { get; set; }

Property Value

InputGesture

Pan

Gesture used to start panning.

public static InputGesture Pan { get; set; }

Property Value

InputGesture

ResetViewportLocation

Gesture used to move the editor's viewport location to (0, 0).

public static InputGesture ResetViewportLocation { get; set; }

Property Value

InputGesture

Select

Gesture used to start selecting using a Nodify.EditorGestures.Selection strategy.

public static InputGesture Select { get; set; }

Property Value

InputGesture

Zoom

The key modifier required to start zooming by mouse wheel.

public static ModifierKeys Zoom { get; set; }

Property Value

ModifierKeys

ZoomIn

Gesture used to zoom in.

public static InputGesture ZoomIn { get; set; }

Property Value

InputGesture

ZoomOut

Gesture used to zoom out.

public static InputGesture ZoomOut { get; set; }

Property Value

InputGesture

EditorPanningState Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEditorStateEditorPanningState

References: NodifyEditor, EditorState

The panning state of the editor.

public class EditorPanningState : EditorState

Constructors

EditorPanningState(NodifyEditor)

Constructs an instance of the EditorPanningState state.

public EditorPanningState(NodifyEditor editor);

Parameters

editor NodifyEditor: The owner of the state.

Methods

Enter(EditorState)

public override void Enter(EditorState from);

Parameters

from EditorState

Exit()

public override void Exit();

HandleMouseMove(MouseEventArgs)

public override void HandleMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

HandleMouseUp(MouseButtonEventArgs)

public override void HandleMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

EditorSelectingState Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEditorStateEditorSelectingState

References: NodifyEditor, SelectionType, SelectionHelper, EditorState

The selecting state of the editor.

public class EditorSelectingState : EditorState

Constructors

EditorSelectingState(NodifyEditor, SelectionType)

Constructs an instance of the EditorSelectingState state.

public EditorSelectingState(NodifyEditor editor, SelectionType type);

Parameters

editor NodifyEditor: The owner of the state.

type SelectionType

Properties

Selection

The selection helper.

protected SelectionHelper Selection { get; set; }

Property Value

SelectionHelper

Methods

Enter(EditorState)

public override void Enter(EditorState from);

Parameters

from EditorState

Exit()

public override void Exit();

HandleAutoPanning(MouseEventArgs)

public override void HandleAutoPanning(MouseEventArgs e);

Parameters

e MouseEventArgs

HandleMouseDown(MouseButtonEventArgs)

public override void HandleMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

HandleMouseMove(MouseEventArgs)

public override void HandleMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

HandleMouseUp(MouseButtonEventArgs)

public override void HandleMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

EditorState Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEditorState

Derived: EditorDefaultState, EditorPanningState, EditorSelectingState

References: EditorPanningState, EditorSelectingState, NodifyEditor

The base class for editor states.

public abstract class EditorState

Constructors

EditorState(NodifyEditor)

Constructs a new EditorState.

public EditorState(NodifyEditor editor);

Parameters

editor NodifyEditor: The owner of the state.

Properties

Editor

The owner of the state.

protected NodifyEditor Editor { get; set; }

Property Value

NodifyEditor

Methods

Enter(EditorState)

Called when Nodify.NodifyEditor.PushState(Nodify.EditorState) is called.

public virtual void Enter(EditorState from);

Parameters

from EditorState: The state we enter from (is null for root state).

Exit()

Called when Nodify.NodifyEditor.PopState is called.

public virtual void Exit();

HandleAutoPanning(MouseEventArgs)

Handles auto panning when mouse is outside the editor.

public virtual void HandleAutoPanning(MouseEventArgs e);

Parameters

e MouseEventArgs: The MouseEventArgs that contains the event data.

HandleKeyDown(KeyEventArgs)

public virtual void HandleKeyDown(KeyEventArgs e);

Parameters

e KeyEventArgs

HandleKeyUp(KeyEventArgs)

public virtual void HandleKeyUp(KeyEventArgs e);

Parameters

e KeyEventArgs

HandleMouseDown(MouseButtonEventArgs)

public virtual void HandleMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

HandleMouseMove(MouseEventArgs)

public virtual void HandleMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

HandleMouseUp(MouseButtonEventArgs)

public virtual void HandleMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

HandleMouseWheel(MouseWheelEventArgs)

public virtual void HandleMouseWheel(MouseWheelEventArgs e);

Parameters

e MouseWheelEventArgs

PopState()

Pops the current state from the stack.

public virtual void PopState();

PushState(EditorState)

Pushes a new state into the stack.

public virtual void PushState(EditorState newState);

Parameters

newState EditorState: The new state.

ReEnter(EditorState)

Called when Nodify.NodifyEditor.PopState is called.

public virtual void ReEnter(EditorState from);

Parameters

from EditorState: The state we re-enter from.

GeneratedInternalTypeHelper Class

Namespace: XamlGeneratedNamespace

Assembly: Nodify

Inheritance: ObjectInternalTypeHelperGeneratedInternalTypeHelper

GeneratedInternalTypeHelper

public sealed class GeneratedInternalTypeHelper : InternalTypeHelper

Constructors

GeneratedInternalTypeHelper()

public GeneratedInternalTypeHelper();

Methods

AddEventHandler(EventInfo, Object, Delegate)

AddEventHandler

protected override void AddEventHandler(EventInfo eventInfo, object target, Delegate handler);

Parameters

eventInfo EventInfo

target Object

handler Delegate

CreateDelegate(Type, Object, String)

CreateDelegate

protected override Delegate CreateDelegate(Type delegateType, object target, string handler);

Parameters

delegateType Type

target Object

handler String

Returns

Delegate

CreateInstance(Type, CultureInfo)

CreateInstance

protected override object CreateInstance(Type type, CultureInfo culture);

Parameters

type Type

culture CultureInfo

Returns

Object

GetPropertyValue(PropertyInfo, Object, CultureInfo)

GetPropertyValue

protected override object GetPropertyValue(PropertyInfo propertyInfo, object target, CultureInfo culture);

Parameters

propertyInfo PropertyInfo

target Object

culture CultureInfo

Returns

Object

SetPropertyValue(PropertyInfo, Object, Object, CultureInfo)

SetPropertyValue

protected override void SetPropertyValue(PropertyInfo propertyInfo, object target, object value, CultureInfo culture);

Parameters

propertyInfo PropertyInfo

target Object

value Object

culture CultureInfo

GroupingMovementMode Enum

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectValueTypeEnumGroupingMovementMode

References: GroupingNode, GroupingNode

Specifies the possible movement modes of a GroupingNode.

public enum GroupingMovementMode

Fields

Group

The GroupingNode will move its content when moved.

public const GroupingMovementMode Group = 0;

Field Value

GroupingMovementMode

Self

The GroupingNode will not move its content when moved.

public const GroupingMovementMode Self = 1;

Field Value

GroupingMovementMode

GroupingNode Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectGroupingNode

References: GroupingMovementMode, ItemContainer, NodifyEditor

Defines a panel with a header that groups ItemContainers inside it and can be resized.

public static class GroupingNode

Properties

SwitchMovementMode

public static ModifierKeys SwitchMovementMode { get; set; }

Property Value

ModifierKeys

GroupingNode Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlContentControlHeaderedContentControlGroupingNode

References: ResizeEventHandler, GroupingMovementMode, NodifyEditor, ItemContainer

public class GroupingNode : HeaderedContentControl

Constructors

GroupingNode()

public GroupingNode();

Fields

ActualSizeProperty

public static DependencyProperty ActualSizeProperty;

Field Value

DependencyProperty

CanResizeProperty

public static DependencyProperty CanResizeProperty;

Field Value

DependencyProperty

ContentControl

protected FrameworkElement ContentControl;

Field Value

FrameworkElement

ElementContent

protected const string ElementContent = "PART_Content";

Field Value

String

ElementHeader

protected const string ElementHeader = "PART_Header";

Field Value

String

ElementResizeThumb

protected const string ElementResizeThumb = "PART_ResizeThumb";

Field Value

String

GroupMovementBoxed

protected static object GroupMovementBoxed;

Field Value

Object

HeaderBrushProperty

public static DependencyProperty HeaderBrushProperty;

Field Value

DependencyProperty

HeaderControl

protected FrameworkElement HeaderControl;

Field Value

FrameworkElement

MovementModeProperty

public static DependencyProperty MovementModeProperty;

Field Value

DependencyProperty

ResizeCompletedCommandProperty

public static DependencyProperty ResizeCompletedCommandProperty;

Field Value

DependencyProperty

ResizeCompletedEvent

public static RoutedEvent ResizeCompletedEvent;

Field Value

RoutedEvent

ResizeStartedCommandProperty

public static DependencyProperty ResizeStartedCommandProperty;

Field Value

DependencyProperty

ResizeStartedEvent

public static RoutedEvent ResizeStartedEvent;

Field Value

RoutedEvent

ResizeThumb

protected FrameworkElement ResizeThumb;

Field Value

FrameworkElement

Properties

ActualSize

public Size ActualSize { get; set; }

Property Value

Size

CanResize

public bool CanResize { get; set; }

Property Value

Boolean

Container

protected ItemContainer Container { get; set; }

Property Value

ItemContainer

Editor

protected NodifyEditor Editor { get; set; }

Property Value

NodifyEditor

HeaderBrush

public Brush HeaderBrush { get; set; }

Property Value

Brush

MovementMode

public GroupingMovementMode MovementMode { get; set; }

Property Value

GroupingMovementMode

ResizeCompletedCommand

public ICommand ResizeCompletedCommand { get; set; }

Property Value

ICommand

ResizeStartedCommand

public ICommand ResizeStartedCommand { get; set; }

Property Value

ICommand

Methods

OnApplyTemplate()

public override void OnApplyTemplate();

Events

ResizeCompleted

public event ResizeEventHandler ResizeCompleted;

Event Type

ResizeEventHandler

ResizeStarted

public event ResizeEventHandler ResizeStarted;

Event Type

ResizeEventHandler

INodifyCanvasItem Interface

Namespace: Nodify

Assembly: Nodify

Inheritance: INodifyCanvasItem

Derived: DecoratorContainer, ItemContainer

References: NodifyCanvas

Interface for items inside a NodifyCanvas.

public abstract interface INodifyCanvasItem

Properties

DesiredSize

The desired size of the item.

public virtual Size DesiredSize { get; set; }

Property Value

Size

Location

The location of the item.

public virtual Point Location { get; set; }

Property Value

Point

Methods

Arrange(Rect)

public virtual void Arrange(Rect rect);

Parameters

rect Rect

ItemContainer Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectItemContainer

References: Connector, PendingConnection, EditorCommands, ContainerDefaultState, SelectionHelper, PreviewLocationChanged, NodifyEditor, GroupingNode

The container for all the items generated by the ItemsControl.ItemsSource of the NodifyEditor.

public static class ItemContainer

Properties

CancelAction

public static InputGesture CancelAction { get; set; }

Property Value

InputGesture

Drag

public static InputGesture Drag { get; set; }

Property Value

InputGesture

Select

public static InputGesture Select { get; set; }

Property Value

InputGesture

ItemContainer Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlContentControlItemContainer

Implements: INodifyCanvasItem

References: ContainerDefaultState, ContainerDraggingState, ContainerState, Connector, NodifyEditor, GroupingNode, PreviewLocationChanged

public class ItemContainer : ContentControl, INodifyCanvasItem

Constructors

ItemContainer(NodifyEditor)

public ItemContainer(NodifyEditor editor);

Parameters

editor NodifyEditor

Fields

ActualSizeProperty

public static DependencyProperty ActualSizeProperty;

Field Value

DependencyProperty

DesiredSizeForSelectionProperty

public static DependencyProperty DesiredSizeForSelectionProperty;

Field Value

DependencyProperty

DragCompletedEvent

public static RoutedEvent DragCompletedEvent;

Field Value

RoutedEvent

DragDeltaEvent

public static RoutedEvent DragDeltaEvent;

Field Value

RoutedEvent

DragStartedEvent

public static RoutedEvent DragStartedEvent;

Field Value

RoutedEvent

HighlightBrushProperty

public static DependencyProperty HighlightBrushProperty;

Field Value

DependencyProperty

IsDraggableProperty

public static DependencyProperty IsDraggableProperty;

Field Value

DependencyProperty

IsPreviewingLocationProperty

public static DependencyProperty IsPreviewingLocationProperty;

Field Value

DependencyProperty

IsPreviewingLocationPropertyKey

public static DependencyPropertyKey IsPreviewingLocationPropertyKey;

Field Value

DependencyPropertyKey

IsPreviewingSelectionProperty

public static DependencyProperty IsPreviewingSelectionProperty;

Field Value

DependencyProperty

IsPreviewingSelectionPropertyKey

public static DependencyPropertyKey IsPreviewingSelectionPropertyKey;

Field Value

DependencyPropertyKey

IsSelectableProperty

public static DependencyProperty IsSelectableProperty;

Field Value

DependencyProperty

IsSelectedProperty

public static DependencyProperty IsSelectedProperty;

Field Value

DependencyProperty

LocationChangedEvent

public static RoutedEvent LocationChangedEvent;

Field Value

RoutedEvent

LocationProperty

public static DependencyProperty LocationProperty;

Field Value

DependencyProperty

SelectedBrushProperty

public static DependencyProperty SelectedBrushProperty;

Field Value

DependencyProperty

SelectedEvent

public static RoutedEvent SelectedEvent;

Field Value

RoutedEvent

UnselectedEvent

public static RoutedEvent UnselectedEvent;

Field Value

RoutedEvent

Properties

ActualSize

public Size ActualSize { get; set; }

Property Value

Size

AllowDraggingCancellation

public static bool AllowDraggingCancellation { get; set; }

Property Value

Boolean

DesiredSizeForSelection

public Size? DesiredSizeForSelection { get; set; }

Property Value

Size?

Editor

public NodifyEditor Editor { get; set; }

Property Value

NodifyEditor

HighlightBrush

public Brush HighlightBrush { get; set; }

Property Value

Brush

IsDraggable

public bool IsDraggable { get; set; }

Property Value

Boolean

IsPreviewingLocation

public bool IsPreviewingLocation { get; set; }

Property Value

Boolean

IsPreviewingSelection

public Boolean? IsPreviewingSelection { get; set; }

Property Value

Boolean?

IsSelectable

public bool IsSelectable { get; set; }

Property Value

Boolean

IsSelected

public bool IsSelected { get; set; }

Property Value

Boolean

Location

public virtual Point Location { get; set; }

Property Value

Point

SelectedBrush

public Brush SelectedBrush { get; set; }

Property Value

Brush

State

public ContainerState State { get; set; }

Property Value

ContainerState

Methods

GetInitialState()

protected virtual ContainerState GetInitialState();

Returns

ContainerState

IsSelectableInArea(Rect, Boolean)

public virtual bool IsSelectableInArea(Rect area, bool isContained);

Parameters

area Rect

isContained Boolean

Returns

Boolean

IsSelectableLocation(Point)

protected virtual bool IsSelectableLocation(Point position);

Parameters

position Point

Returns

Boolean

OnApplyTemplate()

public override void OnApplyTemplate();

OnKeyDown(KeyEventArgs)

protected override void OnKeyDown(KeyEventArgs e);

Parameters

e KeyEventArgs

OnKeyUp(KeyEventArgs)

protected override void OnKeyUp(KeyEventArgs e);

Parameters

e KeyEventArgs

OnLocationChanged()

protected void OnLocationChanged();

OnLostMouseCapture(MouseEventArgs)

protected override void OnLostMouseCapture(MouseEventArgs e);

Parameters

e MouseEventArgs

OnMouseDown(MouseButtonEventArgs)

protected override void OnMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnMouseMove(MouseEventArgs)

protected override void OnMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

OnMouseUp(MouseButtonEventArgs)

protected override void OnMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnMouseWheel(MouseWheelEventArgs)

protected override void OnMouseWheel(MouseWheelEventArgs e);

Parameters

e MouseWheelEventArgs

OnRenderSizeChanged(SizeChangedInfo)

protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo);

Parameters

sizeInfo SizeChangedInfo

OnSelectedChanged(Boolean)

protected void OnSelectedChanged(bool newValue);

Parameters

newValue Boolean

PopAllStates()

public void PopAllStates();

PopState()

public void PopState();

PushState(ContainerState)

public void PushState(ContainerState state);

Parameters

state ContainerState

Events

DragCompleted

public event DragCompletedEventHandler DragCompleted;

Event Type

DragCompletedEventHandler

DragDelta

public event DragDeltaEventHandler DragDelta;

Event Type

DragDeltaEventHandler

DragStarted

public event DragStartedEventHandler DragStarted;

Event Type

DragStartedEventHandler

LocationChanged

public event RoutedEventHandler LocationChanged;

Event Type

RoutedEventHandler

PreviewLocationChanged

public event PreviewLocationChanged PreviewLocationChanged;

Event Type

PreviewLocationChanged

Selected

public event RoutedEventHandler Selected;

Event Type

RoutedEventHandler

Unselected

public event RoutedEventHandler Unselected;

Event Type

RoutedEventHandler

KnotNode Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlContentControlKnotNode

References: Connector

Represents a control that owns a Connector.

public class KnotNode : ContentControl

Constructors

KnotNode()

public KnotNode();

LineConnection Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementShapeBaseConnectionLineConnection

Derived: CircuitConnection

References: BaseConnection

Represents a line that has an arrow indicating its BaseConnection.Direction.

public class LineConnection : BaseConnection

Constructors

LineConnection()

public LineConnection();

Methods

DrawLineGeometry(StreamGeometryContext, Point, Point)

protected override ValueTuple<Point, Point> DrawLineGeometry(StreamGeometryContext context, Point source, Point target);

Parameters

context StreamGeometryContext

source Point

target Point

Returns

ValueTuple<Point, Point>

GetArrowHeadPoints(Point, Point)

protected override ValueTuple<Point, Point> GetArrowHeadPoints(Point source, Point target);

Parameters

source Point

target Point

Returns

ValueTuple<Point, Point>

Match Enum

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectValueTypeEnumMatch

References: MultiGesture

public enum Match

Fields

All

public const Match All = 1;

Field Value

Match

Any

public const Match Any = 0;

Field Value

Match

MultiGesture Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectInputGestureMultiGesture

References: Match

Combines multiple input gestures.

public class MultiGesture : InputGesture

Constructors

MultiGesture(Match, InputGesture[])

Constructs an instance of a MultiGesture.

public MultiGesture(Match match, InputGesture[] gestures);

Parameters

match Match: The matching strategy.

gestures InputGesture[]: The input gestures.

Methods

Matches(Object, InputEventArgs)

public override bool Matches(object targetElement, InputEventArgs inputEventArgs);

Parameters

targetElement Object

inputEventArgs InputEventArgs

Returns

Boolean

Node Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlContentControlHeaderedContentControlNode

References: Connector, NodeInput, NodeOutput

Represents a control that has a list of Node.InputConnectors and a list of Node.OutputConnectors.

public class Node : HeaderedContentControl

Constructors

Node()

public Node();

Fields

ContentBrushProperty

public static DependencyProperty ContentBrushProperty;

Field Value

DependencyProperty

FooterBrushProperty

public static DependencyProperty FooterBrushProperty;

Field Value

DependencyProperty

FooterProperty

public static DependencyProperty FooterProperty;

Field Value

DependencyProperty

FooterTemplateProperty

public static DependencyProperty FooterTemplateProperty;

Field Value

DependencyProperty

HasFooterProperty

public static DependencyProperty HasFooterProperty;

Field Value

DependencyProperty

HeaderBrushProperty

public static DependencyProperty HeaderBrushProperty;

Field Value

DependencyProperty

InputConnectorTemplateProperty

public static DependencyProperty InputConnectorTemplateProperty;

Field Value

DependencyProperty

InputProperty

public static DependencyProperty InputProperty;

Field Value

DependencyProperty

OutputConnectorTemplateProperty

public static DependencyProperty OutputConnectorTemplateProperty;

Field Value

DependencyProperty

OutputProperty

public static DependencyProperty OutputProperty;

Field Value

DependencyProperty

Properties

ContentBrush

Gets or sets the brush used for the background of the ContentControl.Content of this Node.

public Brush ContentBrush { get; set; }

Property Value

Brush

Footer

Gets or sets the data for the footer of this control.

public object Footer { get; set; }

Property Value

Object

FooterBrush

Gets or sets the brush used for the background of the Node.Footer of this Node.

public Brush FooterBrush { get; set; }

Property Value

Brush

FooterTemplate

Gets or sets the template used to display the content of the control's footer.

public DataTemplate FooterTemplate { get; set; }

Property Value

DataTemplate

HasFooter

Gets a value that indicates whether the Node.Footer is .

public bool HasFooter { get; set; }

Property Value

Boolean

HeaderBrush

Gets or sets the brush used for the background of the HeaderedContentControl.Header of this Node.

public Brush HeaderBrush { get; set; }

Property Value

Brush

Input

Gets or sets the data for the input Connectors of this control.

public IEnumerable Input { get; set; }

Property Value

IEnumerable

InputConnectorTemplate

Gets or sets the template used to display the content of the control's Node.Input connectors.

public DataTemplate InputConnectorTemplate { get; set; }

Property Value

DataTemplate

Output

Gets or sets the data for the output Connectors of this control.

public IEnumerable Output { get; set; }

Property Value

IEnumerable

OutputConnectorTemplate

Gets or sets the template used to display the content of the control's Node.Output connectors.

public DataTemplate OutputConnectorTemplate { get; set; }

Property Value

DataTemplate

NodeInput Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlConnectorNodeInput

References: Node, Connector

Represents the default control for the Node.InputConnectorTemplate.

public class NodeInput : Connector

Constructors

NodeInput()

public NodeInput();

Fields

ConnectorTemplateProperty

public static DependencyProperty ConnectorTemplateProperty;

Field Value

DependencyProperty

HeaderProperty

public static DependencyProperty HeaderProperty;

Field Value

DependencyProperty

HeaderTemplateProperty

public static DependencyProperty HeaderTemplateProperty;

Field Value

DependencyProperty

Properties

ConnectorTemplate

Gets or sets the template used to display the connecting point of this Connector.

public ControlTemplate ConnectorTemplate { get; set; }

Property Value

ControlTemplate

Header

Gets of sets the data used for the control's header.

public object Header { get; set; }

Property Value

Object

HeaderTemplate

Gets or sets the template used to display the content of the control's header.

public DataTemplate HeaderTemplate { get; set; }

Property Value

DataTemplate

NodeOutput Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlConnectorNodeOutput

References: Node, Connector

Represents the default control for the Node.OutputConnectorTemplate.

public class NodeOutput : Connector

Constructors

NodeOutput()

public NodeOutput();

Fields

ConnectorTemplateProperty

public static DependencyProperty ConnectorTemplateProperty;

Field Value

DependencyProperty

HeaderProperty

public static DependencyProperty HeaderProperty;

Field Value

DependencyProperty

HeaderTemplateProperty

public static DependencyProperty HeaderTemplateProperty;

Field Value

DependencyProperty

Properties

ConnectorTemplate

Gets or sets the template used to display the connecting point of this Connector.

public ControlTemplate ConnectorTemplate { get; set; }

Property Value

ControlTemplate

Header

Gets of sets the data used for the control's header.

public object Header { get; set; }

Property Value

Object

HeaderTemplate

Gets or sets the template used to display the content of the control's header.

public DataTemplate HeaderTemplate { get; set; }

Property Value

DataTemplate

NodifyCanvas Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementPanelNodifyCanvas

References: INodifyCanvasItem

A canvas like panel that works with INodifyCanvasItems.

public class NodifyCanvas : Panel

Constructors

NodifyCanvas()

public NodifyCanvas();

Fields

ExtentProperty

public static DependencyProperty ExtentProperty;

Field Value

DependencyProperty

Properties

Extent

The area covered by the children of this panel.

public Rect Extent { get; set; }

Property Value

Rect

Methods

ArrangeOverride(Size)

protected override Size ArrangeOverride(Size arrangeSize);

Parameters

arrangeSize Size

Returns

Size

MeasureOverride(Size)

protected override Size MeasureOverride(Size constraint);

Parameters

constraint Size

Returns

Size

NodifyEditor Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlItemsControlSelectorMultiSelectorNodifyEditor

References: ContainerState, EditorDefaultState, EditorPanningState, EditorSelectingState, EditorState, SelectionHelper, ItemContainer, PendingConnection, GroupingNode, Connector, DecoratorContainer, EditorCommands, EditorGestures, ItemContainer, GroupingNode, Connection, BaseConnection

Groups ItemContainers and Connections in an area that you can drag, zoom and select.

public class NodifyEditor : MultiSelector

Constructors

NodifyEditor()

Initializes a new instance of the NodifyEditor class.

public NodifyEditor();

Fields

AutoPanEdgeDistanceProperty

public static DependencyProperty AutoPanEdgeDistanceProperty;

Field Value

DependencyProperty

AutoPanSpeedProperty

public static DependencyProperty AutoPanSpeedProperty;

Field Value

DependencyProperty

BringIntoViewMaxDurationProperty

public static DependencyProperty BringIntoViewMaxDurationProperty;

Field Value

DependencyProperty

BringIntoViewSpeedProperty

public static DependencyProperty BringIntoViewSpeedProperty;

Field Value

DependencyProperty

ConnectionCompletedCommandProperty

public static DependencyProperty ConnectionCompletedCommandProperty;

Field Value

DependencyProperty

ConnectionsProperty

public static DependencyProperty ConnectionsProperty;

Field Value

DependencyProperty

ConnectionStartedCommandProperty

public static DependencyProperty ConnectionStartedCommandProperty;

Field Value

DependencyProperty

ConnectionTemplateProperty

public static DependencyProperty ConnectionTemplateProperty;

Field Value

DependencyProperty

DecoratorContainerStyleProperty

public static DependencyProperty DecoratorContainerStyleProperty;

Field Value

DependencyProperty

DecoratorsExtentProperty

public static DependencyProperty DecoratorsExtentProperty;

Field Value

DependencyProperty

DecoratorsProperty

public static DependencyProperty DecoratorsProperty;

Field Value

DependencyProperty

DecoratorTemplateProperty

public static DependencyProperty DecoratorTemplateProperty;

Field Value

DependencyProperty

DisableAutoPanningProperty

public static DependencyProperty DisableAutoPanningProperty;

Field Value

DependencyProperty

DisablePanningProperty

public static DependencyProperty DisablePanningProperty;

Field Value

DependencyProperty

DisableZoomingProperty

public static DependencyProperty DisableZoomingProperty;

Field Value

DependencyProperty

DisconnectConnectorCommandProperty

public static DependencyProperty DisconnectConnectorCommandProperty;

Field Value

DependencyProperty

DisplayConnectionsOnTopProperty

public static DependencyProperty DisplayConnectionsOnTopProperty;

Field Value

DependencyProperty

ElementItemsHost

protected const string ElementItemsHost = "PART_ItemsHost";

Field Value

String

EnableRealtimeSelectionProperty

public static DependencyProperty EnableRealtimeSelectionProperty;

Field Value

DependencyProperty

GridCellSizeProperty

public static DependencyProperty GridCellSizeProperty;

Field Value

DependencyProperty

IsPanningProperty

public static DependencyProperty IsPanningProperty;

Field Value

DependencyProperty

IsPanningPropertyKey

public static DependencyPropertyKey IsPanningPropertyKey;

Field Value

DependencyPropertyKey

IsSelectingProperty

public static DependencyProperty IsSelectingProperty;

Field Value

DependencyProperty

IsSelectingPropertyKey

protected static DependencyPropertyKey IsSelectingPropertyKey;

Field Value

DependencyPropertyKey

ItemsDragCompletedCommandProperty

public static DependencyProperty ItemsDragCompletedCommandProperty;

Field Value

DependencyProperty

ItemsDragStartedCommandProperty

public static DependencyProperty ItemsDragStartedCommandProperty;

Field Value

DependencyProperty

ItemsExtentProperty

public static DependencyProperty ItemsExtentProperty;

Field Value

DependencyProperty

MaxViewportZoomProperty

public static DependencyProperty MaxViewportZoomProperty;

Field Value

DependencyProperty

MinViewportZoomProperty

public static DependencyProperty MinViewportZoomProperty;

Field Value

DependencyProperty

MouseLocationProperty

public static DependencyProperty MouseLocationProperty;

Field Value

DependencyProperty

MouseLocationPropertyKey

protected static DependencyPropertyKey MouseLocationPropertyKey;

Field Value

DependencyPropertyKey

PendingConnectionProperty

public static DependencyProperty PendingConnectionProperty;

Field Value

DependencyProperty

PendingConnectionTemplateProperty

public static DependencyProperty PendingConnectionTemplateProperty;

Field Value

DependencyProperty

RemoveConnectionCommandProperty

public static DependencyProperty RemoveConnectionCommandProperty;

Field Value

DependencyProperty

ScaleTransform

Gets the transform used to zoom on the viewport.

protected readonly ScaleTransform ScaleTransform;

Field Value

ScaleTransform

SelectedAreaProperty

public static DependencyProperty SelectedAreaProperty;

Field Value

DependencyProperty

SelectedAreaPropertyKey

protected static DependencyPropertyKey SelectedAreaPropertyKey;

Field Value

DependencyPropertyKey

SelectedItemsProperty

public static DependencyProperty SelectedItemsProperty;

Field Value

DependencyProperty

SelectionRectangleStyleProperty

public static DependencyProperty SelectionRectangleStyleProperty;

Field Value

DependencyProperty

TranslateTransform

Gets the transform used to offset the viewport.

protected readonly TranslateTransform TranslateTransform;

Field Value

TranslateTransform

ViewportLocationProperty

public static DependencyProperty ViewportLocationProperty;

Field Value

DependencyProperty

ViewportSizeProperty

public static DependencyProperty ViewportSizeProperty;

Field Value

DependencyProperty

ViewportTransformProperty

public static DependencyProperty ViewportTransformProperty;

Field Value

DependencyProperty

ViewportUpdatedEvent

public static RoutedEvent ViewportUpdatedEvent;

Field Value

RoutedEvent

ViewportZoomProperty

public static DependencyProperty ViewportZoomProperty;

Field Value

DependencyProperty

Properties

AutoPanEdgeDistance

Gets or sets the maximum distance in pixels from the edge of the editor that will trigger auto-panning.

public double AutoPanEdgeDistance { get; set; }

Property Value

Double

AutoPanningTickRate

Gets or sets how often the new NodifyEditor.ViewportLocation is calculated in milliseconds when NodifyEditor.DisableAutoPanning is false.

public static double AutoPanningTickRate { get; set; }

Property Value

Double

AutoPanSpeed

Gets or sets the speed used when auto-panning scaled by NodifyEditor.AutoPanningTickRate

public double AutoPanSpeed { get; set; }

Property Value

Double

BringIntoViewMaxDuration

Gets or sets the maximum animation duration in seconds for bringing a location into view.

public double BringIntoViewMaxDuration { get; set; }

Property Value

Double

BringIntoViewSpeed

Gets or sets the animation speed in pixels per second for bringing a location into view.

public double BringIntoViewSpeed { get; set; }

Property Value

Double

ConnectionCompletedCommand

Invoked when the PendingConnection is completed. Use PendingConnection.CompletedCommand if you want to control the visibility of the connection from the viewmodel. Parameter is System.Tuple2 where System.Tuple2.Item1 is the PendingConnection.Source and System.Tuple`2.Item2 is PendingConnection.Target.

public ICommand ConnectionCompletedCommand { get; set; }

Property Value

ICommand

Connections

Gets or sets the data source that BaseConnections will be generated for.

public IEnumerable Connections { get; set; }

Property Value

IEnumerable

ConnectionStartedCommand

Invoked when the PendingConnection is completed. Use PendingConnection.StartedCommand if you want to control the visibility of the connection from the viewmodel. Parameter is PendingConnection.Source.

public ICommand ConnectionStartedCommand { get; set; }

Property Value

ICommand

ConnectionTemplate

Gets or sets the DataTemplate to use when generating a new BaseConnection.

public DataTemplate ConnectionTemplate { get; set; }

Property Value

DataTemplate

DecoratorContainerStyle

Gets or sets the style to use for the DecoratorContainer.

public Style DecoratorContainerStyle { get; set; }

Property Value

Style

Decorators

Gets or sets the items that will be rendered in the decorators layer via DecoratorContainers.

public IEnumerable Decorators { get; set; }

Property Value

IEnumerable

DecoratorsExtent

The area covered by the DecoratorContainers.

public Rect DecoratorsExtent { get; set; }

Property Value

Rect

DecoratorTemplate

Gets or sets the DataTemplate to use when generating a new DecoratorContainer.

public DataTemplate DecoratorTemplate { get; set; }

Property Value

DataTemplate

DisableAutoPanning

Gets or sets whether to disable the auto panning when selecting or dragging near the edge of the editor configured by NodifyEditor.AutoPanEdgeDistance.

public bool DisableAutoPanning { get; set; }

Property Value

Boolean

DisablePanning

Gets or sets whether panning should be disabled.

public bool DisablePanning { get; set; }

Property Value

Boolean

DisableZooming

Gets or sets whether zooming should be disabled.

public bool DisableZooming { get; set; }

Property Value

Boolean

DisconnectConnectorCommand

Invoked when the Connector.Disconnect event is raised. Can also be handled at the Connector level using the Connector.DisconnectCommand command. Parameter is the Connector's FrameworkElement.DataContext.

public ICommand DisconnectConnectorCommand { get; set; }

Property Value

ICommand

DisplayConnectionsOnTop

Gets or sets whether to display connections on top of ItemContainers or not.

public bool DisplayConnectionsOnTop { get; set; }

Property Value

Boolean

EnableRealtimeSelection

Enables selecting and deselecting items while the NodifyEditor.SelectedArea changes. Disable for maximum performance when hundreds of items are generated.

public bool EnableRealtimeSelection { get; set; }

Property Value

Boolean

EnableRenderingContainersOptimizations

Gets or sets if NodifyEditors should enable optimizations based on NodifyEditor.OptimizeRenderingMinimumContainers and NodifyEditor.OptimizeRenderingZoomOutPercent.

public static bool EnableRenderingContainersOptimizations { get; set; }

Property Value

Boolean

EnableSnappingCorrection

Correct ItemContainer's position after moving if starting position is not snapped to grid.

public static bool EnableSnappingCorrection { get; set; }

Property Value

Boolean

FitToScreenExtentMargin

Gets or sets the margin to add in all directions to the NodifyEditor.ItemsExtent or area parameter when using Nodify.NodifyEditor.FitToScreen(System.Nullable{System.Windows.Rect}).

public static double FitToScreenExtentMargin { get; set; }

Property Value

Double

GridCellSize

Gets or sets the value of an invisible grid used to adjust locations (snapping) of ItemContainers.

public uint GridCellSize { get; set; }

Property Value

UInt32

HandleRightClickAfterPanningThreshold

Gets or sets the maximum number of pixels allowed to move the mouse before cancelling the mouse event. Useful for System.Windows.Controls.ContextMenus to appear if mouse only moved a bit or not at all.

public static double HandleRightClickAfterPanningThreshold { get; set; }

Property Value

Double

IsBulkUpdatingItems

Tells if the NodifyEditor is doing operations on multiple items at once.

public bool IsBulkUpdatingItems { get; protected set; }

Property Value

Boolean

IsPanning

Gets a value that indicates whether a panning operation is in progress.

public bool IsPanning { get; set; }

Property Value

Boolean

IsSelecting

Gets a value that indicates whether a selection operation is in progress.

public bool IsSelecting { get; set; }

Property Value

Boolean

ItemsDragCompletedCommand

Invoked when a drag operation is completed for the NodifyEditor.SelectedItems.

public ICommand ItemsDragCompletedCommand { get; set; }

Property Value

ICommand

ItemsDragStartedCommand

Invoked when a drag operation starts for the NodifyEditor.SelectedItems.

public ICommand ItemsDragStartedCommand { get; set; }

Property Value

ICommand

ItemsExtent

The area covered by the ItemContainers.

public Rect ItemsExtent { get; set; }

Property Value

Rect

MaxViewportZoom

Gets or sets the maximum zoom factor of the viewport

public double MaxViewportZoom { get; set; }

Property Value

Double

MinViewportZoom

Gets or sets the minimum zoom factor of the viewport

public double MinViewportZoom { get; set; }

Property Value

Double

MouseLocation

Gets the current mouse location in graph space coordinates (relative to the NodifyEditor.ItemsHost).

public Point MouseLocation { get; protected set; }

Property Value

Point

OptimizeRenderingMinimumContainers

Gets or sets the minimum selected ItemContainers needed to trigger optimizations when reaching the NodifyEditor.OptimizeRenderingZoomOutPercent.

public static uint OptimizeRenderingMinimumContainers { get; set; }

Property Value

UInt32

OptimizeRenderingZoomOutPercent

Gets or sets the minimum zoom out percent needed to start optimizing the rendering for ItemContainers. Value is between 0 and 1.

public static double OptimizeRenderingZoomOutPercent { get; set; }

Property Value

Double

PendingConnection

Gets of sets the FrameworkElement.DataContext of the PendingConnection.

public object PendingConnection { get; set; }

Property Value

Object

PendingConnectionTemplate

Gets or sets the DataTemplate to use for the NodifyEditor.PendingConnection.

public DataTemplate PendingConnectionTemplate { get; set; }

Property Value

DataTemplate

RemoveConnectionCommand

Invoked when the BaseConnection.Disconnect event is raised. Can also be handled at the BaseConnection level using the BaseConnection.DisconnectCommand command. Parameter is the BaseConnection's FrameworkElement.DataContext.

public ICommand RemoveConnectionCommand { get; set; }

Property Value

ICommand

SelectedArea

Gets the currently selected area while NodifyEditor.IsSelecting is true.

public Rect SelectedArea { get; set; }

Property Value

Rect

SelectedItems

Gets or sets the items in the NodifyEditor that are selected.

public IList SelectedItems { get; set; }

Property Value

IList

SelectionRectangleStyle

Gets or sets the style to use for the selection rectangle.

public Style SelectionRectangleStyle { get; set; }

Property Value

Style

State

The current state of the editor.

public EditorState State { get; set; }

Property Value

EditorState

ViewportLocation

Gets or sets the viewport's top-left coordinates in graph space coordinates.

public Point ViewportLocation { get; set; }

Property Value

Point

ViewportSize

Gets the size of the viewport.

public Size ViewportSize { get; set; }

Property Value

Size

ViewportTransform

Gets the transform that is applied to all child controls.

public Transform ViewportTransform { get; set; }

Property Value

Transform

ViewportZoom

Gets or sets the zoom factor of the viewport.

public double ViewportZoom { get; set; }

Property Value

Double

Methods

BringIntoView(Point, Boolean, Action)

Moves the viewport center at the specified location.

public void BringIntoView(Point point, bool animated = true, Action onFinish = null);

Parameters

point Point: The location in graph space coordinates.

animated Boolean: True to animate the movement.

onFinish Action: The callback invoked when movement is finished.

FitToScreen(Rect?)

Scales the viewport to fit the specified area or all the ItemContainers if that's possible.

public void FitToScreen(Rect? area = null);

Parameters

area Rect?

GetContainerForItemOverride()

protected override DependencyObject GetContainerForItemOverride();

Returns

DependencyObject

GetInitialState()

Creates the initial state of the editor.

protected virtual EditorState GetInitialState();

Returns

EditorState: The initial state.

InvertSelection(Rect, Boolean)

Inverts the ItemContainers selection in the specified area.

public void InvertSelection(Rect area, bool fit = false);

Parameters

area Rect: The area to look for ItemContainers.

fit Boolean: True to check if the area contains the ItemContainer. False to check if area intersects the ItemContainer.

IsItemItsOwnContainerOverride(Object)

protected override bool IsItemItsOwnContainerOverride(object item);

Parameters

item Object

Returns

Boolean

OnApplyTemplate()

public override void OnApplyTemplate();

OnDisableAutoPanningChanged(Boolean)

Called when the NodifyEditor.DisableAutoPanning changes.

protected virtual void OnDisableAutoPanningChanged(bool shouldDisable);

Parameters

shouldDisable Boolean: Whether to enable or disable auto panning.

OnKeyDown(KeyEventArgs)

protected override void OnKeyDown(KeyEventArgs e);

Parameters

e KeyEventArgs

OnKeyUp(KeyEventArgs)

protected override void OnKeyUp(KeyEventArgs e);

Parameters

e KeyEventArgs

OnLostMouseCapture(MouseEventArgs)

protected override void OnLostMouseCapture(MouseEventArgs e);

Parameters

e MouseEventArgs

OnMouseDown(MouseButtonEventArgs)

protected override void OnMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnMouseMove(MouseEventArgs)

protected override void OnMouseMove(MouseEventArgs e);

Parameters

e MouseEventArgs

OnMouseUp(MouseButtonEventArgs)

protected override void OnMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnMouseWheel(MouseWheelEventArgs)

protected override void OnMouseWheel(MouseWheelEventArgs e);

Parameters

e MouseWheelEventArgs

OnRenderSizeChanged(SizeChangedInfo)

protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo);

Parameters

sizeInfo SizeChangedInfo

OnSelectionChanged(SelectionChangedEventArgs)

protected override void OnSelectionChanged(SelectionChangedEventArgs e);

Parameters

e SelectionChangedEventArgs

OnViewportUpdated()

Updates the NodifyEditor.ViewportSize and raises the NodifyEditor.ViewportUpdatedEvent. Called when the UIElement.RenderSize or NodifyEditor.ViewportZoom is changed.

protected void OnViewportUpdated();

PopAllStates()

Pops all states from the editor.

public void PopAllStates();

PopState()

Pops the current NodifyEditor.State from the stack.

public void PopState();

PushState(EditorState)

Pushes the given state to the stack.

public void PushState(EditorState state);

Parameters

state EditorState: The new state of the editor.

SelectArea(Rect, Boolean, Boolean)

Selects the ItemContainers in the specified area.

public void SelectArea(Rect area, bool append = false, bool fit = false);

Parameters

area Rect: The area to look for ItemContainers.

append Boolean: If true, it will add to the existing selection.

fit Boolean: True to check if the area contains the ItemContainer. False to check if area intersects the ItemContainer.

UnselectArea(Rect, Boolean)

Unselect the ItemContainers in the specified area.

public void UnselectArea(Rect area, bool fit = false);

Parameters

area Rect: The area to look for ItemContainers.

fit Boolean: True to check if the area contains the ItemContainer. False to check if area intersects the ItemContainer.

ZoomAtPosition(Double, Point)

Zoom at the specified location in graph space coordinates.

public void ZoomAtPosition(double zoom, Point location);

Parameters

zoom Double: The zoom factor.

location Point: The location to focus when zooming.

ZoomIn()

Zoom in at the viewports center

public void ZoomIn();

ZoomOut()

Zoom out at the viewports center

public void ZoomOut();

Events

ViewportUpdated

Occurs whenever the viewport updates.

public event RoutedEventHandler ViewportUpdated;

Event Type

RoutedEventHandler

PendingConnection Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlContentControlPendingConnection

References: PendingConnectionEventArgs, ConnectionDirection, NodifyEditor, Connector, ItemContainer, PendingConnectionEventHandler, StateNode

Represents a pending connection usually started by a Connector which invokes the PendingConnection.CompletedCommand when completed.

public class PendingConnection : ContentControl

Constructors

PendingConnection()

public PendingConnection();

Fields

AllowOnlyConnectorsProperty

public static DependencyProperty AllowOnlyConnectorsProperty;

Field Value

DependencyProperty

CompletedCommandProperty

public static DependencyProperty CompletedCommandProperty;

Field Value

DependencyProperty

DirectionProperty

public static DependencyProperty DirectionProperty;

Field Value

DependencyProperty

EnablePreviewProperty

public static DependencyProperty EnablePreviewProperty;

Field Value

DependencyProperty

EnableSnappingProperty

public static DependencyProperty EnableSnappingProperty;

Field Value

DependencyProperty

IsOverElementProperty

Will be set for Connectors and ItemContainers when the pending connection is over the element if PendingConnection.EnablePreview or PendingConnection.EnableSnapping is true.

public static DependencyProperty IsOverElementProperty;

Field Value

DependencyProperty

IsVisibleProperty

public static DependencyProperty IsVisibleProperty;

Field Value

DependencyProperty

PreviewTargetProperty

public static DependencyProperty PreviewTargetProperty;

Field Value

DependencyProperty

SourceAnchorProperty

public static DependencyProperty SourceAnchorProperty;

Field Value

DependencyProperty

SourceProperty

public static DependencyProperty SourceProperty;

Field Value

DependencyProperty

StartedCommandProperty

public static DependencyProperty StartedCommandProperty;

Field Value

DependencyProperty

StrokeDashArrayProperty

public static DependencyProperty StrokeDashArrayProperty;

Field Value

DependencyProperty

StrokeProperty

public static DependencyProperty StrokeProperty;

Field Value

DependencyProperty

StrokeThicknessProperty

public static DependencyProperty StrokeThicknessProperty;

Field Value

DependencyProperty

TargetAnchorProperty

public static DependencyProperty TargetAnchorProperty;

Field Value

DependencyProperty

TargetProperty

public static DependencyProperty TargetProperty;

Field Value

DependencyProperty

Properties

AllowOnlyConnectors

If true will preview and connect only to Connectors, otherwise will also enable ItemContainers.

public bool AllowOnlyConnectors { get; set; }

Property Value

Boolean

CompletedCommand

Gets or sets the command to invoke when the pending connection is completed. Will not be invoked if NodifyEditor.ConnectionCompletedCommand is used. PendingConnection.Target will be set to the desired Connector's FrameworkElement.DataContext and will also be the command's parameter.

public ICommand CompletedCommand { get; set; }

Property Value

ICommand

Direction

Gets or sets the direction of this connection.

public ConnectionDirection Direction { get; set; }

Property Value

ConnectionDirection

Editor

Gets the NodifyEditor that owns this PendingConnection.

protected NodifyEditor Editor { get; set; }

Property Value

NodifyEditor

EnablePreview

PendingConnection.PreviewTarget will be updated with a potential Connector's FrameworkElement.DataContext if this is true.

public bool EnablePreview { get; set; }

Property Value

Boolean

EnableSnapping

Enables snapping the PendingConnection.TargetAnchor to a possible PendingConnection.Target connector.

public bool EnableSnapping { get; set; }

Property Value

Boolean

IsVisible

Gets or sets the visibility of the connection.

public bool IsVisible { get; set; }

Property Value

Boolean

PreviewTarget

Gets or sets the Connector or the ItemContainer (if PendingConnection.AllowOnlyConnectors is false) that we're previewing.

public object PreviewTarget { get; set; }

Property Value

Object

Source

Gets or sets the Connector's FrameworkElement.DataContext that started this pending connection.

public object Source { get; set; }

Property Value

Object

SourceAnchor

Gets or sets the starting point for the connection.

public Point SourceAnchor { get; set; }

Property Value

Point

StartedCommand

Gets or sets the command to invoke when the pending connection is started. Will not be invoked if NodifyEditor.ConnectionStartedCommand is used. PendingConnection.Source will be set to the Connector's FrameworkElement.DataContext that started this connection and will also be the command's parameter.

public ICommand StartedCommand { get; set; }

Property Value

ICommand

Stroke

Gets or sets the stroke color of the connection.

public Brush Stroke { get; set; }

Property Value

Brush

StrokeDashArray

Gets or sets the pattern of dashes and gaps that is used to outline the connection.

public DoubleCollection StrokeDashArray { get; set; }

Property Value

DoubleCollection

StrokeThickness

Gets or set the connection thickness.

public double StrokeThickness { get; set; }

Property Value

Double

Target

Gets or sets the Connector's FrameworkElement.DataContext (or potentially an ItemContainer's FrameworkElement.DataContext if PendingConnection.AllowOnlyConnectors is false) that the PendingConnection.Source can connect to. Only set when the connection is completed (see PendingConnection.CompletedCommand).

public object Target { get; set; }

Property Value

Object

TargetAnchor

Gets or sets the end point for the connection.

public Point TargetAnchor { get; set; }

Property Value

Point

Methods

GetIsOverElement(UIElement)

public static bool GetIsOverElement(UIElement elem);

Parameters

elem UIElement

Returns

Boolean

OnApplyTemplate()

public override void OnApplyTemplate();

OnPendingConnectionCompleted(Object, PendingConnectionEventArgs)

protected virtual void OnPendingConnectionCompleted(object sender, PendingConnectionEventArgs e);

Parameters

sender Object

e PendingConnectionEventArgs

OnPendingConnectionDrag(Object, PendingConnectionEventArgs)

protected virtual void OnPendingConnectionDrag(object sender, PendingConnectionEventArgs e);

Parameters

sender Object

e PendingConnectionEventArgs

OnPendingConnectionStarted(Object, PendingConnectionEventArgs)

protected virtual void OnPendingConnectionStarted(object sender, PendingConnectionEventArgs e);

Parameters

sender Object

e PendingConnectionEventArgs

SetIsOverElement(UIElement, Boolean)

public static void SetIsOverElement(UIElement elem, bool value);

Parameters

elem UIElement

value Boolean

PendingConnectionEventArgs Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEventArgsRoutedEventArgsPendingConnectionEventArgs

References: PendingConnectionEventHandler, PendingConnection, Connector

Provides data for PendingConnection related routed events.

public class PendingConnectionEventArgs : RoutedEventArgs

Constructors

PendingConnectionEventArgs(Object)

Initializes a new instance of the PendingConnectionEventArgs class using the specified PendingConnectionEventArgs.SourceConnector.

public PendingConnectionEventArgs(object sourceConnector);

Parameters

sourceConnector Object: The FrameworkElement.DataContext of a related Connector.

Properties

Anchor

Gets or sets the Connector.Anchor of the Connector that raised this event.

public Point Anchor { get; set; }

Property Value

Point

Canceled

Gets or sets a value that indicates whether this PendingConnection was cancelled.

public bool Canceled { get; set; }

Property Value

Boolean

OffsetX

Gets or sets the distance from the PendingConnectionEventArgs.SourceConnector in the X axis.

public double OffsetX { get; set; }

Property Value

Double

OffsetY

Gets or sets the distance from the PendingConnectionEventArgs.SourceConnector in the Y axis.

public double OffsetY { get; set; }

Property Value

Double

SourceConnector

Gets the FrameworkElement.DataContext of the Connector that started this PendingConnection.

public object SourceConnector { get; set; }

Property Value

Object

TargetConnector

Gets or sets the FrameworkElement.DataContext of the target Connector when the PendingConnection is completed.

public object TargetConnector { get; set; }

Property Value

Object

Methods

InvokeEventHandler(Delegate, Object)

protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);

Parameters

genericHandler Delegate

genericTarget Object

PendingConnectionEventHandler Delegate

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDelegateMulticastDelegatePendingConnectionEventHandler

References: PendingConnectionEventArgs, Connector, PendingConnection

Represents the method that will handle PendingConnection related routed events.

public delegate void PendingConnectionEventHandler(object sender, PendingConnectionEventArgs e);

Parameters

sender Object: The object where the event handler is attached.

e PendingConnectionEventArgs: The event data.

PreviewLocationChanged Delegate

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDelegateMulticastDelegatePreviewLocationChanged

References: ItemContainer, ItemContainer

Delegate used to notify when an ItemContainer is previewing a new location.

public delegate void PreviewLocationChanged(Point newLocation);

Parameters

newLocation Point: The new location.

ResizeEventArgs Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectEventArgsRoutedEventArgsResizeEventArgs

References: ResizeEventHandler

Provides data for resize related routed events.

public class ResizeEventArgs : RoutedEventArgs

Constructors

ResizeEventArgs(Size, Size)

Initializes a new instance of the ResizeEventArgs class with the previous and the new Size.

public ResizeEventArgs(Size previousSize, Size newSize);

Parameters

previousSize Size: The previous size associated with this event.

newSize Size: The new size associated with this event.

Properties

NewSize

Gets the new size of the object.

public Size NewSize { get; set; }

Property Value

Size

PreviousSize

Gets the previous size of the object.

public Size PreviousSize { get; set; }

Property Value

Size

Methods

InvokeEventHandler(Delegate, Object)

protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);

Parameters

genericHandler Delegate

genericTarget Object

ResizeEventHandler Delegate

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDelegateMulticastDelegateResizeEventHandler

References: ResizeEventArgs, GroupingNode

Represents the method that will handle resize related routed events.

public delegate void ResizeEventHandler(object sender, ResizeEventArgs e);

Parameters

sender Object: The sender of this event.

e ResizeEventArgs: The event data.

Selection Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectSelection

public static class Selection

Properties

Append

public static InputGesture Append { get; set; }

Property Value

InputGesture

Invert

public static InputGesture Invert { get; set; }

Property Value

InputGesture

Remove

public static InputGesture Remove { get; set; }

Property Value

InputGesture

Replace

public static InputGesture Replace { get; set; }

Property Value

InputGesture

SelectionHelper Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectSelectionHelper

References: EditorSelectingState, NodifyEditor, SelectionType, ItemContainer

Helps with selecting ItemContainers and updating the NodifyEditor.SelectedArea and NodifyEditor.IsSelecting properties.

public sealed class SelectionHelper

Constructors

SelectionHelper(NodifyEditor)

Constructs a new instance of a SelectionHelper.

public SelectionHelper(NodifyEditor host);

Parameters

host NodifyEditor: The editor to select items from.

Methods

End()

Commits the current selection to the editor.

public void End();

Start(Point, SelectionType)

Attempts to start a new selection.

public void Start(Point location, SelectionType selectionType);

Parameters

location Point: The location inside the graph.

selectionType SelectionType: The type of selection.

Update(Point)

Update the end location for the selection.

public void Update(Point endLocation);

Parameters

endLocation Point: An absolute location.

SelectionType Enum

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectValueTypeEnumSelectionType

References: EditorSelectingState, SelectionHelper

public enum SelectionType

Fields

Append

public const SelectionType Append = 2;

Field Value

SelectionType

Invert

public const SelectionType Invert = 3;

Field Value

SelectionType

Remove

public const SelectionType Remove = 1;

Field Value

SelectionType

Replace

public const SelectionType Replace = 0;

Field Value

SelectionType

StateNode Class

Namespace: Nodify

Assembly: Nodify

Inheritance: ObjectDispatcherObjectDependencyObjectVisualUIElementFrameworkElementControlConnectorStateNode

References: Connector, PendingConnection

Represents a control that acts as a Connector.

public class StateNode : Connector

Constructors

StateNode()

public StateNode();

Fields

ContentProperty

public static DependencyProperty ContentProperty;

Field Value

DependencyProperty

ContentTemplateProperty

public static DependencyProperty ContentTemplateProperty;

Field Value

DependencyProperty

CornerRadiusProperty

public static DependencyProperty CornerRadiusProperty;

Field Value

DependencyProperty

ElementContent

protected const string ElementContent = "PART_Content";

Field Value

String

HighlightBrushProperty

public static DependencyProperty HighlightBrushProperty;

Field Value

DependencyProperty

Properties

Content

Gets or sets the data for the control's content.

public object Content { get; set; }

Property Value

Object

ContentControl

Gets the StateNode.ContentControl control of this StateNode.

protected UIElement ContentControl { get; set; }

Property Value

UIElement

ContentTemplate

Gets or sets the template used to display the content of the control's header.

public DataTemplate ContentTemplate { get; set; }

Property Value

DataTemplate

CornerRadius

Gets or sets a value that represents the degree to which the corners of the StateNode are rounded.

public CornerRadius CornerRadius { get; set; }

Property Value

CornerRadius

HighlightBrush

Gets or sets the brush used when the PendingConnection.IsOverElementProperty attached property is true for this StateNode.

public Brush HighlightBrush { get; set; }

Property Value

Brush

Methods

OnApplyTemplate()

public override void OnApplyTemplate();

OnMouseDown(MouseButtonEventArgs)

protected override void OnMouseDown(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs

OnMouseUp(MouseButtonEventArgs)

protected override void OnMouseUp(MouseButtonEventArgs e);

Parameters

e MouseButtonEventArgs