API Reference - miroiu/nodify GitHub Wiki
- Alignment Enum
- BaseConnection Class
- BoxValue Class
- CircuitConnection Class
- Connection Class
- Connection Class
- ConnectionDirection Enum
- ConnectionEventArgs Class
- ConnectionEventHandler Delegate
- ConnectionOffsetMode Enum
- Connector Class
- Connector Class
- ConnectorEventArgs Class
- ConnectorEventHandler Delegate
- ContainerDefaultState Class
- ContainerDraggingState Class
- ContainerState Class
- DecoratorContainer Class
- EditorCommands Class
- EditorDefaultState Class
- EditorGestures Class
- EditorPanningState Class
- EditorSelectingState Class
- EditorState Class
- GeneratedInternalTypeHelper Class
- GroupingMovementMode Enum
- GroupingNode Class
- GroupingNode Class
- INodifyCanvasItem Interface
- ItemContainer Class
- ItemContainer Class
- KnotNode Class
- LineConnection Class
- Match Enum
- MultiGesture Class
- Node Class
- NodeInput Class
- NodeOutput Class
- NodifyCanvas Class
- NodifyEditor Class
- PendingConnection Class
- PendingConnectionEventArgs Class
- PendingConnectionEventHandler Delegate
- PreviewLocationChanged Delegate
- ResizeEventArgs Class
- ResizeEventHandler Delegate
- Selection Class
- SelectionHelper Class
- SelectionType Enum
- StateNode Class
Alignment Enum
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → ValueType → Enum → Alignment
public enum Alignment
Fields
Bottom
public const Alignment Bottom = 2;
Field Value
Center
public const Alignment Center = 5;
Field Value
Left
public const Alignment Left = 1;
Field Value
Middle
public const Alignment Middle = 4;
Field Value
Right
public const Alignment Right = 3;
Field Value
Top
public const Alignment Top = 0;
Field Value
BaseConnection Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Shape → BaseConnection
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
DirectionProperty
public static DependencyProperty DirectionProperty;
Field Value
DisconnectCommandProperty
public static DependencyProperty DisconnectCommandProperty;
Field Value
DisconnectEvent
public static RoutedEvent DisconnectEvent;
Field Value
OffsetModeProperty
public static DependencyProperty OffsetModeProperty;
Field Value
SourceOffsetProperty
public static DependencyProperty SourceOffsetProperty;
Field Value
SourceProperty
public static DependencyProperty SourceProperty;
Field Value
SpacingProperty
public static DependencyProperty SpacingProperty;
Field Value
SplitCommandProperty
public static DependencyProperty SplitCommandProperty;
Field Value
SplitEvent
public static RoutedEvent SplitEvent;
Field Value
TargetOffsetProperty
public static DependencyProperty TargetOffsetProperty;
Field Value
TargetProperty
public static DependencyProperty TargetProperty;
Field Value
ZeroVector
Gets a vector that has its coordinates set to 0.
protected static Vector ZeroVector;
Field Value
Properties
ArrowSize
Gets or sets the size of the arrow head.
public Size ArrowSize { get; set; }
Property Value
DefiningGeometry
protected override Geometry DefiningGeometry { get; set; }
Property Value
Direction
Gets or sets the direction in which this connection is oriented.
public ConnectionDirection Direction { get; set; }
Property Value
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
OffsetMode
Gets or sets the ConnectionOffsetMode to apply when drawing the connection.
public ConnectionOffsetMode OffsetMode { get; set; }
Property Value
Source
Gets or sets the start point of this connection.
public Point Source { get; set; }
Property Value
SourceOffset
Gets or sets the offset from the BaseConnection.Source point.
public Size SourceOffset { get; set; }
Property Value
Spacing
The distance between the start point and the where the angle breaks.
public double Spacing { get; set; }
Property Value
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
Target
Gets or sets the end point of this connection.
public Point Target { get; set; }
Property Value
TargetOffset
Gets or sets the offset from the BaseConnection.Target point.
public Size TargetOffset { get; set; }
Property Value
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
GetArrowHeadPoints(Point, Point)
protected virtual ValueTuple<Point, Point> GetArrowHeadPoints(Point source, Point target);
Parameters
source
Point
target
Point
Returns
GetOffset()
Gets the resulting offset after applying the BaseConnection.OffsetMode.
protected virtual ValueTuple<Vector, Vector> GetOffset();
Returns
OnMouseDown(MouseButtonEventArgs)
protected override void OnMouseDown(MouseButtonEventArgs e);
Parameters
OnMouseUp(MouseButtonEventArgs)
protected override void OnMouseUp(MouseButtonEventArgs e);
Parameters
Events
Disconnect
Triggered by the Nodify.EditorGestures.Connection.Disconnect gesture.
public event ConnectionEventHandler Disconnect;
Event Type
Split
Triggered by the Nodify.EditorGestures.Connection.Split gesture.
public event ConnectionEventHandler Split;
Event Type
BoxValue Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → BoxValue
public static class BoxValue
Fields
ArrowSize
public static object ArrowSize;
Field Value
Double0
public static object Double0;
Field Value
Double1
public static object Double1;
Field Value
Double1000
public static object Double1000;
Field Value
Double2
public static object Double2;
Field Value
Double45
public static object Double45;
Field Value
DoubleHalf
public static object DoubleHalf;
Field Value
False
public static object False;
Field Value
Int0
public static object Int0;
Field Value
Int1
public static object Int1;
Field Value
Point
public static object Point;
Field Value
Rect
public static object Rect;
Field Value
Size
public static object Size;
Field Value
True
public static object True;
Field Value
UInt1
public static object UInt1;
Field Value
CircuitConnection Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Shape → BaseConnection → LineConnection → CircuitConnection
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
Degrees
protected const double Degrees = 0.017453292519943295d;
Field Value
Properties
Angle
The angle of the connection in degrees.
public double Angle { get; set; }
Property Value
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
Connection Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Shape → BaseConnection → Connection
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
Connection Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → Connection
public static class Connection
Properties
Disconnect
public static InputGesture Disconnect { get; set; }
Property Value
Split
public static InputGesture Split { get; set; }
Property Value
ConnectionDirection Enum
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → ValueType → Enum → ConnectionDirection
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
Forward
From BaseConnection.Source to BaseConnection.Target.
public const ConnectionDirection Forward = 0;
Field Value
ConnectionEventArgs Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EventArgs → RoutedEventArgs → ConnectionEventArgs
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
SplitLocation
Gets or sets the location where the connection should be split.
public Point SplitLocation { get; set; }
Property Value
Methods
InvokeEventHandler(Delegate, Object)
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);
Parameters
genericHandler
Delegate
genericTarget
Object
ConnectionEventHandler Delegate
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → Delegate → MulticastDelegate → ConnectionEventHandler
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: Object → ValueType → Enum → ConnectionOffsetMode
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
Edge
The offset is applied in a rectangle shape around the point, perpendicular to the edges.
public const ConnectionOffsetMode Edge = 3;
Field Value
None
No offset applied.
public const ConnectionOffsetMode None = 0;
Field Value
Rectangle
The offset is applied in a rectangle shape around the point.
public const ConnectionOffsetMode Rectangle = 2;
Field Value
Connector Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → Connector
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
Connect
public static InputGesture Connect { get; set; }
Property Value
Disconnect
Triggered by the Nodify.EditorGestures.Connector.Disconnect gesture.
public static InputGesture Disconnect { get; set; }
Property Value
Connector Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → Connector
Derived: NodeInput, NodeOutput, StateNode
References: PendingConnectionEventHandler, ConnectorEventHandler, ItemContainer
public class Connector : Control
Constructors
Connector()
public Connector();
Fields
AnchorProperty
public static DependencyProperty AnchorProperty;
Field Value
DisconnectCommandProperty
public static DependencyProperty DisconnectCommandProperty;
Field Value
DisconnectEvent
public static RoutedEvent DisconnectEvent;
Field Value
ElementConnector
protected const string ElementConnector = "PART_Connector";
Field Value
EnableOptimizations
public static bool EnableOptimizations;
Field Value
IsConnectedProperty
public static DependencyProperty IsConnectedProperty;
Field Value
IsPendingConnectionProperty
public static DependencyProperty IsPendingConnectionProperty;
Field Value
OptimizeMinimumSelectedItems
public static uint OptimizeMinimumSelectedItems;
Field Value
OptimizeSafeZone
public static double OptimizeSafeZone;
Field Value
PendingConnectionCompletedEvent
public static RoutedEvent PendingConnectionCompletedEvent;
Field Value
PendingConnectionDragEvent
public static RoutedEvent PendingConnectionDragEvent;
Field Value
PendingConnectionStartedEvent
public static RoutedEvent PendingConnectionStartedEvent;
Field Value
Properties
AllowPendingConnectionCancellation
public static bool AllowPendingConnectionCancellation { get; set; }
Property Value
Anchor
public Point Anchor { get; set; }
Property Value
Container
protected ItemContainer Container { get; set; }
Property Value
DisconnectCommand
public ICommand DisconnectCommand { get; set; }
Property Value
EnableStickyConnections
public static bool EnableStickyConnections { get; set; }
Property Value
IsConnected
public bool IsConnected { get; set; }
Property Value
IsPendingConnection
public bool IsPendingConnection { get; protected set; }
Property Value
Thumb
protected FrameworkElement Thumb { get; set; }
Property Value
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
OnLostMouseCapture(MouseEventArgs)
protected override void OnLostMouseCapture(MouseEventArgs e);
Parameters
OnMouseDown(MouseButtonEventArgs)
protected override void OnMouseDown(MouseButtonEventArgs e);
Parameters
OnMouseMove(MouseEventArgs)
protected override void OnMouseMove(MouseEventArgs e);
Parameters
OnMouseUp(MouseButtonEventArgs)
protected override void OnMouseUp(MouseButtonEventArgs e);
Parameters
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
PendingConnectionCompleted
public event PendingConnectionEventHandler PendingConnectionCompleted;
Event Type
PendingConnectionDrag
public event PendingConnectionEventHandler PendingConnectionDrag;
Event Type
PendingConnectionStarted
public event PendingConnectionEventHandler PendingConnectionStarted;
Event Type
ConnectorEventArgs Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EventArgs → RoutedEventArgs → ConnectorEventArgs
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
Connector
Gets the FrameworkElement.DataContext of the Connector associated with this event.
public object Connector { get; set; }
Property Value
Methods
InvokeEventHandler(Delegate, Object)
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);
Parameters
genericHandler
Delegate
genericTarget
Object
ConnectorEventHandler Delegate
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → Delegate → MulticastDelegate → ConnectorEventHandler
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: Object → ContainerState → ContainerDefaultState
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
HandleMouseMove(MouseEventArgs)
public override void HandleMouseMove(MouseEventArgs e);
Parameters
HandleMouseUp(MouseButtonEventArgs)
public override void HandleMouseUp(MouseButtonEventArgs e);
Parameters
ReEnter(ContainerState)
public override void ReEnter(ContainerState from);
Parameters
from
ContainerState
ContainerDraggingState Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → ContainerState → ContainerDraggingState
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
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
HandleMouseMove(MouseEventArgs)
public override void HandleMouseMove(MouseEventArgs e);
Parameters
HandleMouseUp(MouseButtonEventArgs)
public override void HandleMouseUp(MouseButtonEventArgs e);
Parameters
ContainerState Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → ContainerState
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
Editor
The owner of the state.
protected NodifyEditor Editor { get; set; }
Property Value
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
HandleKeyUp(KeyEventArgs)
public virtual void HandleKeyUp(KeyEventArgs e);
Parameters
HandleMouseDown(MouseButtonEventArgs)
public virtual void HandleMouseDown(MouseButtonEventArgs e);
Parameters
HandleMouseMove(MouseEventArgs)
public virtual void HandleMouseMove(MouseEventArgs e);
Parameters
HandleMouseUp(MouseButtonEventArgs)
public virtual void HandleMouseUp(MouseButtonEventArgs e);
Parameters
HandleMouseWheel(MouseWheelEventArgs)
public virtual void HandleMouseWheel(MouseWheelEventArgs e);
Parameters
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: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → ContentControl → DecoratorContainer
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
LocationChangedEvent
public static RoutedEvent LocationChangedEvent;
Field Value
LocationProperty
public static DependencyProperty LocationProperty;
Field Value
Properties
ActualSize
Gets the actual size of this DecoratorContainer.
public Size ActualSize { get; set; }
Property Value
Location
Gets or sets the location of this DecoratorContainer inside the NodifyEditor.DecoratorsHost.
public virtual Point Location { get; set; }
Property Value
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
EditorCommands Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EditorCommands
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
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
FitToScreen
Scales the editor's viewport to fit all the ItemContainers if that's possible.
public static RoutedUICommand FitToScreen { get; set; }
Property Value
SelectAll
Select all ItemContainers in the NodifyEditor.
public static RoutedUICommand SelectAll { get; set; }
Property Value
ZoomIn
Zoom in relative to the editor's viewport center.
public static RoutedUICommand ZoomIn { get; set; }
Property Value
ZoomOut
Zoom out relative to the editor's viewport center.
public static RoutedUICommand ZoomOut { get; set; }
Property Value
EditorDefaultState Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EditorState → EditorDefaultState
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
EditorGestures Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EditorGestures
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
Pan
Gesture used to start panning.
public static InputGesture Pan { get; set; }
Property Value
ResetViewportLocation
Gesture used to move the editor's viewport location to (0, 0).
public static InputGesture ResetViewportLocation { get; set; }
Property Value
Select
Gesture used to start selecting using a Nodify.EditorGestures.Selection strategy.
public static InputGesture Select { get; set; }
Property Value
Zoom
The key modifier required to start zooming by mouse wheel.
public static ModifierKeys Zoom { get; set; }
Property Value
ZoomIn
Gesture used to zoom in.
public static InputGesture ZoomIn { get; set; }
Property Value
ZoomOut
Gesture used to zoom out.
public static InputGesture ZoomOut { get; set; }
Property Value
EditorPanningState Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EditorState → EditorPanningState
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
HandleMouseUp(MouseButtonEventArgs)
public override void HandleMouseUp(MouseButtonEventArgs e);
Parameters
EditorSelectingState Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EditorState → EditorSelectingState
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
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
HandleMouseDown(MouseButtonEventArgs)
public override void HandleMouseDown(MouseButtonEventArgs e);
Parameters
HandleMouseMove(MouseEventArgs)
public override void HandleMouseMove(MouseEventArgs e);
Parameters
HandleMouseUp(MouseButtonEventArgs)
public override void HandleMouseUp(MouseButtonEventArgs e);
Parameters
EditorState Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EditorState
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
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
HandleKeyUp(KeyEventArgs)
public virtual void HandleKeyUp(KeyEventArgs e);
Parameters
HandleMouseDown(MouseButtonEventArgs)
public virtual void HandleMouseDown(MouseButtonEventArgs e);
Parameters
HandleMouseMove(MouseEventArgs)
public virtual void HandleMouseMove(MouseEventArgs e);
Parameters
HandleMouseUp(MouseButtonEventArgs)
public virtual void HandleMouseUp(MouseButtonEventArgs e);
Parameters
HandleMouseWheel(MouseWheelEventArgs)
public virtual void HandleMouseWheel(MouseWheelEventArgs e);
Parameters
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: Object → InternalTypeHelper → GeneratedInternalTypeHelper
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
CreateInstance(Type, CultureInfo)
CreateInstance
protected override object CreateInstance(Type type, CultureInfo culture);
Parameters
type
Type
culture
CultureInfo
Returns
GetPropertyValue(PropertyInfo, Object, CultureInfo)
GetPropertyValue
protected override object GetPropertyValue(PropertyInfo propertyInfo, object target, CultureInfo culture);
Parameters
propertyInfo
PropertyInfo
target
Object
culture
CultureInfo
Returns
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: Object → ValueType → Enum → GroupingMovementMode
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
Self
The GroupingNode will not move its content when moved.
public const GroupingMovementMode Self = 1;
Field Value
GroupingNode Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → GroupingNode
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
GroupingNode Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → ContentControl → HeaderedContentControl → GroupingNode
References: ResizeEventHandler, GroupingMovementMode, NodifyEditor, ItemContainer
public class GroupingNode : HeaderedContentControl
Constructors
GroupingNode()
public GroupingNode();
Fields
ActualSizeProperty
public static DependencyProperty ActualSizeProperty;
Field Value
CanResizeProperty
public static DependencyProperty CanResizeProperty;
Field Value
ContentControl
protected FrameworkElement ContentControl;
Field Value
ElementContent
protected const string ElementContent = "PART_Content";
Field Value
ElementHeader
protected const string ElementHeader = "PART_Header";
Field Value
ElementResizeThumb
protected const string ElementResizeThumb = "PART_ResizeThumb";
Field Value
GroupMovementBoxed
protected static object GroupMovementBoxed;
Field Value
HeaderBrushProperty
public static DependencyProperty HeaderBrushProperty;
Field Value
HeaderControl
protected FrameworkElement HeaderControl;
Field Value
MovementModeProperty
public static DependencyProperty MovementModeProperty;
Field Value
ResizeCompletedCommandProperty
public static DependencyProperty ResizeCompletedCommandProperty;
Field Value
ResizeCompletedEvent
public static RoutedEvent ResizeCompletedEvent;
Field Value
ResizeStartedCommandProperty
public static DependencyProperty ResizeStartedCommandProperty;
Field Value
ResizeStartedEvent
public static RoutedEvent ResizeStartedEvent;
Field Value
ResizeThumb
protected FrameworkElement ResizeThumb;
Field Value
Properties
ActualSize
public Size ActualSize { get; set; }
Property Value
CanResize
public bool CanResize { get; set; }
Property Value
Container
protected ItemContainer Container { get; set; }
Property Value
Editor
protected NodifyEditor Editor { get; set; }
Property Value
HeaderBrush
public Brush HeaderBrush { get; set; }
Property Value
MovementMode
public GroupingMovementMode MovementMode { get; set; }
Property Value
ResizeCompletedCommand
public ICommand ResizeCompletedCommand { get; set; }
Property Value
ResizeStartedCommand
public ICommand ResizeStartedCommand { get; set; }
Property Value
Methods
OnApplyTemplate()
public override void OnApplyTemplate();
Events
ResizeCompleted
public event ResizeEventHandler ResizeCompleted;
Event Type
ResizeStarted
public event ResizeEventHandler ResizeStarted;
Event Type
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
Location
The location of the item.
public virtual Point Location { get; set; }
Property Value
Methods
Arrange(Rect)
public virtual void Arrange(Rect rect);
Parameters
rect
Rect
ItemContainer Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → ItemContainer
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
Drag
public static InputGesture Drag { get; set; }
Property Value
Select
public static InputGesture Select { get; set; }
Property Value
ItemContainer Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → ContentControl → ItemContainer
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
DesiredSizeForSelectionProperty
public static DependencyProperty DesiredSizeForSelectionProperty;
Field Value
DragCompletedEvent
public static RoutedEvent DragCompletedEvent;
Field Value
DragDeltaEvent
public static RoutedEvent DragDeltaEvent;
Field Value
DragStartedEvent
public static RoutedEvent DragStartedEvent;
Field Value
HighlightBrushProperty
public static DependencyProperty HighlightBrushProperty;
Field Value
IsDraggableProperty
public static DependencyProperty IsDraggableProperty;
Field Value
IsPreviewingLocationProperty
public static DependencyProperty IsPreviewingLocationProperty;
Field Value
IsPreviewingLocationPropertyKey
public static DependencyPropertyKey IsPreviewingLocationPropertyKey;
Field Value
IsPreviewingSelectionProperty
public static DependencyProperty IsPreviewingSelectionProperty;
Field Value
IsPreviewingSelectionPropertyKey
public static DependencyPropertyKey IsPreviewingSelectionPropertyKey;
Field Value
IsSelectableProperty
public static DependencyProperty IsSelectableProperty;
Field Value
IsSelectedProperty
public static DependencyProperty IsSelectedProperty;
Field Value
LocationChangedEvent
public static RoutedEvent LocationChangedEvent;
Field Value
LocationProperty
public static DependencyProperty LocationProperty;
Field Value
SelectedBrushProperty
public static DependencyProperty SelectedBrushProperty;
Field Value
SelectedEvent
public static RoutedEvent SelectedEvent;
Field Value
UnselectedEvent
public static RoutedEvent UnselectedEvent;
Field Value
Properties
ActualSize
public Size ActualSize { get; set; }
Property Value
AllowDraggingCancellation
public static bool AllowDraggingCancellation { get; set; }
Property Value
DesiredSizeForSelection
public Size? DesiredSizeForSelection { get; set; }
Property Value
Editor
public NodifyEditor Editor { get; set; }
Property Value
HighlightBrush
public Brush HighlightBrush { get; set; }
Property Value
IsDraggable
public bool IsDraggable { get; set; }
Property Value
IsPreviewingLocation
public bool IsPreviewingLocation { get; set; }
Property Value
IsPreviewingSelection
public Boolean? IsPreviewingSelection { get; set; }
Property Value
IsSelectable
public bool IsSelectable { get; set; }
Property Value
IsSelected
public bool IsSelected { get; set; }
Property Value
Location
public virtual Point Location { get; set; }
Property Value
SelectedBrush
public Brush SelectedBrush { get; set; }
Property Value
State
public ContainerState State { get; set; }
Property Value
Methods
GetInitialState()
protected virtual ContainerState GetInitialState();
Returns
IsSelectableInArea(Rect, Boolean)
public virtual bool IsSelectableInArea(Rect area, bool isContained);
Parameters
area
Rect
isContained
Boolean
Returns
IsSelectableLocation(Point)
protected virtual bool IsSelectableLocation(Point position);
Parameters
position
Point
Returns
OnApplyTemplate()
public override void OnApplyTemplate();
OnKeyDown(KeyEventArgs)
protected override void OnKeyDown(KeyEventArgs e);
Parameters
OnKeyUp(KeyEventArgs)
protected override void OnKeyUp(KeyEventArgs e);
Parameters
OnLocationChanged()
protected void OnLocationChanged();
OnLostMouseCapture(MouseEventArgs)
protected override void OnLostMouseCapture(MouseEventArgs e);
Parameters
OnMouseDown(MouseButtonEventArgs)
protected override void OnMouseDown(MouseButtonEventArgs e);
Parameters
OnMouseMove(MouseEventArgs)
protected override void OnMouseMove(MouseEventArgs e);
Parameters
OnMouseUp(MouseButtonEventArgs)
protected override void OnMouseUp(MouseButtonEventArgs e);
Parameters
OnMouseWheel(MouseWheelEventArgs)
protected override void OnMouseWheel(MouseWheelEventArgs e);
Parameters
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
DragDelta
public event DragDeltaEventHandler DragDelta;
Event Type
DragStarted
public event DragStartedEventHandler DragStarted;
Event Type
LocationChanged
public event RoutedEventHandler LocationChanged;
Event Type
PreviewLocationChanged
public event PreviewLocationChanged PreviewLocationChanged;
Event Type
Selected
public event RoutedEventHandler Selected;
Event Type
Unselected
public event RoutedEventHandler Unselected;
Event Type
KnotNode Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → ContentControl → KnotNode
References: Connector
Represents a control that owns a Connector.
public class KnotNode : ContentControl
Constructors
KnotNode()
public KnotNode();
LineConnection Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Shape → BaseConnection → LineConnection
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
GetArrowHeadPoints(Point, Point)
protected override ValueTuple<Point, Point> GetArrowHeadPoints(Point source, Point target);
Parameters
source
Point
target
Point
Returns
Match Enum
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → ValueType → Enum → Match
References: MultiGesture
public enum Match
Fields
All
public const Match All = 1;
Field Value
Any
public const Match Any = 0;
Field Value
MultiGesture Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → InputGesture → MultiGesture
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
Node Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → ContentControl → HeaderedContentControl → Node
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
FooterBrushProperty
public static DependencyProperty FooterBrushProperty;
Field Value
FooterProperty
public static DependencyProperty FooterProperty;
Field Value
FooterTemplateProperty
public static DependencyProperty FooterTemplateProperty;
Field Value
HasFooterProperty
public static DependencyProperty HasFooterProperty;
Field Value
HeaderBrushProperty
public static DependencyProperty HeaderBrushProperty;
Field Value
InputConnectorTemplateProperty
public static DependencyProperty InputConnectorTemplateProperty;
Field Value
InputProperty
public static DependencyProperty InputProperty;
Field Value
OutputConnectorTemplateProperty
public static DependencyProperty OutputConnectorTemplateProperty;
Field Value
OutputProperty
public static DependencyProperty OutputProperty;
Field Value
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
Footer
Gets or sets the data for the footer of this control.
public object Footer { get; set; }
Property Value
FooterBrush
Gets or sets the brush used for the background of the Node.Footer of this Node.
public Brush FooterBrush { get; set; }
Property Value
FooterTemplate
Gets or sets the template used to display the content of the control's footer.
public DataTemplate FooterTemplate { get; set; }
Property Value
HasFooter
Gets a value that indicates whether the Node.Footer is .
public bool HasFooter { get; set; }
Property Value
HeaderBrush
Gets or sets the brush used for the background of the HeaderedContentControl.Header of this Node.
public Brush HeaderBrush { get; set; }
Property Value
Input
Gets or sets the data for the input Connectors of this control.
public IEnumerable Input { get; set; }
Property Value
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
Output
Gets or sets the data for the output Connectors of this control.
public IEnumerable Output { get; set; }
Property Value
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
NodeInput Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → Connector → NodeInput
Represents the default control for the Node.InputConnectorTemplate.
public class NodeInput : Connector
Constructors
NodeInput()
public NodeInput();
Fields
ConnectorTemplateProperty
public static DependencyProperty ConnectorTemplateProperty;
Field Value
HeaderProperty
public static DependencyProperty HeaderProperty;
Field Value
HeaderTemplateProperty
public static DependencyProperty HeaderTemplateProperty;
Field Value
Properties
ConnectorTemplate
Gets or sets the template used to display the connecting point of this Connector.
public ControlTemplate ConnectorTemplate { get; set; }
Property Value
Header
Gets of sets the data used for the control's header.
public object Header { get; set; }
Property Value
HeaderTemplate
Gets or sets the template used to display the content of the control's header.
public DataTemplate HeaderTemplate { get; set; }
Property Value
NodeOutput Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → Connector → NodeOutput
Represents the default control for the Node.OutputConnectorTemplate.
public class NodeOutput : Connector
Constructors
NodeOutput()
public NodeOutput();
Fields
ConnectorTemplateProperty
public static DependencyProperty ConnectorTemplateProperty;
Field Value
HeaderProperty
public static DependencyProperty HeaderProperty;
Field Value
HeaderTemplateProperty
public static DependencyProperty HeaderTemplateProperty;
Field Value
Properties
ConnectorTemplate
Gets or sets the template used to display the connecting point of this Connector.
public ControlTemplate ConnectorTemplate { get; set; }
Property Value
Header
Gets of sets the data used for the control's header.
public object Header { get; set; }
Property Value
HeaderTemplate
Gets or sets the template used to display the content of the control's header.
public DataTemplate HeaderTemplate { get; set; }
Property Value
NodifyCanvas Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Panel → NodifyCanvas
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
Properties
Extent
The area covered by the children of this panel.
public Rect Extent { get; set; }
Property Value
Methods
ArrangeOverride(Size)
protected override Size ArrangeOverride(Size arrangeSize);
Parameters
arrangeSize
Size
Returns
MeasureOverride(Size)
protected override Size MeasureOverride(Size constraint);
Parameters
constraint
Size
Returns
NodifyEditor Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → ItemsControl → Selector → MultiSelector → NodifyEditor
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
AutoPanSpeedProperty
public static DependencyProperty AutoPanSpeedProperty;
Field Value
BringIntoViewMaxDurationProperty
public static DependencyProperty BringIntoViewMaxDurationProperty;
Field Value
BringIntoViewSpeedProperty
public static DependencyProperty BringIntoViewSpeedProperty;
Field Value
ConnectionCompletedCommandProperty
public static DependencyProperty ConnectionCompletedCommandProperty;
Field Value
ConnectionsProperty
public static DependencyProperty ConnectionsProperty;
Field Value
ConnectionStartedCommandProperty
public static DependencyProperty ConnectionStartedCommandProperty;
Field Value
ConnectionTemplateProperty
public static DependencyProperty ConnectionTemplateProperty;
Field Value
DecoratorContainerStyleProperty
public static DependencyProperty DecoratorContainerStyleProperty;
Field Value
DecoratorsExtentProperty
public static DependencyProperty DecoratorsExtentProperty;
Field Value
DecoratorsProperty
public static DependencyProperty DecoratorsProperty;
Field Value
DecoratorTemplateProperty
public static DependencyProperty DecoratorTemplateProperty;
Field Value
DisableAutoPanningProperty
public static DependencyProperty DisableAutoPanningProperty;
Field Value
DisablePanningProperty
public static DependencyProperty DisablePanningProperty;
Field Value
DisableZoomingProperty
public static DependencyProperty DisableZoomingProperty;
Field Value
DisconnectConnectorCommandProperty
public static DependencyProperty DisconnectConnectorCommandProperty;
Field Value
DisplayConnectionsOnTopProperty
public static DependencyProperty DisplayConnectionsOnTopProperty;
Field Value
ElementItemsHost
protected const string ElementItemsHost = "PART_ItemsHost";
Field Value
EnableRealtimeSelectionProperty
public static DependencyProperty EnableRealtimeSelectionProperty;
Field Value
GridCellSizeProperty
public static DependencyProperty GridCellSizeProperty;
Field Value
IsPanningProperty
public static DependencyProperty IsPanningProperty;
Field Value
IsPanningPropertyKey
public static DependencyPropertyKey IsPanningPropertyKey;
Field Value
IsSelectingProperty
public static DependencyProperty IsSelectingProperty;
Field Value
IsSelectingPropertyKey
protected static DependencyPropertyKey IsSelectingPropertyKey;
Field Value
ItemsDragCompletedCommandProperty
public static DependencyProperty ItemsDragCompletedCommandProperty;
Field Value
ItemsDragStartedCommandProperty
public static DependencyProperty ItemsDragStartedCommandProperty;
Field Value
ItemsExtentProperty
public static DependencyProperty ItemsExtentProperty;
Field Value
MaxViewportZoomProperty
public static DependencyProperty MaxViewportZoomProperty;
Field Value
MinViewportZoomProperty
public static DependencyProperty MinViewportZoomProperty;
Field Value
MouseLocationProperty
public static DependencyProperty MouseLocationProperty;
Field Value
MouseLocationPropertyKey
protected static DependencyPropertyKey MouseLocationPropertyKey;
Field Value
PendingConnectionProperty
public static DependencyProperty PendingConnectionProperty;
Field Value
PendingConnectionTemplateProperty
public static DependencyProperty PendingConnectionTemplateProperty;
Field Value
RemoveConnectionCommandProperty
public static DependencyProperty RemoveConnectionCommandProperty;
Field Value
ScaleTransform
Gets the transform used to zoom on the viewport.
protected readonly ScaleTransform ScaleTransform;
Field Value
SelectedAreaProperty
public static DependencyProperty SelectedAreaProperty;
Field Value
SelectedAreaPropertyKey
protected static DependencyPropertyKey SelectedAreaPropertyKey;
Field Value
SelectedItemsProperty
public static DependencyProperty SelectedItemsProperty;
Field Value
SelectionRectangleStyleProperty
public static DependencyProperty SelectionRectangleStyleProperty;
Field Value
TranslateTransform
Gets the transform used to offset the viewport.
protected readonly TranslateTransform TranslateTransform;
Field Value
ViewportLocationProperty
public static DependencyProperty ViewportLocationProperty;
Field Value
ViewportSizeProperty
public static DependencyProperty ViewportSizeProperty;
Field Value
ViewportTransformProperty
public static DependencyProperty ViewportTransformProperty;
Field Value
ViewportUpdatedEvent
public static RoutedEvent ViewportUpdatedEvent;
Field Value
ViewportZoomProperty
public static DependencyProperty ViewportZoomProperty;
Field Value
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
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
AutoPanSpeed
Gets or sets the speed used when auto-panning scaled by NodifyEditor.AutoPanningTickRate
public double AutoPanSpeed { get; set; }
Property Value
BringIntoViewMaxDuration
Gets or sets the maximum animation duration in seconds for bringing a location into view.
public double BringIntoViewMaxDuration { get; set; }
Property Value
BringIntoViewSpeed
Gets or sets the animation speed in pixels per second for bringing a location into view.
public double BringIntoViewSpeed { get; set; }
Property Value
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.Tuple
2.Item1 is the PendingConnection.Source and System.Tuple`2.Item2 is PendingConnection.Target.
public ICommand ConnectionCompletedCommand { get; set; }
Property Value
Connections
Gets or sets the data source that BaseConnections will be generated for.
public IEnumerable Connections { get; set; }
Property Value
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
ConnectionTemplate
Gets or sets the DataTemplate to use when generating a new BaseConnection.
public DataTemplate ConnectionTemplate { get; set; }
Property Value
DecoratorContainerStyle
Gets or sets the style to use for the DecoratorContainer.
public Style DecoratorContainerStyle { get; set; }
Property Value
Decorators
Gets or sets the items that will be rendered in the decorators layer via DecoratorContainers.
public IEnumerable Decorators { get; set; }
Property Value
DecoratorsExtent
The area covered by the DecoratorContainers.
public Rect DecoratorsExtent { get; set; }
Property Value
DecoratorTemplate
Gets or sets the DataTemplate to use when generating a new DecoratorContainer.
public DataTemplate DecoratorTemplate { get; set; }
Property Value
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
DisablePanning
Gets or sets whether panning should be disabled.
public bool DisablePanning { get; set; }
Property Value
DisableZooming
Gets or sets whether zooming should be disabled.
public bool DisableZooming { get; set; }
Property Value
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
DisplayConnectionsOnTop
Gets or sets whether to display connections on top of ItemContainers or not.
public bool DisplayConnectionsOnTop { get; set; }
Property Value
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
EnableRenderingContainersOptimizations
Gets or sets if NodifyEditors should enable optimizations based on NodifyEditor.OptimizeRenderingMinimumContainers and NodifyEditor.OptimizeRenderingZoomOutPercent.
public static bool EnableRenderingContainersOptimizations { get; set; }
Property Value
EnableSnappingCorrection
Correct ItemContainer's position after moving if starting position is not snapped to grid.
public static bool EnableSnappingCorrection { get; set; }
Property Value
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
GridCellSize
Gets or sets the value of an invisible grid used to adjust locations (snapping) of ItemContainers.
public uint GridCellSize { get; set; }
Property Value
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
IsBulkUpdatingItems
Tells if the NodifyEditor is doing operations on multiple items at once.
public bool IsBulkUpdatingItems { get; protected set; }
Property Value
IsPanning
Gets a value that indicates whether a panning operation is in progress.
public bool IsPanning { get; set; }
Property Value
IsSelecting
Gets a value that indicates whether a selection operation is in progress.
public bool IsSelecting { get; set; }
Property Value
ItemsDragCompletedCommand
Invoked when a drag operation is completed for the NodifyEditor.SelectedItems.
public ICommand ItemsDragCompletedCommand { get; set; }
Property Value
ItemsDragStartedCommand
Invoked when a drag operation starts for the NodifyEditor.SelectedItems.
public ICommand ItemsDragStartedCommand { get; set; }
Property Value
ItemsExtent
The area covered by the ItemContainers.
public Rect ItemsExtent { get; set; }
Property Value
MaxViewportZoom
Gets or sets the maximum zoom factor of the viewport
public double MaxViewportZoom { get; set; }
Property Value
MinViewportZoom
Gets or sets the minimum zoom factor of the viewport
public double MinViewportZoom { get; set; }
Property Value
MouseLocation
Gets the current mouse location in graph space coordinates (relative to the NodifyEditor.ItemsHost).
public Point MouseLocation { get; protected set; }
Property Value
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
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
PendingConnection
Gets of sets the FrameworkElement.DataContext of the PendingConnection.
public object PendingConnection { get; set; }
Property Value
PendingConnectionTemplate
Gets or sets the DataTemplate to use for the NodifyEditor.PendingConnection.
public DataTemplate PendingConnectionTemplate { get; set; }
Property Value
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
SelectedArea
Gets the currently selected area while NodifyEditor.IsSelecting is true.
public Rect SelectedArea { get; set; }
Property Value
SelectedItems
Gets or sets the items in the NodifyEditor that are selected.
public IList SelectedItems { get; set; }
Property Value
SelectionRectangleStyle
Gets or sets the style to use for the selection rectangle.
public Style SelectionRectangleStyle { get; set; }
Property Value
State
The current state of the editor.
public EditorState State { get; set; }
Property Value
ViewportLocation
Gets or sets the viewport's top-left coordinates in graph space coordinates.
public Point ViewportLocation { get; set; }
Property Value
ViewportSize
Gets the size of the viewport.
public Size ViewportSize { get; set; }
Property Value
ViewportTransform
Gets the transform that is applied to all child controls.
public Transform ViewportTransform { get; set; }
Property Value
ViewportZoom
Gets or sets the zoom factor of the viewport.
public double ViewportZoom { get; set; }
Property Value
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
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
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
OnKeyUp(KeyEventArgs)
protected override void OnKeyUp(KeyEventArgs e);
Parameters
OnLostMouseCapture(MouseEventArgs)
protected override void OnLostMouseCapture(MouseEventArgs e);
Parameters
OnMouseDown(MouseButtonEventArgs)
protected override void OnMouseDown(MouseButtonEventArgs e);
Parameters
OnMouseMove(MouseEventArgs)
protected override void OnMouseMove(MouseEventArgs e);
Parameters
OnMouseUp(MouseButtonEventArgs)
protected override void OnMouseUp(MouseButtonEventArgs e);
Parameters
OnMouseWheel(MouseWheelEventArgs)
protected override void OnMouseWheel(MouseWheelEventArgs e);
Parameters
OnRenderSizeChanged(SizeChangedInfo)
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo);
Parameters
sizeInfo
SizeChangedInfo
OnSelectionChanged(SelectionChangedEventArgs)
protected override void OnSelectionChanged(SelectionChangedEventArgs e);
Parameters
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
PendingConnection Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → ContentControl → PendingConnection
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
CompletedCommandProperty
public static DependencyProperty CompletedCommandProperty;
Field Value
DirectionProperty
public static DependencyProperty DirectionProperty;
Field Value
EnablePreviewProperty
public static DependencyProperty EnablePreviewProperty;
Field Value
EnableSnappingProperty
public static DependencyProperty EnableSnappingProperty;
Field Value
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
IsVisibleProperty
public static DependencyProperty IsVisibleProperty;
Field Value
PreviewTargetProperty
public static DependencyProperty PreviewTargetProperty;
Field Value
SourceAnchorProperty
public static DependencyProperty SourceAnchorProperty;
Field Value
SourceProperty
public static DependencyProperty SourceProperty;
Field Value
StartedCommandProperty
public static DependencyProperty StartedCommandProperty;
Field Value
StrokeDashArrayProperty
public static DependencyProperty StrokeDashArrayProperty;
Field Value
StrokeProperty
public static DependencyProperty StrokeProperty;
Field Value
StrokeThicknessProperty
public static DependencyProperty StrokeThicknessProperty;
Field Value
TargetAnchorProperty
public static DependencyProperty TargetAnchorProperty;
Field Value
TargetProperty
public static DependencyProperty TargetProperty;
Field Value
Properties
AllowOnlyConnectors
If true will preview and connect only to Connectors, otherwise will also enable ItemContainers.
public bool AllowOnlyConnectors { get; set; }
Property Value
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
Direction
Gets or sets the direction of this connection.
public ConnectionDirection Direction { get; set; }
Property Value
Editor
Gets the NodifyEditor that owns this PendingConnection.
protected NodifyEditor Editor { get; set; }
Property Value
EnablePreview
PendingConnection.PreviewTarget will be updated with a potential Connector's FrameworkElement.DataContext if this is true.
public bool EnablePreview { get; set; }
Property Value
EnableSnapping
Enables snapping the PendingConnection.TargetAnchor to a possible PendingConnection.Target connector.
public bool EnableSnapping { get; set; }
Property Value
IsVisible
Gets or sets the visibility of the connection.
public bool IsVisible { get; set; }
Property Value
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
Source
Gets or sets the Connector's FrameworkElement.DataContext that started this pending connection.
public object Source { get; set; }
Property Value
SourceAnchor
Gets or sets the starting point for the connection.
public Point SourceAnchor { get; set; }
Property Value
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
Stroke
Gets or sets the stroke color of the connection.
public Brush Stroke { get; set; }
Property Value
StrokeDashArray
Gets or sets the pattern of dashes and gaps that is used to outline the connection.
public DoubleCollection StrokeDashArray { get; set; }
Property Value
StrokeThickness
Gets or set the connection thickness.
public double StrokeThickness { get; set; }
Property Value
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
TargetAnchor
Gets or sets the end point for the connection.
public Point TargetAnchor { get; set; }
Property Value
Methods
GetIsOverElement(UIElement)
public static bool GetIsOverElement(UIElement elem);
Parameters
elem
UIElement
Returns
OnApplyTemplate()
public override void OnApplyTemplate();
OnPendingConnectionCompleted(Object, PendingConnectionEventArgs)
protected virtual void OnPendingConnectionCompleted(object sender, PendingConnectionEventArgs e);
Parameters
sender
Object
OnPendingConnectionDrag(Object, PendingConnectionEventArgs)
protected virtual void OnPendingConnectionDrag(object sender, PendingConnectionEventArgs e);
Parameters
sender
Object
OnPendingConnectionStarted(Object, PendingConnectionEventArgs)
protected virtual void OnPendingConnectionStarted(object sender, PendingConnectionEventArgs e);
Parameters
sender
Object
SetIsOverElement(UIElement, Boolean)
public static void SetIsOverElement(UIElement elem, bool value);
Parameters
elem
UIElement
value
Boolean
PendingConnectionEventArgs Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → EventArgs → RoutedEventArgs → PendingConnectionEventArgs
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
Canceled
Gets or sets a value that indicates whether this PendingConnection was cancelled.
public bool Canceled { get; set; }
Property Value
OffsetX
Gets or sets the distance from the PendingConnectionEventArgs.SourceConnector in the X axis.
public double OffsetX { get; set; }
Property Value
OffsetY
Gets or sets the distance from the PendingConnectionEventArgs.SourceConnector in the Y axis.
public double OffsetY { get; set; }
Property Value
SourceConnector
Gets the FrameworkElement.DataContext of the Connector that started this PendingConnection.
public object SourceConnector { get; set; }
Property Value
TargetConnector
Gets or sets the FrameworkElement.DataContext of the target Connector when the PendingConnection is completed.
public object TargetConnector { get; set; }
Property Value
Methods
InvokeEventHandler(Delegate, Object)
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);
Parameters
genericHandler
Delegate
genericTarget
Object
PendingConnectionEventHandler Delegate
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → Delegate → MulticastDelegate → PendingConnectionEventHandler
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: Object → Delegate → MulticastDelegate → PreviewLocationChanged
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: Object → EventArgs → RoutedEventArgs → ResizeEventArgs
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
PreviousSize
Gets the previous size of the object.
public Size PreviousSize { get; set; }
Property Value
Methods
InvokeEventHandler(Delegate, Object)
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget);
Parameters
genericHandler
Delegate
genericTarget
Object
ResizeEventHandler Delegate
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → Delegate → MulticastDelegate → ResizeEventHandler
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: Object → Selection
public static class Selection
Properties
Append
public static InputGesture Append { get; set; }
Property Value
Invert
public static InputGesture Invert { get; set; }
Property Value
Remove
public static InputGesture Remove { get; set; }
Property Value
Replace
public static InputGesture Replace { get; set; }
Property Value
SelectionHelper Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → SelectionHelper
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: Object → ValueType → Enum → SelectionType
References: EditorSelectingState, SelectionHelper
public enum SelectionType
Fields
Append
public const SelectionType Append = 2;
Field Value
Invert
public const SelectionType Invert = 3;
Field Value
Remove
public const SelectionType Remove = 1;
Field Value
Replace
public const SelectionType Replace = 0;
Field Value
StateNode Class
Namespace: Nodify
Assembly: Nodify
Inheritance: Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Control → Connector → StateNode
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
ContentTemplateProperty
public static DependencyProperty ContentTemplateProperty;
Field Value
CornerRadiusProperty
public static DependencyProperty CornerRadiusProperty;
Field Value
ElementContent
protected const string ElementContent = "PART_Content";
Field Value
HighlightBrushProperty
public static DependencyProperty HighlightBrushProperty;
Field Value
Properties
Content
Gets or sets the data for the control's content.
public object Content { get; set; }
Property Value
ContentControl
Gets the StateNode.ContentControl control of this StateNode.
protected UIElement ContentControl { get; set; }
Property Value
ContentTemplate
Gets or sets the template used to display the content of the control's header.
public DataTemplate ContentTemplate { get; set; }
Property Value
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
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
Methods
OnApplyTemplate()
public override void OnApplyTemplate();
OnMouseDown(MouseButtonEventArgs)
protected override void OnMouseDown(MouseButtonEventArgs e);
Parameters
OnMouseUp(MouseButtonEventArgs)
protected override void OnMouseUp(MouseButtonEventArgs e);
Parameters