diff --git a/docs/_Sidebar.md b/docs/_Sidebar.md index 765f68fe..57340028 100644 --- a/docs/_Sidebar.md +++ b/docs/_Sidebar.md @@ -61,6 +61,6 @@ - [Zooming](Minimap-Overview#zooming) - [Customization](Minimap-Overview#customization) -[API Reference](API-Reference) +[API Reference](api/TOC) [(FAQ) Frequently asked questions](FAQ) diff --git a/docs/api/Nodify_Alignment.md b/docs/api/Nodify_Alignment.md new file mode 100644 index 00000000..8683fa80 --- /dev/null +++ b/docs/api/Nodify_Alignment.md @@ -0,0 +1,52 @@ +# Alignment Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [EditorCommands](Nodify_EditorCommands), [NodifyEditor](Nodify_NodifyEditor) + +Specifies the possible alignment values used by the NodifyEditor.AlignSelection(Alignment) method. + +```csharp +public enum Alignment +``` + +## Fields + +### Bottom + +```csharp +Bottom = 2; +``` + +### Center + +```csharp +Center = 5; +``` + +### Left + +```csharp +Left = 1; +``` + +### Middle + +```csharp +Middle = 4; +``` + +### Right + +```csharp +Right = 3; +``` + +### Top + +```csharp +Top = 0; +``` + diff --git a/docs/api/Nodify_ArrowHeadEnds.md b/docs/api/Nodify_ArrowHeadEnds.md new file mode 100644 index 00000000..0125fad5 --- /dev/null +++ b/docs/api/Nodify_ArrowHeadEnds.md @@ -0,0 +1,48 @@ +# ArrowHeadEnds Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [BaseConnection](Nodify_BaseConnection) + +The end at which the arrow head is drawn. + +```csharp +public enum ArrowHeadEnds +``` + +## Fields + +### Both + +Arrow heads at both ends. + +```csharp +Both = 2; +``` + +### End + +Arrow head at end. + +```csharp +End = 1; +``` + +### None + +No arrow head. + +```csharp +None = 3; +``` + +### Start + +Arrow head at start. + +```csharp +Start = 0; +``` + diff --git a/docs/api/Nodify_ArrowHeadShape.md b/docs/api/Nodify_ArrowHeadShape.md new file mode 100644 index 00000000..8da4738f --- /dev/null +++ b/docs/api/Nodify_ArrowHeadShape.md @@ -0,0 +1,40 @@ +# ArrowHeadShape Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [BaseConnection](Nodify_BaseConnection) + +The shape of the arrowhead. + +```csharp +public enum ArrowHeadShape +``` + +## Fields + +### Arrowhead + +The default arrowhead. + +```csharp +Arrowhead = 0; +``` + +### Ellipse + +An ellipse. + +```csharp +Ellipse = 1; +``` + +### Rectangle + +A rectangle. + +```csharp +Rectangle = 2; +``` + diff --git a/docs/api/Nodify_BaseConnection.md b/docs/api/Nodify_BaseConnection.md new file mode 100644 index 00000000..0c151bb8 --- /dev/null +++ b/docs/api/Nodify_BaseConnection.md @@ -0,0 +1,767 @@ +# BaseConnection Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Shape](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Shapes.Shape) → [BaseConnection](Nodify_BaseConnection) + +**Derived:** [LineConnection](Nodify_LineConnection), [Connection](Nodify_Connection) + +**References:** [ArrowHeadEnds](Nodify_ArrowHeadEnds), [ArrowHeadShape](Nodify_ArrowHeadShape), [ConnectionDirection](Nodify_ConnectionDirection), [ConnectionEventArgs](Nodify_Events_ConnectionEventArgs), [ConnectionEventHandler](Nodify_Events_ConnectionEventHandler), [ConnectionOffsetMode](Nodify_ConnectionOffsetMode), [CuttingLine](Nodify_CuttingLine), [ConnectionState.Disconnect](Nodify_Interactivity_ConnectionState_Disconnect), [NodifyEditor](Nodify_NodifyEditor), [ConnectionState.Split](Nodify_Interactivity_ConnectionState_Split) + +Represents the base class for shapes that are drawn from a [BaseConnection.Source](Nodify_BaseConnection#source) point to a [BaseConnection.Target](Nodify_BaseConnection#target) point. + +```csharp +public abstract class BaseConnection : Shape +``` + +## Constructors + +### BaseConnection() + +```csharp +protected BaseConnection(); +``` + +## Fields + +### ZeroVector + +Gets a vector that has its coordinates set to 0. + +```csharp +protected static Vector ZeroVector; +``` + +**Field Value** + +[Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector) + +## Properties + +### ArrowEnds + +Gets or sets the arrowhead ends. + +```csharp +public ArrowHeadEnds ArrowEnds { get; set; } +``` + +**Property Value** + +[ArrowHeadEnds](Nodify_ArrowHeadEnds) + +### ArrowShape + +Gets or sets the arrowhead ends. + +```csharp +public ArrowHeadShape ArrowShape { get; set; } +``` + +**Property Value** + +[ArrowHeadShape](Nodify_ArrowHeadShape) + +### ArrowSize + +Gets or sets the size of the arrow head. + +```csharp +public Size ArrowSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### DefiningGeometry + +```csharp +protected override Geometry DefiningGeometry { get; set; } +``` + +**Property Value** + +[Geometry](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Geometry) + +### Direction + +Gets or sets the direction in which this connection is flowing. + +```csharp +public ConnectionDirection Direction { get; set; } +``` + +**Property Value** + +[ConnectionDirection](Nodify_ConnectionDirection) + +### DirectionalArrowsAnimationDuration + +Gets or sets the duration in seconds of a directional arrow flowing from [BaseConnection.Source](Nodify_BaseConnection#source) to [BaseConnection.Target](Nodify_BaseConnection#target). + +```csharp +public double DirectionalArrowsAnimationDuration { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### DirectionalArrowsCount + +Gets or sets the number of arrows to be drawn on the line in the direction of the connection (see [BaseConnection.Direction](Nodify_BaseConnection#direction)). + +```csharp +public uint DirectionalArrowsCount { get; set; } +``` + +**Property Value** + +[UInt32](https://docs.microsoft.com/en-us/dotnet/api/System.UInt32) + +### DirectionalArrowsOffset + +Gets or sets the offset of the arrows drawn by the [BaseConnection.DirectionalArrowsCount](Nodify_BaseConnection#directionalarrowscount) (value is clamped between 0 and 1). + +```csharp +public double DirectionalArrowsOffset { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### DisconnectCommand + +Removes this connection. Triggered by Nodify.Interactivity.EditorGestures.ConnectionGestures.Disconnect gesture. + Parameter is the location where the disconnect ocurred. + +```csharp +public ICommand DisconnectCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### FontFamily + +```csharp +public FontFamily FontFamily { get; set; } +``` + +**Property Value** + +[FontFamily](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.FontFamily) + +### FontSize + +```csharp +public double FontSize { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### FontStretch + +```csharp +public FontStretch FontStretch { get; set; } +``` + +**Property Value** + +[FontStretch](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FontStretch) + +### FontStyle + +```csharp +public FontStyle FontStyle { get; set; } +``` + +**Property Value** + +[FontStyle](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FontStyle) + +### FontWeight + +```csharp +public FontWeight FontWeight { get; set; } +``` + +**Property Value** + +[FontWeight](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FontWeight) + +### Foreground + +The brush used to render the [BaseConnection.Text](Nodify_BaseConnection#text). + +```csharp +public Brush Foreground { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### HasContextMenu + +Gets a value indicating whether the connection has a context menu. + +```csharp +public bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasCustomContextMenu + +Gets or sets a value indicating whether the connection uses a custom context menu. + +```csharp +public bool HasCustomContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsAnimatingDirectionalArrows + +Gets or sets whether the directional arrows should be flowing through the connection wire. + +```csharp +public bool IsAnimatingDirectionalArrows { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### OutlineBrush + +The brush used to render the outline. + +```csharp +public Brush OutlineBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### OutlineThickness + +The thickness of the outline. + +```csharp +public double OutlineThickness { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### PrioritizeBaseConnectionForSelection + +Whether to prioritize controls of type [BaseConnection](Nodify_BaseConnection) inside custom connections (connection wrappers) + when setting the [BaseConnection.IsSelectableProperty](Nodify_BaseConnection#isselectableproperty) and [BaseConnection.IsSelectedProperty](Nodify_BaseConnection#isselectedproperty) attached properties. + +```csharp +public static bool PrioritizeBaseConnectionForSelection { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### Source + +Gets or sets the start point of this connection. + +```csharp +public Point Source { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### SourceOffset + +Gets or sets the offset from the [BaseConnection.Source](Nodify_BaseConnection#source) point. + +```csharp +public Size SourceOffset { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### SourceOffsetMode + +Gets or sets the [ConnectionOffsetMode](Nodify_ConnectionOffsetMode) to apply to the [BaseConnection.Source](Nodify_BaseConnection#source) when drawing the connection. + +```csharp +public ConnectionOffsetMode SourceOffsetMode { get; set; } +``` + +**Property Value** + +[ConnectionOffsetMode](Nodify_ConnectionOffsetMode) + +### SourceOrientation + +Gets or sets the orientation in which this connection is flowing. + +```csharp +public Orientation SourceOrientation { get; set; } +``` + +**Property Value** + +[Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### Spacing + +The distance between the start point and the where the angle breaks. + +```csharp +public double Spacing { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### SplitCommand + +Splits the connection. Triggered by Nodify.Interactivity.EditorGestures.ConnectionGestures.Split gesture. + Parameter is the location where the splitting ocurred. + +```csharp +public ICommand SplitCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### Target + +Gets or sets the end point of this connection. + +```csharp +public Point Target { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### TargetOffset + +Gets or sets the offset from the [BaseConnection.Target](Nodify_BaseConnection#target) point. + +```csharp +public Size TargetOffset { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### TargetOffsetMode + +Gets or sets the [ConnectionOffsetMode](Nodify_ConnectionOffsetMode) to apply to the [BaseConnection.Target](Nodify_BaseConnection#target) when drawing the connection. + +```csharp +public ConnectionOffsetMode TargetOffsetMode { get; set; } +``` + +**Property Value** + +[ConnectionOffsetMode](Nodify_ConnectionOffsetMode) + +### TargetOrientation + +Gets or sets the orientation in which this connection is flowing. + +```csharp +public Orientation TargetOrientation { get; set; } +``` + +**Property Value** + +[Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### Text + +Gets or sets the text contents of the [BaseConnection](Nodify_BaseConnection). + +```csharp +public string Text { get; set; } +``` + +**Property Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +## Methods + +### DrawArrowGeometry(StreamGeometryContext, Point, Point, ConnectionDirection, ArrowHeadShape, Orientation) + +```csharp +protected virtual void DrawArrowGeometry(StreamGeometryContext context, Point source, Point target, ConnectionDirection arrowDirection = 0, ArrowHeadShape shape = 0, Orientation orientation = 0); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`arrowDirection` [ConnectionDirection](Nodify_ConnectionDirection) + +`shape` [ArrowHeadShape](Nodify_ArrowHeadShape) + +`orientation` [Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### DrawDefaultArrowhead(StreamGeometryContext, Point, Point, ConnectionDirection, Orientation) + +```csharp +protected virtual void DrawDefaultArrowhead(StreamGeometryContext context, Point source, Point target, ConnectionDirection arrowDirection = 0, Orientation orientation = 0); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`arrowDirection` [ConnectionDirection](Nodify_ConnectionDirection) + +`orientation` [Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### DrawDirectionalArrowheadGeometry(StreamGeometryContext, Vector, Point) + +```csharp +protected virtual void DrawDirectionalArrowheadGeometry(StreamGeometryContext context, Vector direction, Point location); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`direction` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector) + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### DrawDirectionalArrowsGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected virtual void DrawDirectionalArrowsGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### DrawEllipseArrowhead(StreamGeometryContext, Point, Point, ConnectionDirection, Orientation) + +```csharp +protected virtual void DrawEllipseArrowhead(StreamGeometryContext context, Point source, Point target, ConnectionDirection arrowDirection = 0, Orientation orientation = 0); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`arrowDirection` [ConnectionDirection](Nodify_ConnectionDirection) + +`orientation` [Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### DrawLineGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected virtual ValueTuple, ValueTuple> DrawLineGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[ValueTuple\, ValueTuple\\>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### DrawRectangleArrowhead(StreamGeometryContext, Point, Point, ConnectionDirection, Orientation) + +```csharp +protected virtual void DrawRectangleArrowhead(StreamGeometryContext context, Point source, Point target, ConnectionDirection arrowDirection = 0, Orientation orientation = 0); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`arrowDirection` [ConnectionDirection](Nodify_ConnectionDirection) + +`orientation` [Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### GetIsSelectable(UIElement) + +```csharp +public static bool GetIsSelectable(UIElement elem); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### GetIsSelected(UIElement) + +```csharp +public static bool GetIsSelected(UIElement elem); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### GetOffset() + +Gets the resulting offset after applying the [BaseConnection.SourceOffsetMode](Nodify_BaseConnection#sourceoffsetmode). + +```csharp +protected virtual ValueTuple GetOffset(); +``` + +**Returns** + +[ValueTuple\](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### GetTextPosition(FormattedText, Point, Point) + +```csharp +protected virtual Point GetTextPosition(FormattedText text, Point source, Point target); +``` + +**Parameters** + +`text` [FormattedText](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.FormattedText) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### OnKeyDown(KeyEventArgs) + +```csharp +protected override void OnKeyDown(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnKeyUp(KeyEventArgs) + +```csharp +protected override void OnKeyUp(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnLostMouseCapture(MouseEventArgs) + +```csharp +protected override void OnLostMouseCapture(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + +### OnRender(DrawingContext) + +```csharp +protected override void OnRender(DrawingContext drawingContext); +``` + +**Parameters** + +`drawingContext` [DrawingContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.DrawingContext) + +### Remove() + +Removes the connection. + +```csharp +public void Remove(); +``` + +### SetIsSelectable(UIElement, Boolean) + +```csharp +public static void SetIsSelectable(UIElement elem, bool value); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +`value` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### SetIsSelected(UIElement, Boolean) + +```csharp +public static void SetIsSelected(UIElement elem, bool value); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +`value` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### SplitAtLocation(Point) + +Splits the connection at the specified location. + +```csharp +public void SplitAtLocation(Point splitLocation); +``` + +**Parameters** + +`splitLocation` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) where the connection should be split. + +### StartAnimation(Double) + +Starts animating the directional arrows. + +```csharp +public void StartAnimation(double duration = 1.5d); +``` + +**Parameters** + +`duration` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double): The duration for moving an arrowhead from [BaseConnection.Source](Nodify_BaseConnection#source) to [BaseConnection.Target](Nodify_BaseConnection#target). + +### StopAnimation() + +Stops the animation started by Nodify.BaseConnection.StartAnimation(System.Double) + +```csharp +public void StopAnimation(); +``` + +## Events + +### Disconnect + +Triggered by the Nodify.Interactivity.EditorGestures.ConnectionGestures.Disconnect gesture. + +```csharp +public event ConnectionEventHandler Disconnect; +``` + +**Event Type** + +[ConnectionEventHandler](Nodify_Events_ConnectionEventHandler) + +### Split + +Triggered by the Nodify.Interactivity.EditorGestures.ConnectionGestures.Split gesture. + +```csharp +public event ConnectionEventHandler Split; +``` + +**Event Type** + +[ConnectionEventHandler](Nodify_Events_ConnectionEventHandler) + diff --git a/docs/api/Nodify_BoxValue.md b/docs/api/Nodify_BoxValue.md new file mode 100644 index 00000000..e6192336 --- /dev/null +++ b/docs/api/Nodify_BoxValue.md @@ -0,0 +1,204 @@ +# BoxValue Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [BoxValue](Nodify_BoxValue) + +```csharp +public static class BoxValue +``` + +## Fields + +### ArrowSize + +```csharp +public static object ArrowSize; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### ConnectionOffset + +```csharp +public static object ConnectionOffset; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Double0 + +```csharp +public static object Double0; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Double1 + +```csharp +public static object Double1; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Double1000 + +```csharp +public static object Double1000; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Double2 + +```csharp +public static object Double2; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Double45 + +```csharp +public static object Double45; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Double5 + +```csharp +public static object Double5; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### DoubleHalf + +```csharp +public static object DoubleHalf; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### False + +```csharp +public static object False; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Int0 + +```csharp +public static object Int0; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Int1 + +```csharp +public static object Int1; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Point + +```csharp +public static object Point; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Rect + +```csharp +public static object Rect; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Size + +```csharp +public static object Size; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Thickness2 + +```csharp +public static object Thickness2; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### True + +```csharp +public static object True; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### UInt0 + +```csharp +public static object UInt0; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### UInt1 + +```csharp +public static object UInt1; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + diff --git a/docs/api/Nodify_CircuitConnection.md b/docs/api/Nodify_CircuitConnection.md new file mode 100644 index 00000000..64681671 --- /dev/null +++ b/docs/api/Nodify_CircuitConnection.md @@ -0,0 +1,100 @@ +# CircuitConnection Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Shape](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Shapes.Shape) → [BaseConnection](Nodify_BaseConnection) → [LineConnection](Nodify_LineConnection) → [CircuitConnection](Nodify_CircuitConnection) + +Represents a line that is controlled by an angle. + +```csharp +public class CircuitConnection : LineConnection +``` + +## Constructors + +### CircuitConnection() + +```csharp +public CircuitConnection(); +``` + +## Fields + +### Degrees + +```csharp +protected const double Degrees = 0.017453292519943295d; +``` + +**Field Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +## Properties + +### Angle + +The angle of the connection in degrees. + +```csharp +public double Angle { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +## Methods + +### DrawDirectionalArrowsGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override void DrawDirectionalArrowsGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### DrawLineGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override ValueTuple, ValueTuple> DrawLineGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[ValueTuple\, ValueTuple\\>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### GetTextPosition(FormattedText, Point, Point) + +```csharp +protected override Point GetTextPosition(FormattedText text, Point source, Point target); +``` + +**Parameters** + +`text` [FormattedText](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.FormattedText) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + diff --git a/docs/api/Nodify_Connection.md b/docs/api/Nodify_Connection.md new file mode 100644 index 00000000..202315ff --- /dev/null +++ b/docs/api/Nodify_Connection.md @@ -0,0 +1,98 @@ +# Connection Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Shape](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Shapes.Shape) → [BaseConnection](Nodify_BaseConnection) → [Connection](Nodify_Connection) + +**References:** [Connector](Nodify_Connector), [NodifyEditor](Nodify_NodifyEditor) + +Represents a cubic bezier curve. + +```csharp +public class Connection : BaseConnection +``` + +## Constructors + +### Connection() + +```csharp +public Connection(); +``` + +## Methods + +### DrawDirectionalArrowsGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override void DrawDirectionalArrowsGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### DrawLineGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override ValueTuple, ValueTuple> DrawLineGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[ValueTuple\, ValueTuple\\>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### GetTextPosition(FormattedText, Point, Point) + +```csharp +protected override Point GetTextPosition(FormattedText text, Point source, Point target); +``` + +**Parameters** + +`text` [FormattedText](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.FormattedText) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### InterpolateCubicBezier(Point, Point, Point, Point, Double) + +```csharp +protected static Point InterpolateCubicBezier(Point P0, Point P1, Point P2, Point P3, double t); +``` + +**Parameters** + +`P0` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`P1` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`P2` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`P3` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`t` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + diff --git a/docs/api/Nodify_ConnectionDirection.md b/docs/api/Nodify_ConnectionDirection.md new file mode 100644 index 00000000..6a347d90 --- /dev/null +++ b/docs/api/Nodify_ConnectionDirection.md @@ -0,0 +1,32 @@ +# ConnectionDirection Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [BaseConnection](Nodify_BaseConnection), [LineConnection](Nodify_LineConnection), [PendingConnection](Nodify_PendingConnection) + +The direction in which a connection is oriented. + +```csharp +public enum ConnectionDirection +``` + +## Fields + +### Backward + +From [BaseConnection.Target](Nodify_BaseConnection#target) to [BaseConnection.Source](Nodify_BaseConnection#source). + +```csharp +Backward = 1; +``` + +### Forward + +From [BaseConnection.Source](Nodify_BaseConnection#source) to [BaseConnection.Target](Nodify_BaseConnection#target). + +```csharp +Forward = 0; +``` + diff --git a/docs/api/Nodify_ConnectionOffsetMode.md b/docs/api/Nodify_ConnectionOffsetMode.md new file mode 100644 index 00000000..24bf4fab --- /dev/null +++ b/docs/api/Nodify_ConnectionOffsetMode.md @@ -0,0 +1,56 @@ +# ConnectionOffsetMode Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [BaseConnection](Nodify_BaseConnection) + +Specifies the offset type that can be applied to a [BaseConnection](Nodify_BaseConnection) using the [BaseConnection.SourceOffset](Nodify_BaseConnection#sourceoffset) and the [BaseConnection.TargetOffset](Nodify_BaseConnection#targetoffset) values. + +```csharp +public enum ConnectionOffsetMode +``` + +## Fields + +### Circle + +The offset is applied in a circle around the point. + +```csharp +Circle = 1; +``` + +### Edge + +The offset is applied in a rectangle shape around the point, perpendicular to the edges. + +```csharp +Edge = 3; +``` + +### None + +No offset applied. + +```csharp +None = 0; +``` + +### Rectangle + +The offset is applied in a rectangle shape around the point. + +```csharp +Rectangle = 2; +``` + +### Static + +The offset is applied as a fixed margin. + +```csharp +Static = 4; +``` + diff --git a/docs/api/Nodify_Connector.md b/docs/api/Nodify_Connector.md new file mode 100644 index 00000000..dd018179 --- /dev/null +++ b/docs/api/Nodify_Connector.md @@ -0,0 +1,476 @@ +# Connector Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [Connector](Nodify_Connector) + +**Derived:** [NodeInput](Nodify_NodeInput), [NodeOutput](Nodify_NodeOutput), [StateNode](Nodify_StateNode) + +**References:** [ConnectorState.Connecting](Nodify_Interactivity_ConnectorState_Connecting), [Connection](Nodify_Connection), [ConnectorEventArgs](Nodify_Events_ConnectorEventArgs), [ConnectorEventHandler](Nodify_Events_ConnectorEventHandler), [ConnectorState.Default](Nodify_Interactivity_ConnectorState_Default), [ConnectorState.Disconnect](Nodify_Interactivity_ConnectorState_Disconnect), [InputProcessor](Nodify_Interactivity_InputProcessor), [ItemContainer](Nodify_ItemContainer), [KnotNode](Nodify_KnotNode), [Node](Nodify_Node), [NodifyEditor](Nodify_NodifyEditor), [PendingConnection](Nodify_PendingConnection), [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs), [PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler) + +Represents a connector control that can start and complete a [PendingConnection](Nodify_PendingConnection). + Has a [Connector.ElementConnector](Nodify_Connector#elementconnector) that the [Connector.Anchor](Nodify_Connector#anchor) is calculated from for the [PendingConnection](Nodify_PendingConnection). Center of this control is used if missing. + +```csharp +public class Connector : Control +``` + +## Constructors + +### Connector() + +```csharp +public Connector(); +``` + +## Fields + +### ElementConnector + +```csharp +protected const string ElementConnector = "PART_Connector"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### EnableOptimizations + +Gets or sets if [Connector](Nodify_Connector)s should enable optimizations based on [Connector.OptimizeSafeZone](Nodify_Connector#optimizesafezone) and [Connector.OptimizeMinimumSelectedItems](Nodify_Connector#optimizeminimumselecteditems). + +```csharp +public static bool EnableOptimizations; +``` + +**Field Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### OptimizeMinimumSelectedItems + +Gets or sets the minimum selected items needed to trigger optimizations when outside of the [Connector.OptimizeSafeZone](Nodify_Connector#optimizesafezone). + +```csharp +public static uint OptimizeMinimumSelectedItems; +``` + +**Field Value** + +[UInt32](https://docs.microsoft.com/en-us/dotnet/api/System.UInt32) + +### OptimizeSafeZone + +Gets or sets the safe zone outside the editor's viewport that will not trigger optimizations. + +```csharp +public static double OptimizeSafeZone; +``` + +**Field Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +## Properties + +### AllowPendingConnectionCancellation + +Gets or sets whether cancelling a pending connection is allowed. + +```csharp +public static bool AllowPendingConnectionCancellation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### Anchor + +Gets the location in graph space coordinates where [Connection](Nodify_Connection)s can be attached to. + Bind with System.Windows.Data.BindingMode.OneWayToSource + +```csharp +public Point Anchor { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### Container + +Gets the [ItemContainer](Nodify_ItemContainer) that contains this [Connector](Nodify_Connector). + +```csharp +public ItemContainer Container { get; set; } +``` + +**Property Value** + +[ItemContainer](Nodify_ItemContainer) + +### DisconnectCommand + +Invoked if the [Connector.Disconnect](Nodify_Connector#disconnect) event is not handled. + Parameter is the [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of this control. + +```csharp +public ICommand DisconnectCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### Editor + +Gets the [NodifyEditor](Nodify_NodifyEditor) that owns this [Connector.Container](Nodify_Connector#container). + +```csharp +public NodifyEditor Editor { get; set; } +``` + +**Property Value** + +[NodifyEditor](Nodify_NodifyEditor) + +### HasContextMenu + +Gets a value indicating whether the connector has a context menu. + +```csharp +public bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasCustomContextMenu + +Gets or sets a value indicating whether the connector uses a custom context menu. + +```csharp +public bool HasCustomContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### InputProcessor + +```csharp +protected InputProcessor InputProcessor { get; set; } +``` + +**Property Value** + +[InputProcessor](Nodify_Interactivity_InputProcessor) + +### IsConnected + +If this is set to false, the [Connector.Disconnect](Nodify_Connector#disconnect) event will not be invoked and the connector will stop updating its [Connector.Anchor](Nodify_Connector#anchor) when moved, resized etc. + +```csharp +public bool IsConnected { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsPendingConnection + +Gets a value that indicates whether a [PendingConnection](Nodify_PendingConnection) is in progress for this [Connector](Nodify_Connector). + +```csharp +public bool IsPendingConnection { get; protected set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### BeginConnecting() + +Initiates a new pending connection from this connector with the specified offset (see [Connector.IsPendingConnection](Nodify_Connector#ispendingconnection)). + +```csharp +public void BeginConnecting(); +``` + +### BeginConnecting(Vector) + +```csharp +public void BeginConnecting(Vector offset); +``` + +**Parameters** + +`offset` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector) + +### CancelConnecting() + +Cancels the current pending connection without completing it if [Connector.AllowPendingConnectionCancellation](Nodify_Connector#allowpendingconnectioncancellation) is true. + Otherwise, it completes the pending connection by calling Nodify.Connector.EndConnecting. + +```csharp +public void CancelConnecting(); +``` + +### EndConnecting() + +Completes the current pending connection using the specified connector as the target. + +```csharp +public void EndConnecting(); +``` + +### EndConnecting(Connector) + +```csharp +public void EndConnecting(Connector connector); +``` + +**Parameters** + +`connector` [Connector](Nodify_Connector) + +### FindConnectionTarget(Point) + +Searches for a potential [Connector](Nodify_Connector) or [ItemContainer](Nodify_ItemContainer) at the specified position within the editor. + +```csharp +public FrameworkElement FindConnectionTarget(Point position); +``` + +**Parameters** + +`position` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The position in the editor to check for a potential connection target. + +**Returns** + +[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) + +### FindTargetConnector(Point) + +Searches for a [Connector](Nodify_Connector) at the specified position. + +```csharp +public Connector FindTargetConnector(Point position); +``` + +**Parameters** + +`position` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The position in the editor to check for a connector. + +**Returns** + +[Connector](Nodify_Connector) + +### OnApplyTemplate() + +```csharp +public override void OnApplyTemplate(); +``` + +### OnKeyDown(KeyEventArgs) + +```csharp +protected override void OnKeyDown(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnKeyUp(KeyEventArgs) + +```csharp +protected override void OnKeyUp(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnLostMouseCapture(MouseEventArgs) + +```csharp +protected override void OnLostMouseCapture(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + +### OnRenderSizeChanged(SizeChangedInfo) + +```csharp +protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo); +``` + +**Parameters** + +`sizeInfo` [SizeChangedInfo](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.SizeChangedInfo) + +### RemoveConnections() + +Removes all connections associated with this connector. + +```csharp +public void RemoveConnections(); +``` + +### UpdateAnchor(Point) + +Updates the [Connector.Anchor](Nodify_Connector#anchor) relative to a location. (usually [Connector.Container](Nodify_Connector#container)'s location) + +```csharp +protected void UpdateAnchor(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The relative location + +### UpdateAnchor() + +Updates the [Connector.Anchor](Nodify_Connector#anchor) based on [Connector.Container](Nodify_Connector#container)'s location. + +```csharp +public void UpdateAnchor(); +``` + +### UpdateAnchorOptimized(Point) + +Updates the [Connector.Anchor](Nodify_Connector#anchor) and applies optimizations if needed based on [Connector.EnableOptimizations](Nodify_Connector#enableoptimizations) flag + +```csharp +protected void UpdateAnchorOptimized(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### UpdatePendingConnection(Vector) + +Updates the endpoint of the pending connection by adjusting its position with the specified offset. + +```csharp +public void UpdatePendingConnection(Vector offset); +``` + +**Parameters** + +`offset` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector): The amount to adjust the pending connection's endpoint. + +### UpdatePendingConnection(Point) + +Updates the endpoint of the pending connection to the specified position. + +```csharp +public void UpdatePendingConnection(Point position); +``` + +**Parameters** + +`position` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The new position for the connection's endpoint. + +## Events + +### Disconnect + +Triggered by the Nodify.Interactivity.EditorGestures.ConnectorGestures.Disconnect gesture. + +```csharp +public event ConnectorEventHandler Disconnect; +``` + +**Event Type** + +[ConnectorEventHandler](Nodify_Events_ConnectorEventHandler) + +### PendingConnectionCompleted + +Triggered by the Nodify.Interactivity.EditorGestures.ConnectorGestures.Connect gesture. + +```csharp +public event PendingConnectionEventHandler PendingConnectionCompleted; +``` + +**Event Type** + +[PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler) + +### PendingConnectionDrag + +Occurs when the mouse is changing position and the [Connector](Nodify_Connector) has mouse capture. + +```csharp +public event PendingConnectionEventHandler PendingConnectionDrag; +``` + +**Event Type** + +[PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler) + +### PendingConnectionStarted + +Triggered by the Nodify.Interactivity.EditorGestures.ConnectorGestures.Connect gesture. + +```csharp +public event PendingConnectionEventHandler PendingConnectionStarted; +``` + +**Event Type** + +[PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler) + diff --git a/docs/api/Nodify_ConnectorPosition.md b/docs/api/Nodify_ConnectorPosition.md new file mode 100644 index 00000000..2df06072 --- /dev/null +++ b/docs/api/Nodify_ConnectorPosition.md @@ -0,0 +1,38 @@ +# ConnectorPosition Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [StepConnection](Nodify_StepConnection) + +```csharp +public enum ConnectorPosition +``` + +## Fields + +### Bottom + +```csharp +Bottom = 2; +``` + +### Left + +```csharp +Left = 1; +``` + +### Right + +```csharp +Right = 3; +``` + +### Top + +```csharp +Top = 0; +``` + diff --git a/docs/api/Nodify_CuttingLine.md b/docs/api/Nodify_CuttingLine.md new file mode 100644 index 00000000..c0618eb7 --- /dev/null +++ b/docs/api/Nodify_CuttingLine.md @@ -0,0 +1,96 @@ +# CuttingLine Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Shape](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Shapes.Shape) → [CuttingLine](Nodify_CuttingLine) + +**References:** [BaseConnection](Nodify_BaseConnection), [NodifyEditor](Nodify_NodifyEditor) + +```csharp +public class CuttingLine : Shape +``` + +## Constructors + +### CuttingLine() + +```csharp +public CuttingLine(); +``` + +## Properties + +### DefiningGeometry + +```csharp +protected override Geometry DefiningGeometry { get; set; } +``` + +**Property Value** + +[Geometry](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Geometry) + +### EndPoint + +Gets or sets the end point. + +```csharp +public Point EndPoint { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### StartPoint + +Gets or sets the start point. + +```csharp +public Point StartPoint { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +## Methods + +### GetIsOverElement(UIElement) + +```csharp +public static bool GetIsOverElement(UIElement elem); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### OnRender(DrawingContext) + +```csharp +protected override void OnRender(DrawingContext drawingContext); +``` + +**Parameters** + +`drawingContext` [DrawingContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.DrawingContext) + +### SetIsOverElement(UIElement, Boolean) + +```csharp +public static void SetIsOverElement(UIElement elem, bool value); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +`value` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_DecoratorContainer.md b/docs/api/Nodify_DecoratorContainer.md new file mode 100644 index 00000000..8abc6121 --- /dev/null +++ b/docs/api/Nodify_DecoratorContainer.md @@ -0,0 +1,86 @@ +# DecoratorContainer Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [DecoratorContainer](Nodify_DecoratorContainer) + +**Implements:** [INodifyCanvasItem](Nodify_INodifyCanvasItem) + +**References:** [NodifyEditor](Nodify_NodifyEditor) + +The container for all the items generated from the [NodifyEditor.Decorators](Nodify_NodifyEditor#decorators) collection. + +```csharp +public class DecoratorContainer : ContentControl, INodifyCanvasItem +``` + +## Constructors + +### DecoratorContainer() + +```csharp +public DecoratorContainer(); +``` + +## Properties + +### ActualSize + +Gets the actual size of this [DecoratorContainer](Nodify_DecoratorContainer). + +```csharp +public Size ActualSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### Location + +Gets or sets the location of this [DecoratorContainer](Nodify_DecoratorContainer) inside the NodifyEditor.DecoratorsHost. + +```csharp +public virtual Point Location { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +## Methods + +### OnLocationChanged() + +Raises the [DecoratorContainer.LocationChangedEvent](Nodify_DecoratorContainer#locationchangedevent). + +```csharp +protected void OnLocationChanged(); +``` + +### OnRenderSizeChanged(SizeChangedInfo) + +```csharp +protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo); +``` + +**Parameters** + +`sizeInfo` [SizeChangedInfo](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.SizeChangedInfo) + +## Events + +### LocationChanged + +Occurs when the [DecoratorContainer.Location](Nodify_DecoratorContainer#location) of this [DecoratorContainer](Nodify_DecoratorContainer) is changed. + +```csharp +public event RoutedEventHandler LocationChanged; +``` + +**Event Type** + +[RoutedEventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventHandler) + diff --git a/docs/api/Nodify_EditorCommands.md b/docs/api/Nodify_EditorCommands.md new file mode 100644 index 00000000..3cfb6c69 --- /dev/null +++ b/docs/api/Nodify_EditorCommands.md @@ -0,0 +1,116 @@ +# EditorCommands Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorCommands](Nodify_EditorCommands) + +**References:** [Alignment](Nodify_Alignment), [InputGestureRef](Nodify_Interactivity_InputGestureRef), [ItemContainer](Nodify_ItemContainer), [NodifyEditor](Nodify_NodifyEditor) + +Provides common commands for the [NodifyEditor](Nodify_NodifyEditor). + +```csharp +public static class EditorCommands +``` + +## Properties + +### Align + +Aligns the [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers) using the specified alignment method. + Parameter is of type [Alignment](Nodify_Alignment) or a string that can be converted to an alignment. + +```csharp +public static RoutedUICommand Align { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + +### BringIntoView + +Moves the [NodifyEditor.ViewportLocation](Nodify_NodifyEditor#viewportlocation) to the specified location. + Parameter is a [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) or a string that can be converted to a point. + +```csharp +public static RoutedUICommand BringIntoView { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + +### FitToScreen + +Scales the editor's viewport to fit all the [ItemContainer](Nodify_ItemContainer)s if that's possible. + +```csharp +public static RoutedUICommand FitToScreen { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + +### LockSelection + +Locks the position of the [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers). + +```csharp +public static RoutedUICommand LockSelection { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + +### SelectAll + +Select all [ItemContainer](Nodify_ItemContainer)s in the [NodifyEditor](Nodify_NodifyEditor). + +```csharp +public static RoutedUICommand SelectAll { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + +### UnlockSelection + +Unlocks the position of the [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers). + +```csharp +public static RoutedUICommand UnlockSelection { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + +### ZoomIn + +Zoom in relative to the editor's viewport center. + +```csharp +public static RoutedUICommand ZoomIn { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + +### ZoomOut + +Zoom out relative to the editor's viewport center. + +```csharp +public static RoutedUICommand ZoomOut { get; set; } +``` + +**Property Value** + +[RoutedUICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.RoutedUICommand) + diff --git a/docs/api/Nodify_Events_ConnectionEventArgs.md b/docs/api/Nodify_Events_ConnectionEventArgs.md new file mode 100644 index 00000000..f5a3257b --- /dev/null +++ b/docs/api/Nodify_Events_ConnectionEventArgs.md @@ -0,0 +1,70 @@ +# ConnectionEventArgs Class + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.EventArgs) → [RoutedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventArgs) → [ConnectionEventArgs](Nodify_Events_ConnectionEventArgs) + +**References:** [BaseConnection](Nodify_BaseConnection), [ConnectionEventHandler](Nodify_Events_ConnectionEventHandler) + +Provides data for [BaseConnection](Nodify_BaseConnection) related routed events. + +```csharp +public class ConnectionEventArgs : RoutedEventArgs +``` + +## Constructors + +### ConnectionEventArgs(Object) + +Initializes a new instance of the [ConnectionEventArgs](Nodify_Events_ConnectionEventArgs) class using the specified [ConnectionEventArgs.Connection](Nodify_Events_ConnectionEventArgs#connection). + +```csharp +public ConnectionEventArgs(object connection); +``` + +**Parameters** + +`connection` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of a related [BaseConnection](Nodify_BaseConnection). + +## Properties + +### Connection + +Gets the [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of the [BaseConnection](Nodify_BaseConnection) associated with this event. + +```csharp +public object Connection { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### SplitLocation + +Gets or sets the location where the connection should be split. + +```csharp +public Point SplitLocation { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +## Methods + +### InvokeEventHandler(Delegate, Object) + +```csharp +protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget); +``` + +**Parameters** + +`genericHandler` [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) + +`genericTarget` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + diff --git a/docs/api/Nodify_Events_ConnectionEventHandler.md b/docs/api/Nodify_Events_ConnectionEventHandler.md new file mode 100644 index 00000000..0c46e299 --- /dev/null +++ b/docs/api/Nodify_Events_ConnectionEventHandler.md @@ -0,0 +1,22 @@ +# ConnectionEventHandler Delegate + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) → [MulticastDelegate](https://docs.microsoft.com/en-us/dotnet/api/System.MulticastDelegate) → [ConnectionEventHandler](Nodify_Events_ConnectionEventHandler) + +**References:** [BaseConnection](Nodify_BaseConnection), [ConnectionEventArgs](Nodify_Events_ConnectionEventArgs) + +Represents the method that will handle [BaseConnection](Nodify_BaseConnection) related routed events. + +```csharp +public delegate void ConnectionEventHandler(object sender, ConnectionEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The object where the event handler is attached. + +`e` [ConnectionEventArgs](Nodify_Events_ConnectionEventArgs): The event data. + diff --git a/docs/api/Nodify_Events_ConnectorEventArgs.md b/docs/api/Nodify_Events_ConnectorEventArgs.md new file mode 100644 index 00000000..194ee06b --- /dev/null +++ b/docs/api/Nodify_Events_ConnectorEventArgs.md @@ -0,0 +1,70 @@ +# ConnectorEventArgs Class + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.EventArgs) → [RoutedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventArgs) → [ConnectorEventArgs](Nodify_Events_ConnectorEventArgs) + +**References:** [Connector](Nodify_Connector), [ConnectorEventHandler](Nodify_Events_ConnectorEventHandler) + +Provides data for [Connector](Nodify_Connector) related routed events. + +```csharp +public class ConnectorEventArgs : RoutedEventArgs +``` + +## Constructors + +### ConnectorEventArgs(Object) + +Initializes a new instance of the [ConnectorEventArgs](Nodify_Events_ConnectorEventArgs) class using the specified [ConnectorEventArgs.Connector](Nodify_Events_ConnectorEventArgs#connector). + +```csharp +public ConnectorEventArgs(object connector); +``` + +**Parameters** + +`connector` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of a related [Connector](Nodify_Connector). + +## Properties + +### Anchor + +Gets or sets the [Connector.Anchor](Nodify_Connector#anchor) of the [Connector](Nodify_Connector) associated with this event. + +```csharp +public Point Anchor { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### Connector + +Gets the [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of the [Connector](Nodify_Connector) associated with this event. + +```csharp +public object Connector { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +## Methods + +### InvokeEventHandler(Delegate, Object) + +```csharp +protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget); +``` + +**Parameters** + +`genericHandler` [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) + +`genericTarget` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + diff --git a/docs/api/Nodify_Events_ConnectorEventHandler.md b/docs/api/Nodify_Events_ConnectorEventHandler.md new file mode 100644 index 00000000..3f2e7e62 --- /dev/null +++ b/docs/api/Nodify_Events_ConnectorEventHandler.md @@ -0,0 +1,22 @@ +# ConnectorEventHandler Delegate + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) → [MulticastDelegate](https://docs.microsoft.com/en-us/dotnet/api/System.MulticastDelegate) → [ConnectorEventHandler](Nodify_Events_ConnectorEventHandler) + +**References:** [Connector](Nodify_Connector), [ConnectorEventArgs](Nodify_Events_ConnectorEventArgs) + +Represents the method that will handle [Connector](Nodify_Connector) related routed events. + +```csharp +public delegate void ConnectorEventHandler(object sender, ConnectorEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The object where the event handler is attached. + +`e` [ConnectorEventArgs](Nodify_Events_ConnectorEventArgs): The event data. + diff --git a/docs/api/Nodify_Events_ItemsMovedEventArgs.md b/docs/api/Nodify_Events_ItemsMovedEventArgs.md new file mode 100644 index 00000000..82f6c92d --- /dev/null +++ b/docs/api/Nodify_Events_ItemsMovedEventArgs.md @@ -0,0 +1,72 @@ +# ItemsMovedEventArgs Class + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.EventArgs) → [RoutedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventArgs) → [ItemsMovedEventArgs](Nodify_Events_ItemsMovedEventArgs) + +**References:** [ItemContainer](Nodify_ItemContainer), [ItemsMovedEventHandler](Nodify_Events_ItemsMovedEventHandler), [NodifyEditor](Nodify_NodifyEditor) + +Provides data for the [NodifyEditor.ItemsMovedEvent](Nodify_NodifyEditor#itemsmovedevent) routed event. + +```csharp +public class ItemsMovedEventArgs : RoutedEventArgs +``` + +## Constructors + +### ItemsMovedEventArgs(IReadOnlyCollection\, Vector) + +Initializes a new instance of the [ItemsMovedEventArgs](Nodify_Events_ItemsMovedEventArgs) class with the specified moved items and offset. + +```csharp +public ItemsMovedEventArgs(IReadOnlyCollection items, Vector offset); +``` + +**Parameters** + +`items` [IReadOnlyCollection\](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1): The collection of items that were moved. + +`offset` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector): The vector representing the distance the items were moved. + +## Properties + +### Items + +Gets a collection of [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext)s of the [ItemContainer](Nodify_ItemContainer)s associated with this event. + +```csharp +public IReadOnlyCollection Items { get; set; } +``` + +**Property Value** + +[IReadOnlyCollection\](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IReadOnlyCollection-1) + +### Offset + +Gets or sets the vector representing the distance the items were moved. + +```csharp +public Vector Offset { get; set; } +``` + +**Property Value** + +[Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector) + +## Methods + +### InvokeEventHandler(Delegate, Object) + +```csharp +protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget); +``` + +**Parameters** + +`genericHandler` [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) + +`genericTarget` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + diff --git a/docs/api/Nodify_Events_ItemsMovedEventHandler.md b/docs/api/Nodify_Events_ItemsMovedEventHandler.md new file mode 100644 index 00000000..b70217a4 --- /dev/null +++ b/docs/api/Nodify_Events_ItemsMovedEventHandler.md @@ -0,0 +1,22 @@ +# ItemsMovedEventHandler Delegate + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) → [MulticastDelegate](https://docs.microsoft.com/en-us/dotnet/api/System.MulticastDelegate) → [ItemsMovedEventHandler](Nodify_Events_ItemsMovedEventHandler) + +**References:** [ItemsMovedEventArgs](Nodify_Events_ItemsMovedEventArgs), [NodifyEditor](Nodify_NodifyEditor) + +Represents a method signature used to handle the [NodifyEditor.ItemsMovedEvent](Nodify_NodifyEditor#itemsmovedevent) routed event. + +```csharp +public delegate void ItemsMovedEventHandler(object sender, ItemsMovedEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The source of the event. + +`e` [ItemsMovedEventArgs](Nodify_Events_ItemsMovedEventArgs): The event data containing information about the moved items and their offset. + diff --git a/docs/api/Nodify_Events_PendingConnectionEventArgs.md b/docs/api/Nodify_Events_PendingConnectionEventArgs.md new file mode 100644 index 00000000..45f0c8fa --- /dev/null +++ b/docs/api/Nodify_Events_PendingConnectionEventArgs.md @@ -0,0 +1,118 @@ +# PendingConnectionEventArgs Class + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.EventArgs) → [RoutedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventArgs) → [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs) + +**References:** [Connector](Nodify_Connector), [PendingConnection](Nodify_PendingConnection), [PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler) + +Provides data for [PendingConnection](Nodify_PendingConnection) related routed events. + +```csharp +public class PendingConnectionEventArgs : RoutedEventArgs +``` + +## Constructors + +### PendingConnectionEventArgs(Object) + +Initializes a new instance of the [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs) class using the specified [PendingConnectionEventArgs.SourceConnector](Nodify_Events_PendingConnectionEventArgs#sourceconnector). + +```csharp +public PendingConnectionEventArgs(object sourceConnector); +``` + +**Parameters** + +`sourceConnector` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of a related [Connector](Nodify_Connector). + +## Properties + +### Anchor + +Gets or sets the [Connector.Anchor](Nodify_Connector#anchor) of the [Connector](Nodify_Connector) that raised this event. + +```csharp +public Point Anchor { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### Canceled + +Gets or sets a value that indicates whether this [PendingConnection](Nodify_PendingConnection) was cancelled. + +```csharp +public bool Canceled { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### OffsetX + +Gets or sets the distance from the [PendingConnectionEventArgs.SourceConnector](Nodify_Events_PendingConnectionEventArgs#sourceconnector) in the X axis. + +```csharp +public double OffsetX { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### OffsetY + +Gets or sets the distance from the [PendingConnectionEventArgs.SourceConnector](Nodify_Events_PendingConnectionEventArgs#sourceconnector) in the Y axis. + +```csharp +public double OffsetY { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### SourceConnector + +Gets the [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of the [Connector](Nodify_Connector) that started this [PendingConnection](Nodify_PendingConnection). + +```csharp +public object SourceConnector { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### TargetConnector + +Gets or sets the [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of the target [Connector](Nodify_Connector) when the [PendingConnection](Nodify_PendingConnection) is completed. + +```csharp +public object TargetConnector { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +## Methods + +### InvokeEventHandler(Delegate, Object) + +```csharp +protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget); +``` + +**Parameters** + +`genericHandler` [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) + +`genericTarget` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + diff --git a/docs/api/Nodify_Events_PendingConnectionEventHandler.md b/docs/api/Nodify_Events_PendingConnectionEventHandler.md new file mode 100644 index 00000000..0c40871f --- /dev/null +++ b/docs/api/Nodify_Events_PendingConnectionEventHandler.md @@ -0,0 +1,22 @@ +# PendingConnectionEventHandler Delegate + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) → [MulticastDelegate](https://docs.microsoft.com/en-us/dotnet/api/System.MulticastDelegate) → [PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler) + +**References:** [Connector](Nodify_Connector), [PendingConnection](Nodify_PendingConnection), [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs) + +Represents the method that will handle [PendingConnection](Nodify_PendingConnection) related routed events. + +```csharp +public delegate void PendingConnectionEventHandler(object sender, PendingConnectionEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The object where the event handler is attached. + +`e` [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs): The event data. + diff --git a/docs/api/Nodify_Events_PreviewLocationChanged.md b/docs/api/Nodify_Events_PreviewLocationChanged.md new file mode 100644 index 00000000..36b700b7 --- /dev/null +++ b/docs/api/Nodify_Events_PreviewLocationChanged.md @@ -0,0 +1,20 @@ +# PreviewLocationChanged Delegate + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) → [MulticastDelegate](https://docs.microsoft.com/en-us/dotnet/api/System.MulticastDelegate) → [PreviewLocationChanged](Nodify_Events_PreviewLocationChanged) + +**References:** [ItemContainer](Nodify_ItemContainer) + +Delegate used to notify when an [ItemContainer](Nodify_ItemContainer) is previewing a new location. + +```csharp +public delegate void PreviewLocationChanged(Point newLocation); +``` + +**Parameters** + +`newLocation` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The new location. + diff --git a/docs/api/Nodify_Events_ResizeEventArgs.md b/docs/api/Nodify_Events_ResizeEventArgs.md new file mode 100644 index 00000000..d0927dd9 --- /dev/null +++ b/docs/api/Nodify_Events_ResizeEventArgs.md @@ -0,0 +1,72 @@ +# ResizeEventArgs Class + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.EventArgs) → [RoutedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventArgs) → [ResizeEventArgs](Nodify_Events_ResizeEventArgs) + +**References:** [ResizeEventHandler](Nodify_Events_ResizeEventHandler) + +Provides data for resize related routed events. + +```csharp +public class ResizeEventArgs : RoutedEventArgs +``` + +## Constructors + +### ResizeEventArgs(Size, Size) + +Initializes a new instance of the [ResizeEventArgs](Nodify_Events_ResizeEventArgs) class with the previous and the new [Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size). + +```csharp +public ResizeEventArgs(Size previousSize, Size newSize); +``` + +**Parameters** + +`previousSize` [Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size): The previous size associated with this event. + +`newSize` [Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size): The new size associated with this event. + +## Properties + +### NewSize + +Gets the new size of the object. + +```csharp +public Size NewSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### PreviousSize + +Gets the previous size of the object. + +```csharp +public Size PreviousSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +## Methods + +### InvokeEventHandler(Delegate, Object) + +```csharp +protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget); +``` + +**Parameters** + +`genericHandler` [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) + +`genericTarget` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + diff --git a/docs/api/Nodify_Events_ResizeEventHandler.md b/docs/api/Nodify_Events_ResizeEventHandler.md new file mode 100644 index 00000000..225f0b32 --- /dev/null +++ b/docs/api/Nodify_Events_ResizeEventHandler.md @@ -0,0 +1,22 @@ +# ResizeEventHandler Delegate + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) → [MulticastDelegate](https://docs.microsoft.com/en-us/dotnet/api/System.MulticastDelegate) → [ResizeEventHandler](Nodify_Events_ResizeEventHandler) + +**References:** [GroupingNode](Nodify_GroupingNode), [ResizeEventArgs](Nodify_Events_ResizeEventArgs) + +Represents the method that will handle resize related routed events. + +```csharp +public delegate void ResizeEventHandler(object sender, ResizeEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The sender of this event. + +`e` [ResizeEventArgs](Nodify_Events_ResizeEventArgs): The event data. + diff --git a/docs/api/Nodify_Events_ZoomEventArgs.md b/docs/api/Nodify_Events_ZoomEventArgs.md new file mode 100644 index 00000000..5262c561 --- /dev/null +++ b/docs/api/Nodify_Events_ZoomEventArgs.md @@ -0,0 +1,72 @@ +# ZoomEventArgs Class + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.EventArgs) → [RoutedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventArgs) → [ZoomEventArgs](Nodify_Events_ZoomEventArgs) + +**References:** [Minimap](Nodify_Minimap), [ZoomEventHandler](Nodify_Events_ZoomEventHandler) + +Provides data for [Minimap.Zoom](Nodify_Minimap#zoom) routed event. + +```csharp +public class ZoomEventArgs : RoutedEventArgs +``` + +## Constructors + +### ZoomEventArgs(Double, Point) + +Initializes a new instance of the [ZoomEventArgs](Nodify_Events_ZoomEventArgs) class using the specified [ZoomEventArgs.Zoom](Nodify_Events_ZoomEventArgs#zoom) and [ZoomEventArgs.Location](Nodify_Events_ZoomEventArgs#location). + +```csharp +public ZoomEventArgs(double zoom, Point location); +``` + +**Parameters** + +`zoom` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +## Properties + +### Location + +Gets the location where the editor should zoom in. + +```csharp +public Point Location { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### Zoom + +Gets the zoom amount. + +```csharp +public double Zoom { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +## Methods + +### InvokeEventHandler(Delegate, Object) + +```csharp +protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget); +``` + +**Parameters** + +`genericHandler` [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) + +`genericTarget` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + diff --git a/docs/api/Nodify_Events_ZoomEventHandler.md b/docs/api/Nodify_Events_ZoomEventHandler.md new file mode 100644 index 00000000..05878755 --- /dev/null +++ b/docs/api/Nodify_Events_ZoomEventHandler.md @@ -0,0 +1,22 @@ +# ZoomEventHandler Delegate + +**Namespace:** Nodify.Events + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [Delegate](https://docs.microsoft.com/en-us/dotnet/api/System.Delegate) → [MulticastDelegate](https://docs.microsoft.com/en-us/dotnet/api/System.MulticastDelegate) → [ZoomEventHandler](Nodify_Events_ZoomEventHandler) + +**References:** [Minimap](Nodify_Minimap), [ZoomEventArgs](Nodify_Events_ZoomEventArgs) + +Represents the method that will handle [Minimap.Zoom](Nodify_Minimap#zoom) routed event. + +```csharp +public delegate void ZoomEventHandler(object sender, ZoomEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object): The object where the event handler is attached. + +`e` [ZoomEventArgs](Nodify_Events_ZoomEventArgs): The event data. + diff --git a/docs/api/Nodify_GroupingMovementMode.md b/docs/api/Nodify_GroupingMovementMode.md new file mode 100644 index 00000000..3cd68191 --- /dev/null +++ b/docs/api/Nodify_GroupingMovementMode.md @@ -0,0 +1,32 @@ +# GroupingMovementMode Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [GroupingNode](Nodify_GroupingNode) + +Specifies the possible movement modes of a [GroupingNode](Nodify_GroupingNode). + +```csharp +public enum GroupingMovementMode +``` + +## Fields + +### Group + +The [GroupingNode](Nodify_GroupingNode) will move its content when moved. + +```csharp +Group = 0; +``` + +### Self + +The [GroupingNode](Nodify_GroupingNode) will not move its content when moved. + +```csharp +Self = 1; +``` + diff --git a/docs/api/Nodify_GroupingNode.md b/docs/api/Nodify_GroupingNode.md new file mode 100644 index 00000000..4ec08164 --- /dev/null +++ b/docs/api/Nodify_GroupingNode.md @@ -0,0 +1,238 @@ +# GroupingNode Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [HeaderedContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl) → [GroupingNode](Nodify_GroupingNode) + +**References:** [GroupingMovementMode](Nodify_GroupingMovementMode), [ItemContainer](Nodify_ItemContainer), [NodifyEditor](Nodify_NodifyEditor), [ResizeEventHandler](Nodify_Events_ResizeEventHandler) + +Defines a panel with a header that groups [ItemContainer](Nodify_ItemContainer)s inside it and can be resized. + +```csharp +public class GroupingNode : HeaderedContentControl +``` + +## Constructors + +### GroupingNode() + +Initializes a new instance of the [GroupingNode](Nodify_GroupingNode) class. + +```csharp +public GroupingNode(); +``` + +## Fields + +### ContentControl + +Gets the [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) control of this [GroupingNode](Nodify_GroupingNode). + +```csharp +protected FrameworkElement ContentControl; +``` + +**Field Value** + +[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) + +### ElementContent + +```csharp +protected const string ElementContent = "PART_Content"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### ElementHeader + +```csharp +protected const string ElementHeader = "PART_Header"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### ElementResizeThumb + +```csharp +protected const string ElementResizeThumb = "PART_ResizeThumb"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### GroupMovementBoxed + +```csharp +protected static object GroupMovementBoxed; +``` + +**Field Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### HeaderControl + +Gets the [HeaderedContentControl.Header](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl#header) control of this [GroupingNode](Nodify_GroupingNode). + +```csharp +protected FrameworkElement HeaderControl; +``` + +**Field Value** + +[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) + +### ResizeThumb + +Gets the [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) used to resize this [GroupingNode](Nodify_GroupingNode). + +```csharp +protected FrameworkElement ResizeThumb; +``` + +**Field Value** + +[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) + +## Properties + +### ActualSize + +Gets or sets the actual size of this [GroupingNode](Nodify_GroupingNode). + +```csharp +public Size ActualSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### CanResize + +Gets or sets a value that indicates whether this [GroupingNode](Nodify_GroupingNode) can be resized. + +```csharp +public bool CanResize { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### Container + +Gets the [NodifyEditor](Nodify_NodifyEditor) that owns this [GroupingNode.Container](Nodify_GroupingNode#container). + +```csharp +protected ItemContainer Container { get; set; } +``` + +**Property Value** + +[ItemContainer](Nodify_ItemContainer) + +### Editor + +Gets the [NodifyEditor](Nodify_NodifyEditor) that owns this [GroupingNode](Nodify_GroupingNode). + +```csharp +protected NodifyEditor Editor { get; set; } +``` + +**Property Value** + +[NodifyEditor](Nodify_NodifyEditor) + +### HeaderBrush + +Gets or sets the brush used for the background of the [HeaderedContentControl.Header](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl#header) of this [GroupingNode](Nodify_GroupingNode). + +```csharp +public Brush HeaderBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### MovementMode + +Gets or sets the default movement mode which can be temporarily changed by holding the SwitchMovementModeModifierKey while dragging by the header. + +```csharp +public GroupingMovementMode MovementMode { get; set; } +``` + +**Property Value** + +[GroupingMovementMode](Nodify_GroupingMovementMode) + +### ResizeCompletedCommand + +Invoked when the [GroupingNode.ResizeCompleted](Nodify_GroupingNode#resizecompleted) event is not handled. + Parameter is the [ItemContainer.ActualSize](Nodify_ItemContainer#actualsize) of the container. + +```csharp +public ICommand ResizeCompletedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### ResizeStartedCommand + +Invoked when the [GroupingNode.ResizeStarted](Nodify_GroupingNode#resizestarted) event is not handled. + Parameter is the [ItemContainer.ActualSize](Nodify_ItemContainer#actualsize) of the container. + +```csharp +public ICommand ResizeStartedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +## Methods + +### OnApplyTemplate() + +```csharp +public override void OnApplyTemplate(); +``` + +## Events + +### ResizeCompleted + +Occurs when the node finished resizing. + +```csharp +public event ResizeEventHandler ResizeCompleted; +``` + +**Event Type** + +[ResizeEventHandler](Nodify_Events_ResizeEventHandler) + +### ResizeStarted + +Occurs when the node started resizing. + +```csharp +public event ResizeEventHandler ResizeStarted; +``` + +**Event Type** + +[ResizeEventHandler](Nodify_Events_ResizeEventHandler) + diff --git a/docs/api/Nodify_INodifyCanvasItem.md b/docs/api/Nodify_INodifyCanvasItem.md new file mode 100644 index 00000000..c6c7253e --- /dev/null +++ b/docs/api/Nodify_INodifyCanvasItem.md @@ -0,0 +1,54 @@ +# INodifyCanvasItem Interface + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Derived:** [ItemContainer](Nodify_ItemContainer), [DecoratorContainer](Nodify_DecoratorContainer) + +**References:** [NodifyCanvas](Nodify_NodifyCanvas) + +Interface for items inside a [NodifyCanvas](Nodify_NodifyCanvas). + +```csharp +public interface INodifyCanvasItem +``` + +## Properties + +### DesiredSize + +The desired size of the item. + +```csharp +public virtual Size DesiredSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### Location + +The location of the item. + +```csharp +public virtual Point Location { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +## Methods + +### Arrange(Rect) + +```csharp +public virtual void Arrange(Rect rect); +``` + +**Parameters** + +`rect` [Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + diff --git a/docs/api/Nodify_Interactivity_AllGestures.md b/docs/api/Nodify_Interactivity_AllGestures.md new file mode 100644 index 00000000..395f492c --- /dev/null +++ b/docs/api/Nodify_Interactivity_AllGestures.md @@ -0,0 +1,24 @@ +# AllGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) → [MultiGesture](Nodify_Interactivity_MultiGesture) → [AllGestures](Nodify_Interactivity_AllGestures) + +```csharp +public sealed class AllGestures : MultiGesture +``` + +## Constructors + +### AllGestures(InputGesture[]) + +```csharp +public AllGestures(InputGesture[] gestures); +``` + +**Parameters** + +`gestures` [InputGesture[]](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture[]) + diff --git a/docs/api/Nodify_Interactivity_AnyGesture.md b/docs/api/Nodify_Interactivity_AnyGesture.md new file mode 100644 index 00000000..df478e64 --- /dev/null +++ b/docs/api/Nodify_Interactivity_AnyGesture.md @@ -0,0 +1,24 @@ +# AnyGesture Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) → [MultiGesture](Nodify_Interactivity_MultiGesture) → [AnyGesture](Nodify_Interactivity_AnyGesture) + +```csharp +public sealed class AnyGesture : MultiGesture +``` + +## Constructors + +### AnyGesture(InputGesture[]) + +```csharp +public AnyGesture(InputGesture[] gestures); +``` + +**Parameters** + +`gestures` [InputGesture[]](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture[]) + diff --git a/docs/api/Nodify_Interactivity_ConnectionState.md b/docs/api/Nodify_Interactivity_ConnectionState.md new file mode 100644 index 00000000..8a7d2a12 --- /dev/null +++ b/docs/api/Nodify_Interactivity_ConnectionState.md @@ -0,0 +1,12 @@ +# ConnectionState Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [ConnectionState](Nodify_Interactivity_ConnectionState) + +```csharp +public static class ConnectionState +``` + diff --git a/docs/api/Nodify_Interactivity_ConnectionState_Disconnect.md b/docs/api/Nodify_Interactivity_ConnectionState_Disconnect.md new file mode 100644 index 00000000..2e4468dc --- /dev/null +++ b/docs/api/Nodify_Interactivity_ConnectionState_Disconnect.md @@ -0,0 +1,48 @@ +# ConnectionState.Disconnect Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [ConnectionState.Disconnect](Nodify_Interactivity_ConnectionState_Disconnect) + +**References:** [BaseConnection](Nodify_BaseConnection) + +```csharp +public class Disconnect : InputElementState +``` + +## Constructors + +### ConnectionState.Disconnect(BaseConnection) + +```csharp +public Disconnect(BaseConnection connection); +``` + +**Parameters** + +`connection` [BaseConnection](Nodify_BaseConnection) + +## Methods + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + diff --git a/docs/api/Nodify_Interactivity_ConnectionState_Split.md b/docs/api/Nodify_Interactivity_ConnectionState_Split.md new file mode 100644 index 00000000..c6286fea --- /dev/null +++ b/docs/api/Nodify_Interactivity_ConnectionState_Split.md @@ -0,0 +1,38 @@ +# ConnectionState.Split Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [ConnectionState.Split](Nodify_Interactivity_ConnectionState_Split) + +**References:** [BaseConnection](Nodify_BaseConnection) + +```csharp +public class Split : InputElementState +``` + +## Constructors + +### ConnectionState.Split(BaseConnection) + +```csharp +public Split(BaseConnection connection); +``` + +**Parameters** + +`connection` [BaseConnection](Nodify_BaseConnection) + +## Methods + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + diff --git a/docs/api/Nodify_Interactivity_ConnectorState.md b/docs/api/Nodify_Interactivity_ConnectorState.md new file mode 100644 index 00000000..798d8a63 --- /dev/null +++ b/docs/api/Nodify_Interactivity_ConnectorState.md @@ -0,0 +1,26 @@ +# ConnectorState Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [ConnectorState](Nodify_Interactivity_ConnectorState) + +```csharp +public static class ConnectorState +``` + +## Properties + +### EnableToggledConnectingMode + +Determines whether toggled connecting mode is enabled, allowing the user to start and end the interaction in two steps with the same input gesture. + +```csharp +public static bool EnableToggledConnectingMode { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_Interactivity_ConnectorState_Connecting.md b/docs/api/Nodify_Interactivity_ConnectorState_Connecting.md new file mode 100644 index 00000000..ca0f937d --- /dev/null +++ b/docs/api/Nodify_Interactivity_ConnectorState_Connecting.md @@ -0,0 +1,100 @@ +# ConnectorState.Connecting Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) → [ConnectorState.Connecting](Nodify_Interactivity_ConnectorState_Connecting) + +**References:** [Connector](Nodify_Connector) + +```csharp +public class Connecting : DragState +``` + +## Constructors + +### ConnectorState.Connecting(Connector) + +```csharp +public Connecting(Connector connector); +``` + +**Parameters** + +`connector` [Connector](Nodify_Connector) + +## Properties + +### CanCancel + +```csharp +protected override bool CanCancel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasContextMenu + +```csharp +protected override bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsToggle + +```csharp +protected override bool IsToggle { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### OnBegin(InputEventArgs) + +```csharp +protected override void OnBegin(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnCancel(InputEventArgs) + +```csharp +protected override void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected override void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + diff --git a/docs/api/Nodify_Interactivity_ConnectorState_Default.md b/docs/api/Nodify_Interactivity_ConnectorState_Default.md new file mode 100644 index 00000000..f6a6c294 --- /dev/null +++ b/docs/api/Nodify_Interactivity_ConnectorState_Default.md @@ -0,0 +1,38 @@ +# ConnectorState.Default Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [ConnectorState.Default](Nodify_Interactivity_ConnectorState_Default) + +**References:** [Connector](Nodify_Connector) + +```csharp +public class Default : InputElementState +``` + +## Constructors + +### ConnectorState.Default(Connector) + +```csharp +public Default(Connector connector); +``` + +**Parameters** + +`connector` [Connector](Nodify_Connector) + +## Methods + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + diff --git a/docs/api/Nodify_Interactivity_ConnectorState_Disconnect.md b/docs/api/Nodify_Interactivity_ConnectorState_Disconnect.md new file mode 100644 index 00000000..11898348 --- /dev/null +++ b/docs/api/Nodify_Interactivity_ConnectorState_Disconnect.md @@ -0,0 +1,48 @@ +# ConnectorState.Disconnect Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [ConnectorState.Disconnect](Nodify_Interactivity_ConnectorState_Disconnect) + +**References:** [Connector](Nodify_Connector) + +```csharp +public class Disconnect : InputElementState +``` + +## Constructors + +### ConnectorState.Disconnect(Connector) + +```csharp +public Disconnect(Connector connector); +``` + +**Parameters** + +`connector` [Connector](Nodify_Connector) + +## Methods + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + diff --git a/docs/api/Nodify_Interactivity_ContainerState.md b/docs/api/Nodify_Interactivity_ContainerState.md new file mode 100644 index 00000000..0536cfb0 --- /dev/null +++ b/docs/api/Nodify_Interactivity_ContainerState.md @@ -0,0 +1,26 @@ +# ContainerState Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [ContainerState](Nodify_Interactivity_ContainerState) + +```csharp +public static class ContainerState +``` + +## Properties + +### EnableToggledDraggingMode + +Determines whether toggled dragging mode is enabled, allowing the user to start and end the interaction in two steps with the same input gesture. + +```csharp +public static bool EnableToggledDraggingMode { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_Interactivity_ContainerState_Default.md b/docs/api/Nodify_Interactivity_ContainerState_Default.md new file mode 100644 index 00000000..f7bf4614 --- /dev/null +++ b/docs/api/Nodify_Interactivity_ContainerState_Default.md @@ -0,0 +1,26 @@ +# ContainerState.Default Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) → [ContainerState.Default](Nodify_Interactivity_ContainerState_Default) + +**References:** [ItemContainer](Nodify_ItemContainer) + +```csharp +public sealed class Default : InputElementStateStack +``` + +## Constructors + +### ContainerState.Default(ItemContainer) + +```csharp +public Default(ItemContainer container); +``` + +**Parameters** + +`container` [ItemContainer](Nodify_ItemContainer) + diff --git a/docs/api/Nodify_Interactivity_DragState_TElement_.md b/docs/api/Nodify_Interactivity_DragState_TElement_.md new file mode 100644 index 00000000..0fb9e5f3 --- /dev/null +++ b/docs/api/Nodify_Interactivity_DragState_TElement_.md @@ -0,0 +1,224 @@ +# DragState\ Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) + +```csharp +public abstract class DragState : InputElementState +``` + +## Constructors + +### DragState\(TElement, InputGesture) + +```csharp +public DragState(TElement element, InputGesture beginGesture); +``` + +**Parameters** + +`element` [TElement](Nodify_Interactivity_DragState_TElement__TElement) + +`beginGesture` [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +### DragState\(TElement, InputGesture, InputGesture) + +```csharp +public DragState(TElement element, InputGesture beginGesture, InputGesture cancelGesture); +``` + +**Parameters** + +`element` [TElement](Nodify_Interactivity_DragState_TElement__TElement) + +`beginGesture` [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +`cancelGesture` [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +## Properties + +### BeginGesture + +```csharp +protected InputGesture BeginGesture { get; set; } +``` + +**Property Value** + +[InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +### CanBegin + +```csharp +protected virtual bool CanBegin { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CanCancel + +```csharp +protected virtual bool CanCancel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CancelGesture + +```csharp +protected InputGesture CancelGesture { get; set; } +``` + +**Property Value** + +[InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +### HasContextMenu + +```csharp +protected virtual bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsToggle + +```csharp +protected virtual bool IsToggle { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### PositionElement + +```csharp +protected IInputElement PositionElement { get; set; } +``` + +**Property Value** + +[IInputElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.IInputElement) + +## Methods + +### CanCaptureInput(InputEventArgs) + +```csharp +protected virtual bool CanCaptureInput(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CaptureInput(InputEventArgs) + +```csharp +protected virtual void CaptureInput(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### GetInitialPosition(InputEventArgs) + +```csharp +protected virtual Point GetInitialPosition(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### IsInputCaptureLost(InputEventArgs) + +```csharp +protected virtual bool IsInputCaptureLost(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsInputEventPressed(InputEventArgs) + +```csharp +protected virtual bool IsInputEventPressed(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsInputEventReleased(InputEventArgs) + +```csharp +protected virtual bool IsInputEventReleased(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### OnBegin(InputEventArgs) + +```csharp +protected virtual void OnBegin(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnCancel(InputEventArgs) + +```csharp +protected virtual void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected virtual void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + diff --git a/docs/api/Nodify_Interactivity_EditorGestures.md b/docs/api/Nodify_Interactivity_EditorGestures.md new file mode 100644 index 00000000..3fc9c110 --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures.md @@ -0,0 +1,124 @@ +# EditorGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures](Nodify_Interactivity_EditorGestures) + +**References:** [EditorGestures.ConnectionGestures](Nodify_Interactivity_EditorGestures_ConnectionGestures), [EditorGestures.ConnectorGestures](Nodify_Interactivity_EditorGestures_ConnectorGestures), [EditorGestures.GroupingNodeGestures](Nodify_Interactivity_EditorGestures_GroupingNodeGestures), [EditorGestures.ItemContainerGestures](Nodify_Interactivity_EditorGestures_ItemContainerGestures), [EditorGestures.MinimapGestures](Nodify_Interactivity_EditorGestures_MinimapGestures), [NodifyEditor](Nodify_NodifyEditor), [EditorGestures.NodifyEditorGestures](Nodify_Interactivity_EditorGestures_NodifyEditorGestures) + +Gestures used by built-in controls inside the [NodifyEditor](Nodify_NodifyEditor). + +```csharp +public class EditorGestures +``` + +## Constructors + +### EditorGestures() + +```csharp +public EditorGestures(); +``` + +## Fields + +### Mappings + +```csharp +public static EditorGestures Mappings; +``` + +**Field Value** + +[EditorGestures](Nodify_Interactivity_EditorGestures) + +## Properties + +### Connection + +Gestures for the connection. + +```csharp +public ConnectionGestures Connection { get; set; } +``` + +**Property Value** + +[EditorGestures.ConnectionGestures](Nodify_Interactivity_EditorGestures_ConnectionGestures) + +### Connector + +Gestures for the connector. + +```csharp +public ConnectorGestures Connector { get; set; } +``` + +**Property Value** + +[EditorGestures.ConnectorGestures](Nodify_Interactivity_EditorGestures_ConnectorGestures) + +### Editor + +Gestures for the editor. + +```csharp +public NodifyEditorGestures Editor { get; set; } +``` + +**Property Value** + +[EditorGestures.NodifyEditorGestures](Nodify_Interactivity_EditorGestures_NodifyEditorGestures) + +### GroupingNode + +Gestures for the grouping node. + +```csharp +public GroupingNodeGestures GroupingNode { get; set; } +``` + +**Property Value** + +[EditorGestures.GroupingNodeGestures](Nodify_Interactivity_EditorGestures_GroupingNodeGestures) + +### ItemContainer + +Gestures for the item container. + +```csharp +public ItemContainerGestures ItemContainer { get; set; } +``` + +**Property Value** + +[EditorGestures.ItemContainerGestures](Nodify_Interactivity_EditorGestures_ItemContainerGestures) + +### Minimap + +Gestures for the minimap. + +```csharp +public MinimapGestures Minimap { get; set; } +``` + +**Property Value** + +[EditorGestures.MinimapGestures](Nodify_Interactivity_EditorGestures_MinimapGestures) + +## Methods + +### Apply(EditorGestures) + +Copies from the specified gestures. + +```csharp +public void Apply(EditorGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures](Nodify_Interactivity_EditorGestures): The gestures to copy. + diff --git a/docs/api/Nodify_Interactivity_EditorGestures_ConnectionGestures.md b/docs/api/Nodify_Interactivity_EditorGestures_ConnectionGestures.md new file mode 100644 index 00000000..77e432d1 --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures_ConnectionGestures.md @@ -0,0 +1,66 @@ +# EditorGestures.ConnectionGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures.ConnectionGestures](Nodify_Interactivity_EditorGestures_ConnectionGestures) + +**References:** [EditorGestures](Nodify_Interactivity_EditorGestures), [InputGestureRef](Nodify_Interactivity_InputGestureRef), [EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +```csharp +public class ConnectionGestures +``` + +## Constructors + +### EditorGestures.ConnectionGestures() + +```csharp +public ConnectionGestures(); +``` + +## Properties + +### Disconnect + +```csharp +public InputGestureRef Disconnect { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Selection + +```csharp +public SelectionGestures Selection { get; set; } +``` + +**Property Value** + +[EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +### Split + +```csharp +public InputGestureRef Split { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +## Methods + +### Apply(EditorGestures.ConnectionGestures) + +```csharp +public void Apply(EditorGestures.ConnectionGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures.ConnectionGestures](Nodify_Interactivity_EditorGestures_ConnectionGestures) + diff --git a/docs/api/Nodify_Interactivity_EditorGestures_ConnectorGestures.md b/docs/api/Nodify_Interactivity_EditorGestures_ConnectorGestures.md new file mode 100644 index 00000000..69ba11cd --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures_ConnectorGestures.md @@ -0,0 +1,66 @@ +# EditorGestures.ConnectorGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures.ConnectorGestures](Nodify_Interactivity_EditorGestures_ConnectorGestures) + +**References:** [EditorGestures](Nodify_Interactivity_EditorGestures), [InputGestureRef](Nodify_Interactivity_InputGestureRef) + +```csharp +public class ConnectorGestures +``` + +## Constructors + +### EditorGestures.ConnectorGestures() + +```csharp +public ConnectorGestures(); +``` + +## Properties + +### CancelAction + +```csharp +public InputGestureRef CancelAction { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Connect + +```csharp +public InputGestureRef Connect { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Disconnect + +```csharp +public InputGestureRef Disconnect { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +## Methods + +### Apply(EditorGestures.ConnectorGestures) + +```csharp +public void Apply(EditorGestures.ConnectorGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures.ConnectorGestures](Nodify_Interactivity_EditorGestures_ConnectorGestures) + diff --git a/docs/api/Nodify_Interactivity_EditorGestures_GroupingNodeGestures.md b/docs/api/Nodify_Interactivity_EditorGestures_GroupingNodeGestures.md new file mode 100644 index 00000000..cf86dd01 --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures_GroupingNodeGestures.md @@ -0,0 +1,46 @@ +# EditorGestures.GroupingNodeGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures.GroupingNodeGestures](Nodify_Interactivity_EditorGestures_GroupingNodeGestures) + +**References:** [EditorGestures](Nodify_Interactivity_EditorGestures) + +```csharp +public class GroupingNodeGestures +``` + +## Constructors + +### EditorGestures.GroupingNodeGestures() + +```csharp +public GroupingNodeGestures(); +``` + +## Properties + +### SwitchMovementMode + +```csharp +public ModifierKeys SwitchMovementMode { get; set; } +``` + +**Property Value** + +[ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys) + +## Methods + +### Apply(EditorGestures.GroupingNodeGestures) + +```csharp +public void Apply(EditorGestures.GroupingNodeGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures.GroupingNodeGestures](Nodify_Interactivity_EditorGestures_GroupingNodeGestures) + diff --git a/docs/api/Nodify_Interactivity_EditorGestures_ItemContainerGestures.md b/docs/api/Nodify_Interactivity_EditorGestures_ItemContainerGestures.md new file mode 100644 index 00000000..ed0b9d30 --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures_ItemContainerGestures.md @@ -0,0 +1,66 @@ +# EditorGestures.ItemContainerGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures.ItemContainerGestures](Nodify_Interactivity_EditorGestures_ItemContainerGestures) + +**References:** [EditorGestures](Nodify_Interactivity_EditorGestures), [InputGestureRef](Nodify_Interactivity_InputGestureRef), [EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +```csharp +public class ItemContainerGestures +``` + +## Constructors + +### EditorGestures.ItemContainerGestures() + +```csharp +public ItemContainerGestures(); +``` + +## Properties + +### CancelAction + +```csharp +public InputGestureRef CancelAction { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Drag + +```csharp +public InputGestureRef Drag { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Selection + +```csharp +public SelectionGestures Selection { get; set; } +``` + +**Property Value** + +[EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +## Methods + +### Apply(EditorGestures.ItemContainerGestures) + +```csharp +public void Apply(EditorGestures.ItemContainerGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures.ItemContainerGestures](Nodify_Interactivity_EditorGestures_ItemContainerGestures) + diff --git a/docs/api/Nodify_Interactivity_EditorGestures_MinimapGestures.md b/docs/api/Nodify_Interactivity_EditorGestures_MinimapGestures.md new file mode 100644 index 00000000..3bb94a60 --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures_MinimapGestures.md @@ -0,0 +1,66 @@ +# EditorGestures.MinimapGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures.MinimapGestures](Nodify_Interactivity_EditorGestures_MinimapGestures) + +**References:** [EditorGestures](Nodify_Interactivity_EditorGestures), [InputGestureRef](Nodify_Interactivity_InputGestureRef) + +```csharp +public class MinimapGestures +``` + +## Constructors + +### EditorGestures.MinimapGestures() + +```csharp +public MinimapGestures(); +``` + +## Properties + +### CancelAction + +```csharp +public InputGestureRef CancelAction { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### DragViewport + +```csharp +public InputGestureRef DragViewport { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### ZoomModifierKey + +```csharp +public ModifierKeys ZoomModifierKey { get; set; } +``` + +**Property Value** + +[ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys) + +## Methods + +### Apply(EditorGestures.MinimapGestures) + +```csharp +public void Apply(EditorGestures.MinimapGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures.MinimapGestures](Nodify_Interactivity_EditorGestures_MinimapGestures) + diff --git a/docs/api/Nodify_Interactivity_EditorGestures_NodifyEditorGestures.md b/docs/api/Nodify_Interactivity_EditorGestures_NodifyEditorGestures.md new file mode 100644 index 00000000..810ad6cc --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures_NodifyEditorGestures.md @@ -0,0 +1,166 @@ +# EditorGestures.NodifyEditorGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures.NodifyEditorGestures](Nodify_Interactivity_EditorGestures_NodifyEditorGestures) + +**References:** [EditorGestures](Nodify_Interactivity_EditorGestures), [InputGestureRef](Nodify_Interactivity_InputGestureRef), [EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +```csharp +public class NodifyEditorGestures +``` + +## Constructors + +### EditorGestures.NodifyEditorGestures() + +```csharp +public NodifyEditorGestures(); +``` + +## Properties + +### CancelAction + +```csharp +public InputGestureRef CancelAction { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Cutting + +```csharp +public InputGestureRef Cutting { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### FitToScreen + +```csharp +public InputGestureRef FitToScreen { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Pan + +```csharp +public InputGestureRef Pan { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### PanHorizontalModifierKey + +```csharp +public ModifierKeys PanHorizontalModifierKey { get; set; } +``` + +**Property Value** + +[ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys) + +### PanVerticalModifierKey + +```csharp +public ModifierKeys PanVerticalModifierKey { get; set; } +``` + +**Property Value** + +[ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys) + +### PanWithMouseWheel + +```csharp +public bool PanWithMouseWheel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### PushItems + +```csharp +public InputGestureRef PushItems { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### ResetViewportLocation + +```csharp +public InputGestureRef ResetViewportLocation { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Selection + +```csharp +public SelectionGestures Selection { get; set; } +``` + +**Property Value** + +[EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +### ZoomIn + +```csharp +public InputGestureRef ZoomIn { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### ZoomModifierKey + +```csharp +public ModifierKeys ZoomModifierKey { get; set; } +``` + +**Property Value** + +[ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys) + +### ZoomOut + +```csharp +public InputGestureRef ZoomOut { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +## Methods + +### Apply(EditorGestures.NodifyEditorGestures) + +```csharp +public void Apply(EditorGestures.NodifyEditorGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures.NodifyEditorGestures](Nodify_Interactivity_EditorGestures_NodifyEditorGestures) + diff --git a/docs/api/Nodify_Interactivity_EditorGestures_SelectionGestures.md b/docs/api/Nodify_Interactivity_EditorGestures_SelectionGestures.md new file mode 100644 index 00000000..973e081a --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorGestures_SelectionGestures.md @@ -0,0 +1,146 @@ +# EditorGestures.SelectionGestures Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +**References:** [EditorGestures.ConnectionGestures](Nodify_Interactivity_EditorGestures_ConnectionGestures), [InputGestureRef](Nodify_Interactivity_InputGestureRef), [EditorGestures.ItemContainerGestures](Nodify_Interactivity_EditorGestures_ItemContainerGestures), [EditorGestures.NodifyEditorGestures](Nodify_Interactivity_EditorGestures_NodifyEditorGestures) + +```csharp +public class SelectionGestures +``` + +## Constructors + +### EditorGestures.SelectionGestures(MouseAction, Boolean) + +```csharp +public SelectionGestures(MouseAction mouseAction, bool ignoreModifierKeysOnRelease); +``` + +**Parameters** + +`mouseAction` [MouseAction](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseAction) + +`ignoreModifierKeysOnRelease` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EditorGestures.SelectionGestures(MouseAction) + +```csharp +public SelectionGestures(MouseAction mouseAction); +``` + +**Parameters** + +`mouseAction` [MouseAction](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseAction) + +### EditorGestures.SelectionGestures(Boolean) + +```csharp +public SelectionGestures(bool ignoreModifierKeysOnRelease); +``` + +**Parameters** + +`ignoreModifierKeysOnRelease` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EditorGestures.SelectionGestures() + +```csharp +public SelectionGestures(); +``` + +## Fields + +### None + +```csharp +public static SelectionGestures None; +``` + +**Field Value** + +[EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +## Properties + +### Append + +```csharp +public InputGestureRef Append { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Cancel + +```csharp +public InputGestureRef Cancel { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Invert + +```csharp +public InputGestureRef Invert { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Remove + +```csharp +public InputGestureRef Remove { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Replace + +```csharp +public InputGestureRef Replace { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +### Select + +```csharp +public InputGestureRef Select { get; set; } +``` + +**Property Value** + +[InputGestureRef](Nodify_Interactivity_InputGestureRef) + +## Methods + +### Apply(EditorGestures.SelectionGestures) + +```csharp +public void Apply(EditorGestures.SelectionGestures gestures); +``` + +**Parameters** + +`gestures` [EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +### Unbind() + +```csharp +public void Unbind(); +``` + diff --git a/docs/api/Nodify_Interactivity_EditorState.md b/docs/api/Nodify_Interactivity_EditorState.md new file mode 100644 index 00000000..b3929459 --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorState.md @@ -0,0 +1,146 @@ +# EditorState Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [EditorState](Nodify_Interactivity_EditorState) + +```csharp +public static class EditorState +``` + +## Properties + +### AllowPanningWhileCutting + +Gets or sets a value indicating whether panning is allowed while cutting connections in the editor. + +```csharp +public static bool AllowPanningWhileCutting { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowPanningWhilePushingItems + +Gets or sets a value indicating whether panning is allowed while pushing items in the editor. + +```csharp +public static bool AllowPanningWhilePushingItems { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowPanningWhileSelecting + +Gets or sets a value indicating whether panning is allowed while selecting items in the editor. + +```csharp +public static bool AllowPanningWhileSelecting { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowZoomingWhileCutting + +Gets or sets a value indicating whether zooming is allowed while cutting connections in the editor. + +```csharp +public static bool AllowZoomingWhileCutting { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowZoomingWhilePanning + +Gets or sets a value indicating whether zooming is allowed while panning the editor viewport. + +```csharp +public static bool AllowZoomingWhilePanning { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowZoomingWhilePushingItems + +Gets or sets a value indicating whether zooming is allowed while pushing items in the editor. + +```csharp +public static bool AllowZoomingWhilePushingItems { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowZoomingWhileSelecting + +Gets or sets a value indicating whether zooming is allowed while selecting items in the editor. + +```csharp +public static bool AllowZoomingWhileSelecting { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableToggledCuttingMode + +Determines whether toggled cutting mode is enabled, allowing the user to start and end the interaction in two steps with the same input gesture. + +```csharp +public static bool EnableToggledCuttingMode { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableToggledPanningMode + +Determines whether toggled panning mode is enabled, allowing the user to start and end the interaction in two steps with the same input gesture. + +```csharp +public static bool EnableToggledPanningMode { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableToggledPushingItemsMode + +Determines whether toggled pushing items mode is enabled, allowing the user to start and end the interaction in two steps with the same input gesture. + +```csharp +public static bool EnableToggledPushingItemsMode { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableToggledSelectingMode + +Determines whether toggled selecting mode is enabled, allowing the user to start and end the interaction in two steps with the same input gesture. + +```csharp +public static bool EnableToggledSelectingMode { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_Interactivity_EditorState_Cutting.md b/docs/api/Nodify_Interactivity_EditorState_Cutting.md new file mode 100644 index 00000000..36bcb13e --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorState_Cutting.md @@ -0,0 +1,110 @@ +# EditorState.Cutting Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) → [EditorState.Cutting](Nodify_Interactivity_EditorState_Cutting) + +**References:** [NodifyEditor](Nodify_NodifyEditor) + +```csharp +public class Cutting : DragState +``` + +## Constructors + +### EditorState.Cutting(NodifyEditor) + +```csharp +public Cutting(NodifyEditor editor); +``` + +**Parameters** + +`editor` [NodifyEditor](Nodify_NodifyEditor) + +## Properties + +### CanBegin + +```csharp +protected override bool CanBegin { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CanCancel + +```csharp +protected override bool CanCancel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasContextMenu + +```csharp +protected override bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsToggle + +```csharp +protected override bool IsToggle { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### OnBegin(InputEventArgs) + +```csharp +protected override void OnBegin(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnCancel(InputEventArgs) + +```csharp +protected override void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected override void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + diff --git a/docs/api/Nodify_Interactivity_EditorState_Panning.md b/docs/api/Nodify_Interactivity_EditorState_Panning.md new file mode 100644 index 00000000..893ba7ee --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorState_Panning.md @@ -0,0 +1,110 @@ +# EditorState.Panning Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) → [EditorState.Panning](Nodify_Interactivity_EditorState_Panning) + +**References:** [NodifyEditor](Nodify_NodifyEditor) + +```csharp +public class Panning : DragState +``` + +## Constructors + +### EditorState.Panning(NodifyEditor) + +```csharp +public Panning(NodifyEditor editor); +``` + +**Parameters** + +`editor` [NodifyEditor](Nodify_NodifyEditor) + +## Properties + +### CanBegin + +```csharp +protected override bool CanBegin { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CanCancel + +```csharp +protected override bool CanCancel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasContextMenu + +```csharp +protected override bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsToggle + +```csharp +protected override bool IsToggle { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### OnBegin(InputEventArgs) + +```csharp +protected override void OnBegin(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnCancel(InputEventArgs) + +```csharp +protected override void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected override void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + diff --git a/docs/api/Nodify_Interactivity_EditorState_PanningWithMouseWheel.md b/docs/api/Nodify_Interactivity_EditorState_PanningWithMouseWheel.md new file mode 100644 index 00000000..a1993b67 --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorState_PanningWithMouseWheel.md @@ -0,0 +1,38 @@ +# EditorState.PanningWithMouseWheel Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [EditorState.PanningWithMouseWheel](Nodify_Interactivity_EditorState_PanningWithMouseWheel) + +**References:** [NodifyEditor](Nodify_NodifyEditor) + +```csharp +public class PanningWithMouseWheel : InputElementState +``` + +## Constructors + +### EditorState.PanningWithMouseWheel(NodifyEditor) + +```csharp +public PanningWithMouseWheel(NodifyEditor editor); +``` + +**Parameters** + +`editor` [NodifyEditor](Nodify_NodifyEditor) + +## Methods + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + diff --git a/docs/api/Nodify_Interactivity_EditorState_PushingItems.md b/docs/api/Nodify_Interactivity_EditorState_PushingItems.md new file mode 100644 index 00000000..557daddd --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorState_PushingItems.md @@ -0,0 +1,110 @@ +# EditorState.PushingItems Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) → [EditorState.PushingItems](Nodify_Interactivity_EditorState_PushingItems) + +**References:** [NodifyEditor](Nodify_NodifyEditor) + +```csharp +public class PushingItems : DragState +``` + +## Constructors + +### EditorState.PushingItems(NodifyEditor) + +```csharp +public PushingItems(NodifyEditor editor); +``` + +**Parameters** + +`editor` [NodifyEditor](Nodify_NodifyEditor) + +## Properties + +### CanBegin + +```csharp +protected override bool CanBegin { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CanCancel + +```csharp +protected override bool CanCancel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasContextMenu + +```csharp +protected override bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsToggle + +```csharp +protected override bool IsToggle { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### OnBegin(InputEventArgs) + +```csharp +protected override void OnBegin(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnCancel(InputEventArgs) + +```csharp +protected override void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected override void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + diff --git a/docs/api/Nodify_Interactivity_EditorState_Selecting.md b/docs/api/Nodify_Interactivity_EditorState_Selecting.md new file mode 100644 index 00000000..a17fe69c --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorState_Selecting.md @@ -0,0 +1,110 @@ +# EditorState.Selecting Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) → [EditorState.Selecting](Nodify_Interactivity_EditorState_Selecting) + +**References:** [NodifyEditor](Nodify_NodifyEditor) + +```csharp +public class Selecting : DragState +``` + +## Constructors + +### EditorState.Selecting(NodifyEditor) + +```csharp +public Selecting(NodifyEditor editor); +``` + +**Parameters** + +`editor` [NodifyEditor](Nodify_NodifyEditor) + +## Properties + +### CanBegin + +```csharp +protected override bool CanBegin { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CanCancel + +```csharp +protected override bool CanCancel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasContextMenu + +```csharp +protected override bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsToggle + +```csharp +protected override bool IsToggle { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### OnBegin(InputEventArgs) + +```csharp +protected override void OnBegin(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnCancel(InputEventArgs) + +```csharp +protected override void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected override void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + diff --git a/docs/api/Nodify_Interactivity_EditorState_Zooming.md b/docs/api/Nodify_Interactivity_EditorState_Zooming.md new file mode 100644 index 00000000..0f79a58f --- /dev/null +++ b/docs/api/Nodify_Interactivity_EditorState_Zooming.md @@ -0,0 +1,38 @@ +# EditorState.Zooming Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [EditorState.Zooming](Nodify_Interactivity_EditorState_Zooming) + +**References:** [NodifyEditor](Nodify_NodifyEditor) + +```csharp +public class Zooming : InputElementState +``` + +## Constructors + +### EditorState.Zooming(NodifyEditor) + +```csharp +public Zooming(NodifyEditor editor); +``` + +**Parameters** + +`editor` [NodifyEditor](Nodify_NodifyEditor) + +## Methods + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + diff --git a/docs/api/Nodify_Interactivity_IInputHandler.md b/docs/api/Nodify_Interactivity_IInputHandler.md new file mode 100644 index 00000000..b2ad805f --- /dev/null +++ b/docs/api/Nodify_Interactivity_IInputHandler.md @@ -0,0 +1,44 @@ +# IInputHandler Interface + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Derived:** [InputElementState\](Nodify_Interactivity_InputElementState_TElement_), [InputElementState\](Nodify_Interactivity_InputElementState_TElement_), [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_), [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_), [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_), [InputElementState\](Nodify_Interactivity_InputElementState_TElement_), [InputElementState\](Nodify_Interactivity_InputElementState_TElement_), [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_), [InputElementState\](Nodify_Interactivity_InputElementState_TElement_), [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_), [InputElementState\](Nodify_Interactivity_InputElementState_TElement_), [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_), [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_), [InputElementState\](Nodify_Interactivity_InputElementState_TElement_), [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_), [InputProcessor.Shared\](Nodify_Interactivity_InputProcessor_Shared_TElement_), [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) + +**References:** [InputProcessor](Nodify_Interactivity_InputProcessor) + +Defines a contract for handling input events within an element or system. + +```csharp +public interface IInputHandler +``` + +## Properties + +### RequiresInputCapture + +Gets a value indicating whether the handler requires input capture to remain active. + +```csharp +public virtual bool RequiresInputCapture { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### HandleEvent(InputEventArgs) + +Handles a given input event, such as a mouse or keyboard interaction. + +```csharp +public virtual void HandleEvent(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs): The [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) representing the input event. + diff --git a/docs/api/Nodify_Interactivity_InputElementStateStack_TElement_.md b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement_.md new file mode 100644 index 00000000..73491157 --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement_.md @@ -0,0 +1,94 @@ +# InputElementStateStack\ Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +**Implements:** [IInputHandler](Nodify_Interactivity_IInputHandler) + +**References:** [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + +```csharp +public class InputElementStateStack : IInputHandler +``` + +## Constructors + +### InputElementStateStack\(TElement) + +```csharp +public InputElementStateStack(TElement element); +``` + +**Parameters** + +`element` [TElement](Nodify_Interactivity_InputElementStateStack_TElement__TElement) + +## Properties + +### Element + +```csharp +protected TElement Element { get; set; } +``` + +**Property Value** + +[TElement](Nodify_Interactivity_InputElementStateStack_TElement__TElement) + +### RequiresInputCapture + +```csharp +public virtual bool RequiresInputCapture { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### State + +```csharp +public IInputElementState State { get; set; } +``` + +**Property Value** + +[InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + +## Methods + +### HandleEvent(InputEventArgs) + +```csharp +public virtual void HandleEvent(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### PopAllStates() + +```csharp +public void PopAllStates(); +``` + +### PopState() + +```csharp +public void PopState(); +``` + +### PushState(InputElementStateStack\.IInputElementState\) + +```csharp +public void PushState(IInputElementState newState); +``` + +**Parameters** + +`newState` [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + diff --git a/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__DragState_TElement_.md b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__DragState_TElement_.md new file mode 100644 index 00000000..6db8bd24 --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__DragState_TElement_.md @@ -0,0 +1,110 @@ +# InputElementStateStack\.DragState\ Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) → [InputElementStateStack\.DragState\](Nodify_Interactivity_InputElementStateStack_TElement__DragState_TElement_) + +**Implements:** [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + +**References:** [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +```csharp +public abstract class DragState : DragState, IInputElementState +``` + +## Constructors + +### InputElementStateStack\.DragState\(InputElementStateStack\, InputGesture, InputGesture) + +```csharp +public DragState(InputElementStateStack stack, InputGesture exitGesture, InputGesture cancelGesture); +``` + +**Parameters** + +`stack` [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +`exitGesture` [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +`cancelGesture` [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +### InputElementStateStack\.DragState\(InputElementStateStack\, InputGesture) + +```csharp +public DragState(InputElementStateStack stack, InputGesture exitGesture); +``` + +**Parameters** + +`stack` [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +`exitGesture` [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +## Properties + +### Stack + +```csharp +public InputElementStateStack Stack { get; set; } +``` + +**Property Value** + +[InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +## Methods + +### Enter(InputElementStateStack\.IInputElementState\) + +```csharp +public virtual void Enter(InputElementStateStack.IInputElementState from); +``` + +**Parameters** + +`from` [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + +### Exit() + +```csharp +public virtual void Exit(); +``` + +### OnCancel(InputEventArgs) + +```csharp +protected override void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected override void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### PopState() + +```csharp +public void PopState(); +``` + +### PushState(InputElementStateStack\.IInputElementState\) + +```csharp +public void PushState(InputElementStateStack.IInputElementState newState); +``` + +**Parameters** + +`newState` [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + diff --git a/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_.md b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_.md new file mode 100644 index 00000000..b9f25124 --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_.md @@ -0,0 +1,30 @@ +# InputElementStateStack\.IInputElementState\ Interface + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Implements:** [IInputHandler](Nodify_Interactivity_IInputHandler) + +```csharp +public interface IInputElementState : IInputHandler +``` + +## Methods + +### Enter(InputElementStateStack\.IInputElementState\) + +```csharp +public virtual void Enter(InputElementStateStack.IInputElementState from); +``` + +**Parameters** + +`from` [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + +### Exit() + +```csharp +public virtual void Exit(); +``` + diff --git a/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__InputElementState_TElement_.md b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__InputElementState_TElement_.md new file mode 100644 index 00000000..9051c384 --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputElementStateStack_TElement__InputElementState_TElement_.md @@ -0,0 +1,74 @@ +# InputElementStateStack\.InputElementState\ Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [InputElementStateStack\.InputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__InputElementState_TElement_) + +**Implements:** [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + +**References:** [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +```csharp +public abstract class InputElementState : InputElementState, IInputElementState +``` + +## Constructors + +### InputElementStateStack\.InputElementState\(InputElementStateStack\) + +```csharp +public InputElementState(InputElementStateStack stack); +``` + +**Parameters** + +`stack` [InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +## Properties + +### Stack + +```csharp +protected InputElementStateStack Stack { get; set; } +``` + +**Property Value** + +[InputElementStateStack\](Nodify_Interactivity_InputElementStateStack_TElement_) + +## Methods + +### Enter(InputElementStateStack\.IInputElementState\) + +```csharp +public virtual void Enter(InputElementStateStack.IInputElementState from); +``` + +**Parameters** + +`from` [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + +### Exit() + +```csharp +public virtual void Exit(); +``` + +### PopState() + +```csharp +public void PopState(); +``` + +### PushState(InputElementStateStack\.IInputElementState\) + +```csharp +public void PushState(InputElementStateStack.IInputElementState newState); +``` + +**Parameters** + +`newState` [InputElementStateStack\.IInputElementState\](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + diff --git a/docs/api/Nodify_Interactivity_InputElementState_TElement_.md b/docs/api/Nodify_Interactivity_InputElementState_TElement_.md new file mode 100644 index 00000000..d11dbd38 --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputElementState_TElement_.md @@ -0,0 +1,140 @@ +# InputElementState\ Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) + +**Implements:** [IInputHandler](Nodify_Interactivity_IInputHandler) + +```csharp +public abstract class InputElementState : IInputHandler +``` + +## Constructors + +### InputElementState\(TElement) + +```csharp +protected InputElementState(TElement element); +``` + +**Parameters** + +`element` [TElement](Nodify_Interactivity_InputElementState_TElement__TElement) + +## Properties + +### Element + +```csharp +protected TElement Element { get; set; } +``` + +**Property Value** + +[TElement](Nodify_Interactivity_InputElementState_TElement__TElement) + +### RequiresInputCapture + +```csharp +public virtual bool RequiresInputCapture { get; protected set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### HandleEvent(InputEventArgs) + +```csharp +public virtual void HandleEvent(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEvent(InputEventArgs) + +```csharp +protected virtual void OnEvent(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnKeyDown(KeyEventArgs) + +```csharp +protected virtual void OnKeyDown(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnKeyUp(KeyEventArgs) + +```csharp +protected virtual void OnKeyUp(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnLostMouseCapture(MouseEventArgs) + +```csharp +protected virtual void OnLostMouseCapture(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected virtual void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected virtual void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected virtual void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected virtual void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + diff --git a/docs/api/Nodify_Interactivity_InputGestureRef.md b/docs/api/Nodify_Interactivity_InputGestureRef.md new file mode 100644 index 00000000..3e3c914e --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputGestureRef.md @@ -0,0 +1,57 @@ +# InputGestureRef Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) → [InputGestureRef](Nodify_Interactivity_InputGestureRef) + +**References:** [EditorGestures.ConnectionGestures](Nodify_Interactivity_EditorGestures_ConnectionGestures), [EditorGestures.ConnectorGestures](Nodify_Interactivity_EditorGestures_ConnectorGestures), [EditorCommands](Nodify_EditorCommands), [EditorGestures.ItemContainerGestures](Nodify_Interactivity_EditorGestures_ItemContainerGestures), [EditorGestures.MinimapGestures](Nodify_Interactivity_EditorGestures_MinimapGestures), [EditorGestures.NodifyEditorGestures](Nodify_Interactivity_EditorGestures_NodifyEditorGestures), [EditorGestures.SelectionGestures](Nodify_Interactivity_EditorGestures_SelectionGestures) + +An input gesture that allows changing its logic at runtime without changing its reference. + Useful for classes that capture the object reference without the posibility of updating it. (e.g. [EditorCommands](Nodify_EditorCommands)) + +```csharp +public sealed class InputGestureRef : InputGesture +``` + +## Properties + +### Value + +The referenced gesture. + +```csharp +public InputGesture Value { get; set; } +``` + +**Property Value** + +[InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) + +## Methods + +### Matches(Object, InputEventArgs) + +```csharp +public override bool Matches(object targetElement, InputEventArgs inputEventArgs); +``` + +**Parameters** + +`targetElement` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +`inputEventArgs` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### Unbind() + +Unbinds the current gesture. + +```csharp +public void Unbind(); +``` + diff --git a/docs/api/Nodify_Interactivity_InputProcessor.md b/docs/api/Nodify_Interactivity_InputProcessor.md new file mode 100644 index 00000000..61377421 --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputProcessor.md @@ -0,0 +1,92 @@ +# InputProcessor Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputProcessor](Nodify_Interactivity_InputProcessor) + +**Derived:** [InputProcessor.Shared\](Nodify_Interactivity_InputProcessor_Shared_TElement_) + +**References:** [Connector](Nodify_Connector), [IInputHandler](Nodify_Interactivity_IInputHandler), [InputProcessorExtensions](Nodify_Interactivity_InputProcessorExtensions), [ItemContainer](Nodify_ItemContainer), [Minimap](Nodify_Minimap), [NodifyEditor](Nodify_NodifyEditor) + +Processes input events and delegates them to registered handlers. + +```csharp +public class InputProcessor +``` + +## Constructors + +### InputProcessor() + +```csharp +public InputProcessor(); +``` + +## Properties + +### ProcessHandledEvents + +Gets or sets a value indicating whether events that have been handled should be processed. + +```csharp +public bool ProcessHandledEvents { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### RequiresInputCapture + +Gets a value indicating whether the processor has ongoing interactions that require input capture to remain active. + +```csharp +public virtual bool RequiresInputCapture { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### AddHandler(IInputHandler) + +Adds an input handler to the processor. + +```csharp +public void AddHandler(IInputHandler handler); +``` + +**Parameters** + +`handler` [IInputHandler](Nodify_Interactivity_IInputHandler): The input handler to add. + +### Clear() + +Clears all registered handlers. + +```csharp +public void Clear(); +``` + +### ProcessEvent(InputEventArgs) + +Processes an input event and delegates it to the registered handlers. + +```csharp +public void ProcessEvent(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs): The input event arguments to process. + +### RemoveHandlers() + +```csharp +public void RemoveHandlers(); +``` + diff --git a/docs/api/Nodify_Interactivity_InputProcessorExtensions.md b/docs/api/Nodify_Interactivity_InputProcessorExtensions.md new file mode 100644 index 00000000..9a801be9 --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputProcessorExtensions.md @@ -0,0 +1,30 @@ +# InputProcessorExtensions Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputProcessorExtensions](Nodify_Interactivity_InputProcessorExtensions) + +**References:** [InputProcessor](Nodify_Interactivity_InputProcessor) + +Provides extension methods for the [InputProcessor](Nodify_Interactivity_InputProcessor) class. + +```csharp +public static class InputProcessorExtensions +``` + +## Methods + +### AddSharedHandlers(InputProcessor, TElement) + +```csharp +public static void AddSharedHandlers(InputProcessor inputProcessor, TElement instance); +``` + +**Parameters** + +`inputProcessor` [InputProcessor](Nodify_Interactivity_InputProcessor) + +`instance` [TElement](Nodify_Interactivity_InputProcessorExtensions_TElement) + diff --git a/docs/api/Nodify_Interactivity_InputProcessor_Shared_TElement_.md b/docs/api/Nodify_Interactivity_InputProcessor_Shared_TElement_.md new file mode 100644 index 00000000..f164139d --- /dev/null +++ b/docs/api/Nodify_Interactivity_InputProcessor_Shared_TElement_.md @@ -0,0 +1,70 @@ +# InputProcessor.Shared\ Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputProcessor](Nodify_Interactivity_InputProcessor) → [InputProcessor.Shared\](Nodify_Interactivity_InputProcessor_Shared_TElement_) + +**Implements:** [IInputHandler](Nodify_Interactivity_IInputHandler) + +```csharp +public sealed class Shared : InputProcessor, IInputHandler +``` + +## Constructors + +### InputProcessor.Shared\(TElement) + +```csharp +public Shared(TElement element); +``` + +**Parameters** + +`element` [TElement](Nodify_Interactivity_Shared_TElement__TElement) + +## Methods + +### ClearHandlerFactories() + +```csharp +public static void ClearHandlerFactories(); +``` + +### HandleEvent(InputEventArgs) + +```csharp +public virtual void HandleEvent(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### RegisterHandlerFactory(Func\) + +```csharp +public static void RegisterHandlerFactory(Func factory); +``` + +**Parameters** + +`factory` [Func\](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2) + +### RemoveHandlerFactory() + +```csharp +public static void RemoveHandlerFactory(); +``` + +### ReplaceHandlerFactory(Func\) + +```csharp +public static void ReplaceHandlerFactory(Func factory); +``` + +**Parameters** + +`factory` [Func\](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2) + diff --git a/docs/api/Nodify_Interactivity_MinimapState.md b/docs/api/Nodify_Interactivity_MinimapState.md new file mode 100644 index 00000000..9ca1323c --- /dev/null +++ b/docs/api/Nodify_Interactivity_MinimapState.md @@ -0,0 +1,26 @@ +# MinimapState Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [MinimapState](Nodify_Interactivity_MinimapState) + +```csharp +public static class MinimapState +``` + +## Properties + +### EnableToggledPanningMode + +Determines whether toggled panning mode is enabled, allowing the user to start and end the interaction in two steps with the same input gesture. + +```csharp +public static bool EnableToggledPanningMode { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_Interactivity_MinimapState_Panning.md b/docs/api/Nodify_Interactivity_MinimapState_Panning.md new file mode 100644 index 00000000..654a03b8 --- /dev/null +++ b/docs/api/Nodify_Interactivity_MinimapState_Panning.md @@ -0,0 +1,100 @@ +# MinimapState.Panning Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [DragState\](Nodify_Interactivity_DragState_TElement_) → [MinimapState.Panning](Nodify_Interactivity_MinimapState_Panning) + +**References:** [Minimap](Nodify_Minimap) + +```csharp +public class Panning : DragState +``` + +## Constructors + +### MinimapState.Panning(Minimap) + +```csharp +public Panning(Minimap minimap); +``` + +**Parameters** + +`minimap` [Minimap](Nodify_Minimap) + +## Properties + +### CanBegin + +```csharp +protected override bool CanBegin { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CanCancel + +```csharp +protected override bool CanCancel { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsToggle + +```csharp +protected override bool IsToggle { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +## Methods + +### OnBegin(InputEventArgs) + +```csharp +protected override void OnBegin(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnCancel(InputEventArgs) + +```csharp +protected override void OnCancel(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnEnd(InputEventArgs) + +```csharp +protected override void OnEnd(InputEventArgs e); +``` + +**Parameters** + +`e` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + diff --git a/docs/api/Nodify_Interactivity_MinimapState_Zooming.md b/docs/api/Nodify_Interactivity_MinimapState_Zooming.md new file mode 100644 index 00000000..f05e5f8c --- /dev/null +++ b/docs/api/Nodify_Interactivity_MinimapState_Zooming.md @@ -0,0 +1,38 @@ +# MinimapState.Zooming Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputElementState\](Nodify_Interactivity_InputElementState_TElement_) → [MinimapState.Zooming](Nodify_Interactivity_MinimapState_Zooming) + +**References:** [Minimap](Nodify_Minimap) + +```csharp +public class Zooming : InputElementState +``` + +## Constructors + +### MinimapState.Zooming(Minimap) + +```csharp +public Zooming(Minimap minimap); +``` + +**Parameters** + +`minimap` [Minimap](Nodify_Minimap) + +## Methods + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + diff --git a/docs/api/Nodify_Interactivity_MouseGesture.md b/docs/api/Nodify_Interactivity_MouseGesture.md new file mode 100644 index 00000000..75df75c5 --- /dev/null +++ b/docs/api/Nodify_Interactivity_MouseGesture.md @@ -0,0 +1,134 @@ +# MouseGesture Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) → [MouseGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseGesture) → [MouseGesture](Nodify_Interactivity_MouseGesture) + +Represents a mouse gesture that optionally includes a specific key press as part of the gesture. + +```csharp +public sealed class MouseGesture : MouseGesture +``` + +## Constructors + +### MouseGesture(MouseAction, ModifierKeys, Key) + +Initializes a new instance of the [MouseGesture](Nodify_Interactivity_MouseGesture) class with the specified mouse action, modifier keys, and a specific key. + +```csharp +public MouseGesture(MouseAction action, ModifierKeys modifiers, Key key); +``` + +**Parameters** + +`action` [MouseAction](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseAction): The action associated with this gesture. + +`modifiers` [ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys): The modifiers associated with this gesture. + +`key` [Key](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.Key): The key required to match the gesture. + +### MouseGesture(MouseAction, Key) + +Initializes a new instance of the [MouseGesture](Nodify_Interactivity_MouseGesture) class with the specified mouse action and key. + +```csharp +public MouseGesture(MouseAction action, Key key); +``` + +**Parameters** + +`action` [MouseAction](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseAction): The action associated with this gesture. + +`key` [Key](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.Key): The key required to match the gesture. + +### MouseGesture(MouseAction, ModifierKeys) + +Initializes a new instance of the [MouseGesture](Nodify_Interactivity_MouseGesture) class with the specified mouse action and modifier keys. + +```csharp +public MouseGesture(MouseAction action, ModifierKeys modifiers); +``` + +**Parameters** + +`action` [MouseAction](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseAction): The action associated with this gesture. + +`modifiers` [ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys): The modifiers required to match the gesture. + +### MouseGesture(MouseAction, ModifierKeys, Boolean) + +```csharp +public MouseGesture(MouseAction action, ModifierKeys modifiers, bool ignoreModifierKeysOnRelease); +``` + +**Parameters** + +`action` [MouseAction](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseAction) + +`modifiers` [ModifierKeys](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ModifierKeys) + +`ignoreModifierKeysOnRelease` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### MouseGesture(MouseAction) + +```csharp +public MouseGesture(MouseAction action); +``` + +**Parameters** + +`action` [MouseAction](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseAction) + +### MouseGesture() + +```csharp +public MouseGesture(); +``` + +## Properties + +### IgnoreModifierKeysOnRelease + +Whether to ignore modifier keys when releasing the mouse button. + +```csharp +public bool IgnoreModifierKeysOnRelease { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### Key + +Gets or sets the key that must be pressed to match this gesture. + +```csharp +public Key Key { get; set; } +``` + +**Property Value** + +[Key](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.Key) + +## Methods + +### Matches(Object, InputEventArgs) + +```csharp +public override bool Matches(object targetElement, InputEventArgs inputEventArgs); +``` + +**Parameters** + +`targetElement` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +`inputEventArgs` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_Interactivity_MultiGesture.md b/docs/api/Nodify_Interactivity_MultiGesture.md new file mode 100644 index 00000000..c53fdb73 --- /dev/null +++ b/docs/api/Nodify_Interactivity_MultiGesture.md @@ -0,0 +1,64 @@ +# MultiGesture Class + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [InputGesture](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture) → [MultiGesture](Nodify_Interactivity_MultiGesture) + +**Derived:** [AllGestures](Nodify_Interactivity_AllGestures), [AnyGesture](Nodify_Interactivity_AnyGesture) + +**References:** [MultiGesture.Match](Nodify_Interactivity_MultiGesture_Match) + +Combines multiple input gestures. + +```csharp +public class MultiGesture : InputGesture +``` + +## Constructors + +### MultiGesture(MultiGesture.Match, InputGesture[]) + +Constructs an instance of a [MultiGesture](Nodify_Interactivity_MultiGesture). + +```csharp +public MultiGesture(Match match, InputGesture[] gestures); +``` + +**Parameters** + +`match` [MultiGesture.Match](Nodify_Interactivity_MultiGesture_Match): The matching strategy. + +`gestures` [InputGesture[]](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputGesture[]): The input gestures. + +## Fields + +### None + +```csharp +public static MultiGesture None; +``` + +**Field Value** + +[MultiGesture](Nodify_Interactivity_MultiGesture) + +## Methods + +### Matches(Object, InputEventArgs) + +```csharp +public override bool Matches(object targetElement, InputEventArgs inputEventArgs); +``` + +**Parameters** + +`targetElement` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +`inputEventArgs` [InputEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.InputEventArgs) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_Interactivity_MultiGesture_Match.md b/docs/api/Nodify_Interactivity_MultiGesture_Match.md new file mode 100644 index 00000000..43b8a3c4 --- /dev/null +++ b/docs/api/Nodify_Interactivity_MultiGesture_Match.md @@ -0,0 +1,26 @@ +# MultiGesture.Match Enum + +**Namespace:** Nodify.Interactivity + +**Assembly:** Nodify + +**References:** [MultiGesture](Nodify_Interactivity_MultiGesture) + +```csharp +public enum Match +``` + +## Fields + +### All + +```csharp +All = 1; +``` + +### Any + +```csharp +Any = 0; +``` + diff --git a/docs/api/Nodify_ItemContainer.md b/docs/api/Nodify_ItemContainer.md new file mode 100644 index 00000000..bb60e78c --- /dev/null +++ b/docs/api/Nodify_ItemContainer.md @@ -0,0 +1,461 @@ +# ItemContainer Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [ItemContainer](Nodify_ItemContainer) + +**Implements:** [INodifyCanvasItem](Nodify_INodifyCanvasItem) + +**References:** [Connector](Nodify_Connector), [ContainerState.Default](Nodify_Interactivity_ContainerState_Default), [EditorCommands](Nodify_EditorCommands), [GroupingNode](Nodify_GroupingNode), [InputProcessor](Nodify_Interactivity_InputProcessor), [ItemsMovedEventArgs](Nodify_Events_ItemsMovedEventArgs), [NodifyEditor](Nodify_NodifyEditor), [PendingConnection](Nodify_PendingConnection), [PreviewLocationChanged](Nodify_Events_PreviewLocationChanged), [SelectionType](Nodify_SelectionType) + +The container for all the items generated by the [ItemsControl.ItemsSource](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ItemsControl#itemssource) of the [NodifyEditor](Nodify_NodifyEditor). + +```csharp +public class ItemContainer : ContentControl, INodifyCanvasItem +``` + +## Constructors + +### ItemContainer(NodifyEditor) + +Constructs an instance of an [ItemContainer](Nodify_ItemContainer) in the specified [NodifyEditor](Nodify_NodifyEditor). + +```csharp +public ItemContainer(NodifyEditor editor); +``` + +**Parameters** + +`editor` [NodifyEditor](Nodify_NodifyEditor) + +## Fields + +### IsPreviewingSelectionPropertyKey + +```csharp +protected static DependencyPropertyKey IsPreviewingSelectionPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +## Properties + +### ActualSize + +Gets the actual size of this [ItemContainer](Nodify_ItemContainer). + +```csharp +public Size ActualSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### DesiredSizeForSelection + +Overrides the size to check against when calculating if this [ItemContainer](Nodify_ItemContainer) can be part of the current [NodifyEditor.SelectedArea](Nodify_NodifyEditor#selectedarea). + Defaults to [UIElement.RenderSize](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement#rendersize). + +```csharp +public Size? DesiredSizeForSelection { get; set; } +``` + +**Property Value** + +[Size?](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1) + +### Editor + +The [NodifyEditor](Nodify_NodifyEditor) that owns this [ItemContainer](Nodify_ItemContainer). + +```csharp +public NodifyEditor Editor { get; set; } +``` + +**Property Value** + +[NodifyEditor](Nodify_NodifyEditor) + +### HasContextMenu + +Gets a value indicating whether the container has a context menu. + +```csharp +public bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasCustomContextMenu + +Gets or sets a value indicating whether the container uses a custom context menu. + +```csharp +public bool HasCustomContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HighlightBrush + +Gets or sets the brush used when the [PendingConnection.IsOverElementProperty](Nodify_PendingConnection#isoverelementproperty) attached property is true for this [ItemContainer](Nodify_ItemContainer). + +```csharp +public Brush HighlightBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### InputProcessor + +```csharp +protected InputProcessor InputProcessor { get; set; } +``` + +**Property Value** + +[InputProcessor](Nodify_Interactivity_InputProcessor) + +### IsDraggable + +Gets or sets whether this [ItemContainer](Nodify_ItemContainer) can be dragged. + +```csharp +public bool IsDraggable { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsPreviewingLocation + +Gets a value indicating whether this [ItemContainer](Nodify_ItemContainer) is previewing a new location but didn't logically move there. + +```csharp +public bool IsPreviewingLocation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsPreviewingSelection + +Gets a value indicating whether this [ItemContainer](Nodify_ItemContainer) is about to change its [ItemContainer.IsSelected](Nodify_ItemContainer#isselected) state. + +```csharp +public Boolean? IsPreviewingSelection { get; set; } +``` + +**Property Value** + +[Boolean?](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1) + +### IsSelectable + +Gets or sets whether this [ItemContainer](Nodify_ItemContainer) can be selected. + +```csharp +public bool IsSelectable { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsSelected + +Gets or sets a value that indicates whether this [ItemContainer](Nodify_ItemContainer) is selected. + Can only be set if [ItemContainer.IsSelectable](Nodify_ItemContainer#isselectable) is true. + +```csharp +public bool IsSelected { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### Location + +Gets or sets the location of this [ItemContainer](Nodify_ItemContainer) inside the [NodifyEditor](Nodify_NodifyEditor) in graph space coordinates. + +```csharp +public virtual Point Location { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### PreserveSelectionOnRightClick + +Indicates whether right-click on the container should preserve the current selection. + +```csharp +public static bool PreserveSelectionOnRightClick { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### SelectedBorderThickness + +Gets or sets the border thickness used when [ItemContainer.IsSelected](Nodify_ItemContainer#isselected) or [ItemContainer.IsPreviewingSelection](Nodify_ItemContainer#ispreviewingselection) is true. + +```csharp +public Thickness SelectedBorderThickness { get; set; } +``` + +**Property Value** + +[Thickness](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Thickness) + +### SelectedBrush + +Gets or sets the brush used when [ItemContainer.IsSelected](Nodify_ItemContainer#isselected) or [ItemContainer.IsPreviewingSelection](Nodify_ItemContainer#ispreviewingselection) is true. + +```csharp +public Brush SelectedBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### SelectedMargin + +The calculated margin when the container is selected or previewing selection. + +```csharp +public Thickness SelectedMargin { get; set; } +``` + +**Property Value** + +[Thickness](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Thickness) + +## Methods + +### BeginDragging() + +```csharp +public void BeginDragging(); +``` + +### CancelDragging() + +```csharp +public void CancelDragging(); +``` + +### EndDragging() + +```csharp +public void EndDragging(); +``` + +### IsSelectableInArea(Rect, Boolean) + +Checks if area contains or intersects with this [ItemContainer](Nodify_ItemContainer) taking into consideration the [ItemContainer.DesiredSizeForSelection](Nodify_ItemContainer#desiredsizeforselection). + +```csharp +public virtual bool IsSelectableInArea(Rect area, bool isContained); +``` + +**Parameters** + +`area` [Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect): The area to check if contains or intersects this [ItemContainer](Nodify_ItemContainer). + +`isContained` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): If true will check if area contains this, otherwise will check if area intersects with this. + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): True if area contains or intersects this [ItemContainer](Nodify_ItemContainer). + +### OnKeyDown(KeyEventArgs) + +```csharp +protected override void OnKeyDown(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnKeyUp(KeyEventArgs) + +```csharp +protected override void OnKeyUp(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnLocationChanged() + +Raises the [ItemContainer.LocationChangedEvent](Nodify_ItemContainer#locationchangedevent) and sets [ItemContainer.IsPreviewingLocation](Nodify_ItemContainer#ispreviewinglocation) to false. + +```csharp +protected void OnLocationChanged(); +``` + +### OnLostMouseCapture(MouseEventArgs) + +```csharp +protected override void OnLostMouseCapture(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + +### OnRenderSizeChanged(SizeChangedInfo) + +```csharp +protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo); +``` + +**Parameters** + +`sizeInfo` [SizeChangedInfo](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.SizeChangedInfo) + +### OnSelectedChanged(Boolean) + +Raises the [ItemContainer.SelectedEvent](Nodify_ItemContainer#selectedevent) or [ItemContainer.UnselectedEvent](Nodify_ItemContainer#unselectedevent) based on newValue. + Called when the [ItemContainer.IsSelected](Nodify_ItemContainer#isselected) value is changed. + +```csharp +protected void OnSelectedChanged(bool newValue); +``` + +**Parameters** + +`newValue` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): True if selected, false otherwise. + +### Select(SelectionType) + +Modifies the selection state of the current item based on the specified selection type. + +```csharp +public void Select(SelectionType type); +``` + +**Parameters** + +`type` [SelectionType](Nodify_SelectionType): The type of selection to perform. + +### UpdateDragging(Vector) + +```csharp +public void UpdateDragging(Vector amount); +``` + +**Parameters** + +`amount` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector) + +## Events + +### LocationChanged + +Occurs when the [ItemContainer.Location](Nodify_ItemContainer#location) of this [ItemContainer](Nodify_ItemContainer) is changed. + +```csharp +public event RoutedEventHandler LocationChanged; +``` + +**Event Type** + +[RoutedEventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventHandler) + +### PreviewLocationChanged + +Occurs when the [ItemContainer](Nodify_ItemContainer) is previewing a new location. + +```csharp +public event PreviewLocationChanged PreviewLocationChanged; +``` + +**Event Type** + +[PreviewLocationChanged](Nodify_Events_PreviewLocationChanged) + +### Selected + +Occurs when this [ItemContainer](Nodify_ItemContainer) is selected. + +```csharp +public event RoutedEventHandler Selected; +``` + +**Event Type** + +[RoutedEventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventHandler) + +### Unselected + +Occurs when this [ItemContainer](Nodify_ItemContainer) is unselected. + +```csharp +public event RoutedEventHandler Unselected; +``` + +**Event Type** + +[RoutedEventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventHandler) + diff --git a/docs/api/Nodify_KnotNode.md b/docs/api/Nodify_KnotNode.md new file mode 100644 index 00000000..b0440b08 --- /dev/null +++ b/docs/api/Nodify_KnotNode.md @@ -0,0 +1,24 @@ +# KnotNode Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [KnotNode](Nodify_KnotNode) + +**References:** [Connector](Nodify_Connector) + +Represents a control that owns a [Connector](Nodify_Connector). + +```csharp +public class KnotNode : ContentControl +``` + +## Constructors + +### KnotNode() + +```csharp +public KnotNode(); +``` + diff --git a/docs/api/Nodify_LineConnection.md b/docs/api/Nodify_LineConnection.md new file mode 100644 index 00000000..cab3328c --- /dev/null +++ b/docs/api/Nodify_LineConnection.md @@ -0,0 +1,170 @@ +# LineConnection Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Shape](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Shapes.Shape) → [BaseConnection](Nodify_BaseConnection) → [LineConnection](Nodify_LineConnection) + +**Derived:** [CircuitConnection](Nodify_CircuitConnection), [StepConnection](Nodify_StepConnection) + +**References:** [ConnectionDirection](Nodify_ConnectionDirection) + +Represents a line that has an arrow indicating its [BaseConnection.Direction](Nodify_BaseConnection#direction). + +```csharp +public class LineConnection : BaseConnection +``` + +## Constructors + +### LineConnection() + +```csharp +public LineConnection(); +``` + +## Properties + +### CornerRadius + +The radius of the corners between the line segments. + +```csharp +public double CornerRadius { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +## Methods + +### AddSmoothCorner(StreamGeometryContext, Point, Point, Point, Double) + +```csharp +protected static void AddSmoothCorner(StreamGeometryContext context, Point start, Point corner, Point end, double radius); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`start` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`corner` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`end` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`radius` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### DrawDefaultArrowhead(StreamGeometryContext, Point, Point, ConnectionDirection, Orientation) + +```csharp +protected override void DrawDefaultArrowhead(StreamGeometryContext context, Point source, Point target, ConnectionDirection arrowDirection = 0, Orientation orientation = 0); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`arrowDirection` [ConnectionDirection](Nodify_ConnectionDirection) + +`orientation` [Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### DrawDirectionalArrowsGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override void DrawDirectionalArrowsGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### DrawLineGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override ValueTuple, ValueTuple> DrawLineGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[ValueTuple\, ValueTuple\\>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### InterpolateLine(Point, Point, Point, Point, Double) + +```csharp +protected static ValueTuple, Point> InterpolateLine(Point p0, Point p1, Point p2, Point p3, double t); +``` + +**Parameters** + +`p0` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`p1` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`p2` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`p3` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`t` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +**Returns** + +[ValueTuple\, Point\>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### InterpolateLine(Point, Point, Point, Double) + +```csharp +protected static ValueTuple, Point> InterpolateLine(Point p0, Point p1, Point p2, double t); +``` + +**Parameters** + +`p0` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`p1` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`p2` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`t` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +**Returns** + +[ValueTuple\, Point\>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### InterpolateLineSegment(Point, Point, Double) + +```csharp +protected static Point InterpolateLineSegment(Point p0, Point p1, double t); +``` + +**Parameters** + +`p0` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`p1` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`t` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + diff --git a/docs/api/Nodify_Minimap.md b/docs/api/Nodify_Minimap.md new file mode 100644 index 00000000..684f5f37 --- /dev/null +++ b/docs/api/Nodify_Minimap.md @@ -0,0 +1,379 @@ +# Minimap Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ItemsControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ItemsControl) → [Minimap](Nodify_Minimap) + +**References:** [InputProcessor](Nodify_Interactivity_InputProcessor), [MinimapItem](Nodify_MinimapItem), [NodifyEditor](Nodify_NodifyEditor), [MinimapState.Panning](Nodify_Interactivity_MinimapState_Panning), [ZoomEventArgs](Nodify_Events_ZoomEventArgs), [ZoomEventHandler](Nodify_Events_ZoomEventHandler), [MinimapState.Zooming](Nodify_Interactivity_MinimapState_Zooming) + +A minimap control that can position the viewport, and zoom in and out. + +```csharp +public class Minimap : ItemsControl +``` + +## Constructors + +### Minimap() + +```csharp +public Minimap(); +``` + +## Properties + +### AllowPanningCancellation + +Gets or sets whether panning cancellation is allowed (see Nodify.Interactivity.EditorGestures.MinimapGestures.CancelAction). + +```csharp +public static bool AllowPanningCancellation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### Extent + +The area covered by the items and the viewport rectangle in graph space. + +```csharp +public Rect Extent { get; set; } +``` + +**Property Value** + +[Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + +### InputProcessor + +```csharp +protected InputProcessor InputProcessor { get; set; } +``` + +**Property Value** + +[InputProcessor](Nodify_Interactivity_InputProcessor) + +### IsPanning + +Whether the user is currently panning the minimap. + +```csharp +protected bool IsPanning { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsReadOnly + +Whether the minimap can move and zoom the viewport. + +```csharp +public bool IsReadOnly { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### ItemsExtent + +The area covered by the [MinimapItem](Nodify_MinimapItem)s in graph space. + +```csharp +public Rect ItemsExtent { get; set; } +``` + +**Property Value** + +[Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + +### ItemsHost + +Gets the panel that holds all the [MinimapItem](Nodify_MinimapItem)s. + +```csharp +protected Panel ItemsHost { get; set; } +``` + +**Property Value** + +[Panel](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Panel) + +### MaxViewportOffset + +The max position from the [NodifyEditor.ItemsExtent](Nodify_NodifyEditor#itemsextent) that the viewport can move to. + +```csharp +public Size MaxViewportOffset { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### MouseLocation + +Gets the current mouse location in graph space coordinates (relative to the [Minimap.ItemsHost](Nodify_Minimap#itemshost)). + +```csharp +public Point MouseLocation { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### ResizeToViewport + +Whether the minimap should resize to also display the whole viewport. + +```csharp +public bool ResizeToViewport { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### ViewportLocation + +```csharp +public Point ViewportLocation { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### ViewportSize + +```csharp +public Size ViewportSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### ViewportStyle + +Gets or sets the style to use for the viewport rectangle. + +```csharp +public Style ViewportStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +## Methods + +### BeginPanning() + +Starts the panning operation from the specified location. Call Nodify.Minimap.EndPanning to end the panning operation. + +```csharp +public void BeginPanning(); +``` + +### BeginPanning(Point) + +```csharp +public void BeginPanning(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### CancelPanning() + +Cancels the current panning operation and reverts the viewport to its initial location if [Minimap.AllowPanningCancellation](Nodify_Minimap#allowpanningcancellation) is true. + Otherwise, it ends the panning operation by calling Nodify.Minimap.EndPanning. + +```csharp +public void CancelPanning(); +``` + +### EndPanning() + +Ends the current panning operation, retaining the current [Minimap.ViewportLocation](Nodify_Minimap#viewportlocation). + +```csharp +public void EndPanning(); +``` + +### GetContainerForItemOverride() + +```csharp +protected override DependencyObject GetContainerForItemOverride(); +``` + +**Returns** + +[DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) + +### GetLocationInsideMinimap(MouseEventArgs) + +Translates the event location to graph space coordinates (relative to the [Minimap.ItemsHost](Nodify_Minimap#itemshost)). + +```csharp +public Point GetLocationInsideMinimap(MouseEventArgs args); +``` + +**Parameters** + +`args` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs): The mouse event. + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): A location inside the minimap + +### IsItemItsOwnContainerOverride(Object) + +```csharp +protected override bool IsItemItsOwnContainerOverride(object item); +``` + +**Parameters** + +`item` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### OnApplyTemplate() + +```csharp +public override void OnApplyTemplate(); +``` + +### OnKeyDown(KeyEventArgs) + +```csharp +protected override void OnKeyDown(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnKeyUp(KeyEventArgs) + +```csharp +protected override void OnKeyUp(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnLostMouseCapture(MouseEventArgs) + +```csharp +protected override void OnLostMouseCapture(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + +### SetViewportLocation(Point) + +```csharp +protected void SetViewportLocation(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### UpdatePanning(Point) + +Sets the viewport location to the specified location. + +```csharp +public void UpdatePanning(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The location to pan the viewport to. + +### ZoomAtPosition(Double, Point) + +Zoom at the specified location in graph space coordinates. + +```csharp +public void ZoomAtPosition(double zoom, Point location); +``` + +**Parameters** + +`zoom` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double): The zoom factor. + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The location to focus when zooming. + +## Events + +### Zoom + +Triggered when zooming in or out using the mouse wheel. + +```csharp +public event ZoomEventHandler Zoom; +``` + +**Event Type** + +[ZoomEventHandler](Nodify_Events_ZoomEventHandler) + diff --git a/docs/api/Nodify_MinimapItem.md b/docs/api/Nodify_MinimapItem.md new file mode 100644 index 00000000..01fd61e9 --- /dev/null +++ b/docs/api/Nodify_MinimapItem.md @@ -0,0 +1,36 @@ +# MinimapItem Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [MinimapItem](Nodify_MinimapItem) + +**References:** [Minimap](Nodify_Minimap) + +```csharp +public class MinimapItem : ContentControl +``` + +## Constructors + +### MinimapItem() + +```csharp +public MinimapItem(); +``` + +## Properties + +### Location + +Gets or sets the location of this [MinimapItem](Nodify_MinimapItem) inside the [Minimap](Nodify_Minimap). + +```csharp +public Point Location { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + diff --git a/docs/api/Nodify_Node.md b/docs/api/Nodify_Node.md new file mode 100644 index 00000000..23e63cd4 --- /dev/null +++ b/docs/api/Nodify_Node.md @@ -0,0 +1,262 @@ +# Node Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [HeaderedContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl) → [Node](Nodify_Node) + +**References:** [Connector](Nodify_Connector), [NodeInput](Nodify_NodeInput), [NodeOutput](Nodify_NodeOutput) + +Represents a control that has a list of [Node.Input](Nodify_Node#input)[Connector](Nodify_Connector)s and a list of [Node.Output](Nodify_Node#output)[Connector](Nodify_Connector)s. + +```csharp +public class Node : HeaderedContentControl +``` + +## Constructors + +### Node() + +```csharp +public Node(); +``` + +## Fields + +### ElementInputItemsControl + +```csharp +protected const string ElementInputItemsControl = "PART_Input"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### ElementOutputItemsControl + +```csharp +protected const string ElementOutputItemsControl = "PART_Output"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### HasFooterPropertyKey + +```csharp +protected static DependencyPropertyKey HasFooterPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +## Properties + +### ContentBrush + +Gets or sets the brush used for the background of the [ContentControl.Content](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl#content) of this [Node](Nodify_Node). + +```csharp +public Brush ContentBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### ContentContainerStyle + +Gets or sets the style for the content container. + +```csharp +public Style ContentContainerStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +### Footer + +Gets or sets the data for the footer of this control. + +```csharp +public object Footer { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### FooterBrush + +Gets or sets the brush used for the background of the [Node.Footer](Nodify_Node#footer) of this [Node](Nodify_Node). + +```csharp +public Brush FooterBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### FooterContainerStyle + +Gets or sets the style for the footer container. + +```csharp +public Style FooterContainerStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +### FooterTemplate + +Gets or sets the template used to display the content of the control's footer. + +```csharp +public DataTemplate FooterTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### HasFooter + +Gets a value that indicates whether the [Node.Footer](Nodify_Node#footer) is . + +```csharp +public bool HasFooter { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HeaderBrush + +Gets or sets the brush used for the background of the [HeaderedContentControl.Header](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl#header) of this [Node](Nodify_Node). + +```csharp +public Brush HeaderBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### HeaderContainerStyle + +Gets or sets the style for the header container. + +```csharp +public Style HeaderContainerStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +### Input + +Gets or sets the data for the input [Connector](Nodify_Connector)s of this control. + +```csharp +public IEnumerable Input { get; set; } +``` + +**Property Value** + +[IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable) + +### InputConnectorTemplate + +Gets or sets the template used to display the content of the control's [Node.Input](Nodify_Node#input) connectors. + +```csharp +public DataTemplate InputConnectorTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### InputGroupStyle + +```csharp +public ObservableCollection InputGroupStyle { get; set; } +``` + +**Property Value** + +[ObservableCollection\](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.ObjectModel.ObservableCollection-1) + +### InputItemsControl + +```csharp +protected ItemsControl InputItemsControl { get; set; } +``` + +**Property Value** + +[ItemsControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ItemsControl) + +### Output + +Gets or sets the data for the output [Connector](Nodify_Connector)s of this control. + +```csharp +public IEnumerable Output { get; set; } +``` + +**Property Value** + +[IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable) + +### OutputConnectorTemplate + +Gets or sets the template used to display the content of the control's [Node.Output](Nodify_Node#output) connectors. + +```csharp +public DataTemplate OutputConnectorTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### OutputGroupStyle + +```csharp +public ObservableCollection OutputGroupStyle { get; set; } +``` + +**Property Value** + +[ObservableCollection\](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.ObjectModel.ObservableCollection-1) + +### OutputItemsControl + +```csharp +protected ItemsControl OutputItemsControl { get; set; } +``` + +**Property Value** + +[ItemsControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ItemsControl) + +## Methods + +### OnApplyTemplate() + +```csharp +public override void OnApplyTemplate(); +``` + diff --git a/docs/api/Nodify_NodeInput.md b/docs/api/Nodify_NodeInput.md new file mode 100644 index 00000000..e2ec7122 --- /dev/null +++ b/docs/api/Nodify_NodeInput.md @@ -0,0 +1,72 @@ +# NodeInput Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [Connector](Nodify_Connector) → [NodeInput](Nodify_NodeInput) + +**References:** [Node](Nodify_Node) + +Represents the default control for the [Node.InputConnectorTemplate](Nodify_Node#inputconnectortemplate). + +```csharp +public class NodeInput : Connector +``` + +## Constructors + +### NodeInput() + +```csharp +public NodeInput(); +``` + +## Properties + +### ConnectorTemplate + +Gets or sets the template used to display the connecting point of this [Connector](Nodify_Connector). + +```csharp +public ControlTemplate ConnectorTemplate { get; set; } +``` + +**Property Value** + +[ControlTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ControlTemplate) + +### Header + +Gets of sets the data used for the control's header. + +```csharp +public object Header { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### HeaderTemplate + +Gets or sets the template used to display the content of the control's header. + +```csharp +public DataTemplate HeaderTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### Orientation + +```csharp +public Orientation Orientation { get; set; } +``` + +**Property Value** + +[Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + diff --git a/docs/api/Nodify_NodeOutput.md b/docs/api/Nodify_NodeOutput.md new file mode 100644 index 00000000..5e8f7765 --- /dev/null +++ b/docs/api/Nodify_NodeOutput.md @@ -0,0 +1,72 @@ +# NodeOutput Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [Connector](Nodify_Connector) → [NodeOutput](Nodify_NodeOutput) + +**References:** [Node](Nodify_Node) + +Represents the default control for the [Node.OutputConnectorTemplate](Nodify_Node#outputconnectortemplate). + +```csharp +public class NodeOutput : Connector +``` + +## Constructors + +### NodeOutput() + +```csharp +public NodeOutput(); +``` + +## Properties + +### ConnectorTemplate + +Gets or sets the template used to display the connecting point of this [Connector](Nodify_Connector). + +```csharp +public ControlTemplate ConnectorTemplate { get; set; } +``` + +**Property Value** + +[ControlTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ControlTemplate) + +### Header + +Gets of sets the data used for the control's header. + +```csharp +public object Header { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### HeaderTemplate + +Gets or sets the template used to display the content of the control's header. + +```csharp +public DataTemplate HeaderTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### Orientation + +```csharp +public Orientation Orientation { get; set; } +``` + +**Property Value** + +[Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + diff --git a/docs/api/Nodify_NodifyCanvas.md b/docs/api/Nodify_NodifyCanvas.md new file mode 100644 index 00000000..d281344d --- /dev/null +++ b/docs/api/Nodify_NodifyCanvas.md @@ -0,0 +1,68 @@ +# NodifyCanvas Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Panel](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Panel) → [NodifyCanvas](Nodify_NodifyCanvas) + +**References:** [INodifyCanvasItem](Nodify_INodifyCanvasItem) + +A canvas like panel that works with [INodifyCanvasItem](Nodify_INodifyCanvasItem)s. + +```csharp +public class NodifyCanvas : Panel +``` + +## Constructors + +### NodifyCanvas() + +```csharp +public NodifyCanvas(); +``` + +## Properties + +### Extent + +The area covered by the children of this panel. + +```csharp +public Rect Extent { get; set; } +``` + +**Property Value** + +[Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + +## Methods + +### ArrangeOverride(Size) + +```csharp +protected override Size ArrangeOverride(Size arrangeSize); +``` + +**Parameters** + +`arrangeSize` [Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +**Returns** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### MeasureOverride(Size) + +```csharp +protected override Size MeasureOverride(Size constraint); +``` + +**Parameters** + +`constraint` [Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +**Returns** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + diff --git a/docs/api/Nodify_NodifyEditor.md b/docs/api/Nodify_NodifyEditor.md new file mode 100644 index 00000000..410f6049 --- /dev/null +++ b/docs/api/Nodify_NodifyEditor.md @@ -0,0 +1,1779 @@ +# NodifyEditor Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ItemsControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ItemsControl) → [Selector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Primitives.Selector) → [MultiSelector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Primitives.MultiSelector) → [NodifyEditor](Nodify_NodifyEditor) + +**Implements:** [IScrollInfo](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Primitives.IScrollInfo) + +**References:** [Alignment](Nodify_Alignment), [BaseConnection](Nodify_BaseConnection), [Connection](Nodify_Connection), [Connector](Nodify_Connector), [EditorState.Cutting](Nodify_Interactivity_EditorState_Cutting), [CuttingLine](Nodify_CuttingLine), [DecoratorContainer](Nodify_DecoratorContainer), [EditorCommands](Nodify_EditorCommands), [EditorGestures](Nodify_Interactivity_EditorGestures), [GroupingNode](Nodify_GroupingNode), [InputProcessor](Nodify_Interactivity_InputProcessor), [ItemContainer](Nodify_ItemContainer), [ItemsMovedEventArgs](Nodify_Events_ItemsMovedEventArgs), [ItemsMovedEventHandler](Nodify_Events_ItemsMovedEventHandler), [Minimap](Nodify_Minimap), [EditorState.Panning](Nodify_Interactivity_EditorState_Panning), [EditorState.PanningWithMouseWheel](Nodify_Interactivity_EditorState_PanningWithMouseWheel), [PendingConnection](Nodify_PendingConnection), [EditorState.PushingItems](Nodify_Interactivity_EditorState_PushingItems), [EditorState.Selecting](Nodify_Interactivity_EditorState_Selecting), [SelectionType](Nodify_SelectionType), [EditorState.Zooming](Nodify_Interactivity_EditorState_Zooming) + +Groups [ItemContainer](Nodify_ItemContainer)s and [Connection](Nodify_Connection)s in an area that you can drag, zoom and select. + +```csharp +public class NodifyEditor : MultiSelector, IScrollInfo +``` + +## Constructors + +### NodifyEditor() + +Initializes a new instance of the [NodifyEditor](Nodify_NodifyEditor) class. + +```csharp +public NodifyEditor(); +``` + +## Fields + +### CuttingConnectionTypes + +The list of supported connection types for cutting. Type must be derived from [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement). + +```csharp +public static HashSet CuttingConnectionTypes; +``` + +**Field Value** + +[HashSet\](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.HashSet-1) + +### CuttingLineEndPropertyKey + +```csharp +protected static DependencyPropertyKey CuttingLineEndPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### CuttingLineStartPropertyKey + +```csharp +protected static DependencyPropertyKey CuttingLineStartPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### ElementConnectionsHost + +```csharp +protected const string ElementConnectionsHost = "PART_ConnectionsHost"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### ElementItemsHost + +```csharp +protected const string ElementItemsHost = "PART_ItemsHost"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +### IsCuttingPropertyKey + +```csharp +protected static DependencyPropertyKey IsCuttingPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### IsDraggingPropertyKey + +```csharp +protected static DependencyPropertyKey IsDraggingPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### IsPanningPropertyKey + +```csharp +protected static DependencyPropertyKey IsPanningPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### IsPushingItemsPropertyKey + +```csharp +protected static DependencyPropertyKey IsPushingItemsPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### IsSelectingPropertyKey + +```csharp +protected static DependencyPropertyKey IsSelectingPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### PushedAreaOrientationPropertyKey + +```csharp +protected static DependencyPropertyKey PushedAreaOrientationPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### PushedAreaPropertyKey + +```csharp +protected static DependencyPropertyKey PushedAreaPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### ScaleTransform + +Gets the transform used to zoom on the viewport. + +```csharp +protected readonly ScaleTransform ScaleTransform; +``` + +**Field Value** + +[ScaleTransform](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.ScaleTransform) + +### SelectedAreaPropertyKey + +```csharp +protected static DependencyPropertyKey SelectedAreaPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +### TranslateTransform + +Gets the transform used to offset the viewport. + +```csharp +protected readonly TranslateTransform TranslateTransform; +``` + +**Field Value** + +[TranslateTransform](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.TranslateTransform) + +### ViewportTransformPropertyKey + +```csharp +protected static DependencyPropertyKey ViewportTransformPropertyKey; +``` + +**Field Value** + +[DependencyPropertyKey](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyPropertyKey) + +## Properties + +### AllowCuttingCancellation + +Gets or sets whether cancelling a cutting operation is allowed (see Nodify.Interactivity.EditorGestures.NodifyEditorGestures.CancelAction). + +```csharp +public static bool AllowCuttingCancellation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowDraggingCancellation + +Gets or sets whether cancelling a dragging operation is allowed. + +```csharp +public static bool AllowDraggingCancellation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowPanningCancellation + +Gets or sets whether panning cancellation is allowed (see Nodify.Interactivity.EditorGestures.NodifyEditorGestures.CancelAction). + +```csharp +public static bool AllowPanningCancellation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowPushItemsCancellation + +Gets or sets whether push items cancellation is allowed (see Nodify.Interactivity.EditorGestures.NodifyEditorGestures.CancelAction). + +```csharp +public static bool AllowPushItemsCancellation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AllowSelectionCancellation + +Gets or sets whether cancelling a selection operation is allowed (see Nodify.Interactivity.EditorGestures.SelectionGestures.Cancel). + +```csharp +public static bool AllowSelectionCancellation { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### AutoPanEdgeDistance + +Gets or sets the maximum distance in pixels from the edge of the editor that will trigger auto-panning. + +```csharp +public double AutoPanEdgeDistance { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### AutoPanningTickRate + +Gets or sets how often the new [NodifyEditor.ViewportLocation](Nodify_NodifyEditor#viewportlocation) is calculated in milliseconds when [NodifyEditor.DisableAutoPanning](Nodify_NodifyEditor#disableautopanning) is false. + +```csharp +public static double AutoPanningTickRate { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### AutoPanSpeed + +Gets or sets the speed used when auto-panning scaled by [NodifyEditor.AutoPanningTickRate](Nodify_NodifyEditor#autopanningtickrate) + +```csharp +public double AutoPanSpeed { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### BringIntoViewMaxDuration + +Gets or sets the maximum animation duration in seconds for bringing a location into view. + +```csharp +public double BringIntoViewMaxDuration { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### BringIntoViewSpeed + +Gets or sets the animation speed in pixels per second for bringing a location into view. + +```csharp +public double BringIntoViewSpeed { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### CanSelectMultipleConnections + +Gets or sets whether multiple connections can be selected. + +```csharp +public bool CanSelectMultipleConnections { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CanSelectMultipleItems + +Gets or sets whether multiple [ItemContainer](Nodify_ItemContainer)s can be selected. + +```csharp +public bool CanSelectMultipleItems { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### ConnectionCompletedCommand + +Invoked when the [PendingConnection](Nodify_PendingConnection) is completed. + Use [PendingConnection.CompletedCommand](Nodify_PendingConnection#completedcommand) if you want to control the visibility of the connection from the viewmodel. + Parameter is System.Tuple`2 where System.Tuple`2.Item1 is the [PendingConnection.Source](Nodify_PendingConnection#source) and System.Tuple`2.Item2 is [PendingConnection.Target](Nodify_PendingConnection#target). + +```csharp +public ICommand ConnectionCompletedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### Connections + +Gets or sets the data source that [BaseConnection](Nodify_BaseConnection)s will be generated for. + +```csharp +public IEnumerable Connections { get; set; } +``` + +**Property Value** + +[IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable) + +### ConnectionStartedCommand + +Invoked when the [PendingConnection](Nodify_PendingConnection) is completed. + Use [PendingConnection.StartedCommand](Nodify_PendingConnection#startedcommand) if you want to control the visibility of the connection from the viewmodel. + Parameter is [PendingConnection.Source](Nodify_PendingConnection#source). + +```csharp +public ICommand ConnectionStartedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### ConnectionTemplate + +Gets or sets the [DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) to use when generating a new [BaseConnection](Nodify_BaseConnection). + +```csharp +public DataTemplate ConnectionTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### CuttingCompletedCommand + +Invoked when a cutting operation is completed. + +```csharp +public ICommand CuttingCompletedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### CuttingLineEnd + +Gets the end point of the [CuttingLine](Nodify_CuttingLine) while [NodifyEditor.IsCutting](Nodify_NodifyEditor#iscutting) is true. + +```csharp +public Point CuttingLineEnd { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### CuttingLineStart + +Gets the start point of the [CuttingLine](Nodify_CuttingLine) while [NodifyEditor.IsCutting](Nodify_NodifyEditor#iscutting) is true. + +```csharp +public Point CuttingLineStart { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### CuttingLineStyle + +Gets or sets the style to use for the cutting line. + +```csharp +public Style CuttingLineStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +### CuttingStartedCommand + +Invoked when a cutting operation is started. + +```csharp +public ICommand CuttingStartedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### DecoratorContainerStyle + +Gets or sets the style to use for the [DecoratorContainer](Nodify_DecoratorContainer). + +```csharp +public Style DecoratorContainerStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +### Decorators + +Gets or sets the items that will be rendered in the decorators layer via [DecoratorContainer](Nodify_DecoratorContainer)s. + +```csharp +public IEnumerable Decorators { get; set; } +``` + +**Property Value** + +[IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable) + +### DecoratorsExtent + +The area covered by the [DecoratorContainer](Nodify_DecoratorContainer)s. + +```csharp +public Rect DecoratorsExtent { get; set; } +``` + +**Property Value** + +[Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + +### DecoratorTemplate + +Gets or sets the [DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) to use when generating a new [DecoratorContainer](Nodify_DecoratorContainer). + +```csharp +public DataTemplate DecoratorTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.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](Nodify_NodifyEditor#autopanedgedistance). + +```csharp +public bool DisableAutoPanning { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### DisablePanning + +Gets or sets whether panning should be disabled. + +```csharp +public bool DisablePanning { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### DisableZooming + +Gets or sets whether zooming should be disabled. + +```csharp +public bool DisableZooming { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### DisconnectConnectorCommand + +Invoked when the [Connector.Disconnect](Nodify_Connector#disconnect) event is raised. + Can also be handled at the [Connector](Nodify_Connector) level using the [Connector.DisconnectCommand](Nodify_Connector#disconnectcommand) command. + Parameter is the [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext). + +```csharp +public ICommand DisconnectConnectorCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### DisplayConnectionsOnTop + +Gets or sets whether to display connections on top of [ItemContainer](Nodify_ItemContainer)s or not. + +```csharp +public bool DisplayConnectionsOnTop { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableCuttingLinePreview + +Gets or sets whether the cutting line should apply the preview style to the interesected elements. + +```csharp +public static bool EnableCuttingLinePreview { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableDraggingContainersOptimizations + +Gets or sets if the current position of containers that are being dragged should not be committed until the end of the dragging operation. + +```csharp +public static bool EnableDraggingContainersOptimizations { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableRealtimeSelection + +Enables selecting and deselecting items while the [NodifyEditor.SelectedArea](Nodify_NodifyEditor#selectedarea) changes. + Disable for maximum performance when hundreds of items are generated. + +```csharp +public bool EnableRealtimeSelection { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableRenderingContainersOptimizations + +Gets or sets if [NodifyEditor](Nodify_NodifyEditor)s should enable optimizations based on [NodifyEditor.OptimizeRenderingMinimumContainers](Nodify_NodifyEditor#optimizerenderingminimumcontainers) and [NodifyEditor.OptimizeRenderingZoomOutPercent](Nodify_NodifyEditor#optimizerenderingzoomoutpercent). + +```csharp +public static bool EnableRenderingContainersOptimizations { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableSnappingCorrection + +Correct [ItemContainer](Nodify_ItemContainer)'s position after moving if starting position is not snapped to grid. + +```csharp +public static bool EnableSnappingCorrection { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### FitToScreenExtentMargin + +Gets or sets the margin to add in all directions to the [NodifyEditor.ItemsExtent](Nodify_NodifyEditor#itemsextent) or area parameter when using Nodify.NodifyEditor.FitToScreen(System.Nullable{System.Windows.Rect}). + +```csharp +public static double FitToScreenExtentMargin { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### GridCellSize + +Gets or sets the value of an invisible grid used to adjust locations (snapping) of [ItemContainer](Nodify_ItemContainer)s. + +```csharp +public uint GridCellSize { get; set; } +``` + +**Property Value** + +[UInt32](https://docs.microsoft.com/en-us/dotnet/api/System.UInt32) + +### HasContextMenu + +Gets a value indicating whether the editor has a context menu. + +```csharp +public bool HasContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### HasCustomContextMenu + +Gets or sets a value indicating whether the editor uses a custom context menu. + +```csharp +public bool HasCustomContextMenu { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### InputProcessor + +```csharp +protected InputProcessor InputProcessor { get; set; } +``` + +**Property Value** + +[InputProcessor](Nodify_Interactivity_InputProcessor) + +### IsBulkUpdatingItems + +Tells if the [NodifyEditor](Nodify_NodifyEditor) is doing operations on multiple items at once. + +```csharp +public bool IsBulkUpdatingItems { get; protected set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsCutting + +Gets a value that indicates whether a cutting operation is in progress. + +```csharp +public bool IsCutting { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsDragging + +Gets a value that indicates whether a dragging operation is in progress. + +```csharp +public bool IsDragging { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsPanning + +Gets a value that indicates whether a panning operation is in progress. + +```csharp +public bool IsPanning { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsPushingItems + +Gets a value that indicates whether a pushing operation is in progress. + +```csharp +public bool IsPushingItems { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsSelecting + +Gets a value that indicates whether a selection operation is in progress. + +```csharp +public bool IsSelecting { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### ItemsDragCompletedCommand + +Invoked when a drag operation is completed for the [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers), or when [NodifyEditor.IsPushingItems](Nodify_NodifyEditor#ispushingitems) is set to false. + +```csharp +public ICommand ItemsDragCompletedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### ItemsDragStartedCommand + +Invoked when a drag operation starts for the [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers), or when [NodifyEditor.IsPushingItems](Nodify_NodifyEditor#ispushingitems) is set to true. + +```csharp +public ICommand ItemsDragStartedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### ItemsExtent + +The area covered by the [ItemContainer](Nodify_ItemContainer)s. + +```csharp +public Rect ItemsExtent { get; set; } +``` + +**Property Value** + +[Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + +### ItemsSelectCompletedCommand + +Invoked when a selection operation is completed (see Nodify.NodifyEditor.EndSelecting). + +```csharp +public ICommand ItemsSelectCompletedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### ItemsSelectStartedCommand + +Invoked when a selection operation is started (see Nodify.NodifyEditor.BeginSelecting(Nodify.SelectionType)). + +```csharp +public ICommand ItemsSelectStartedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### MaxViewportZoom + +Gets or sets the maximum zoom factor of the viewport + +```csharp +public double MaxViewportZoom { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### MinViewportZoom + +Gets or sets the minimum zoom factor of the viewport + +```csharp +public double MinViewportZoom { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### MouseActionSuppressionThreshold + +Gets or sets the maximum distance, in pixels, that the mouse can move before suppressing certain mouse actions. + This is useful for suppressing actions like showing a System.Windows.Controls.ContextMenu if the mouse has moved significantly. + +```csharp +public static double MouseActionSuppressionThreshold { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### MouseLocation + +Gets the current mouse location in graph space coordinates (relative to the [NodifyEditor.ItemsHost](Nodify_NodifyEditor#itemshost)). + +```csharp +public Point MouseLocation { get; protected set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### OptimizeRenderingMinimumContainers + +Gets or sets the minimum number of [ItemContainer](Nodify_ItemContainer)s needed to trigger optimizations when reaching the [NodifyEditor.OptimizeRenderingZoomOutPercent](Nodify_NodifyEditor#optimizerenderingzoomoutpercent). + +```csharp +public static uint OptimizeRenderingMinimumContainers { get; set; } +``` + +**Property Value** + +[UInt32](https://docs.microsoft.com/en-us/dotnet/api/System.UInt32) + +### OptimizeRenderingZoomOutPercent + +Gets or sets the minimum zoom out percent needed to start optimizing the rendering for [ItemContainer](Nodify_ItemContainer)s. + Value is between 0 and 1. + +```csharp +public static double OptimizeRenderingZoomOutPercent { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### PendingConnection + +Gets of sets the [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) of the [PendingConnection](Nodify_PendingConnection). + +```csharp +public object PendingConnection { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### PendingConnectionTemplate + +Gets or sets the [DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) to use for the [NodifyEditor.PendingConnection](Nodify_NodifyEditor#pendingconnection). + +```csharp +public DataTemplate PendingConnectionTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### PushedArea + +Gets the currently pushed area while [NodifyEditor.IsPushingItems](Nodify_NodifyEditor#ispushingitems) is true. + +```csharp +public Rect PushedArea { get; set; } +``` + +**Property Value** + +[Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + +### PushedAreaOrientation + +Gets the orientation of the [NodifyEditor.PushedArea](Nodify_NodifyEditor#pushedarea). + +```csharp +public Orientation PushedAreaOrientation { get; set; } +``` + +**Property Value** + +[Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation) + +### PushedAreaStyle + +Gets or sets the style to use for the pushed area. + +```csharp +public Style PushedAreaStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +### RemoveConnectionCommand + +Invoked when the [BaseConnection.Disconnect](Nodify_BaseConnection#disconnect) event is raised. + Can also be handled at the [BaseConnection](Nodify_BaseConnection) level using the [BaseConnection.DisconnectCommand](Nodify_BaseConnection#disconnectcommand) command. + Parameter is the [BaseConnection](Nodify_BaseConnection)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext). + +```csharp +public ICommand RemoveConnectionCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### ScrollIncrement + +The number of units the mouse wheel is rotated to scroll one line. + +```csharp +public static double ScrollIncrement { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### SelectedArea + +Gets the currently selected area while [NodifyEditor.IsSelecting](Nodify_NodifyEditor#isselecting) is true. + +```csharp +public Rect SelectedArea { get; set; } +``` + +**Property Value** + +[Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect) + +### SelectedConnection + +Gets or sets the selected connection. + +```csharp +public object SelectedConnection { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### SelectedConnections + +Gets or sets the selected connections in the [NodifyEditor](Nodify_NodifyEditor). + +```csharp +public IList SelectedConnections { get; set; } +``` + +**Property Value** + +[IList](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IList) + +### SelectedContainersCount + +Gets the number of selected containers, without allocating (see [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers)). + +```csharp +public int SelectedContainersCount { get; set; } +``` + +**Property Value** + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32) + +### SelectedItems + +Gets or sets the selected items in the [NodifyEditor](Nodify_NodifyEditor). + +```csharp +public IList SelectedItems { get; set; } +``` + +**Property Value** + +[IList](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IList) + +### SelectionRectangleStyle + +Gets or sets the style to use for the selection rectangle. + +```csharp +public Style SelectionRectangleStyle { get; set; } +``` + +**Property Value** + +[Style](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Style) + +### ViewportLocation + +Gets or sets the viewport's top-left coordinates in graph space coordinates. + +```csharp +public Point ViewportLocation { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### ViewportSize + +Gets the size of the viewport in graph space (scaled by the [NodifyEditor.ViewportZoom](Nodify_NodifyEditor#viewportzoom)). + +```csharp +public Size ViewportSize { get; set; } +``` + +**Property Value** + +[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size) + +### ViewportTransform + +Gets the transform that is applied to all child controls. + +```csharp +public Transform ViewportTransform { get; set; } +``` + +**Property Value** + +[Transform](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Transform) + +### ViewportZoom + +Gets or sets the zoom factor of the viewport. + +```csharp +public double ViewportZoom { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +## Methods + +### AlignContainers(IEnumerable\, Alignment, ItemContainer) + +Aligns a collection of containers based on the specified alignment. + +```csharp +public void AlignContainers(IEnumerable containers, Alignment alignment, ItemContainer relativeTo = null); +``` + +**Parameters** + +`containers` [IEnumerable\](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1): The collection of item containers to align. + +`alignment` [Alignment](Nodify_Alignment): The alignment type to apply to the containers. + +`relativeTo` [ItemContainer](Nodify_ItemContainer): An optional container to use as a reference for alignment. If null, the alignment is based on the containers themselves. + +### AlignSelection(Alignment, ItemContainer) + +Aligns the selected containers based on the specified alignment. + +```csharp +public void AlignSelection(Alignment alignment, ItemContainer relativeTo = null); +``` + +**Parameters** + +`alignment` [Alignment](Nodify_Alignment): The alignment type to apply to the selected containers. + +`relativeTo` [ItemContainer](Nodify_ItemContainer): An optional container to use as a reference for alignment. If null, the alignment is based on the containers themselves. + +### BeginCutting() + +Starts the cutting operation at the specified location. Call Nodify.NodifyEditor.EndCutting to complete the operation or Nodify.NodifyEditor.CancelCutting to abort it. + +```csharp +public void BeginCutting(); +``` + +### BeginCutting(Point) + +```csharp +public void BeginCutting(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### BeginDragging() + +Initiates the dragging operation for the specified [ItemContainer](Nodify_ItemContainer)s. Call Nodify.NodifyEditor.EndDragging to complete the operation or Nodify.NodifyEditor.CancelDragging to abort it. + +```csharp +public void BeginDragging(); +``` + +### BeginDragging(IEnumerable\) + +```csharp +public void BeginDragging(IEnumerable containers); +``` + +**Parameters** + +`containers` [IEnumerable\](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1) + +### BeginPanning(Point) + +Starts the panning operation from the specified location. Call Nodify.NodifyEditor.EndPanning to end the panning operation. + +```csharp +public void BeginPanning(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The initial location where panning starts, in graph space coordinates. + +### BeginPanning() + +Starts the panning operation from the current [NodifyEditor.ViewportLocation](Nodify_NodifyEditor#viewportlocation). + +```csharp +public void BeginPanning(); +``` + +### BeginPushingItems(Point, Orientation) + +Starts the pushing items operation at the specified location with the specified orientation. + +```csharp +public void BeginPushingItems(Point location, Orientation orientation); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The starting location for pushing items, in graph space coordinates. + +`orientation` [Orientation](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Orientation): The orientation of the [NodifyEditor.PushedArea](Nodify_NodifyEditor#pushedarea). + +### BeginSelecting(SelectionType) + +Initiates a selection operation from the specified location. + +```csharp +public void BeginSelecting(SelectionType type = 0); +``` + +**Parameters** + +`type` [SelectionType](Nodify_SelectionType): The type of selection to perform. Defaults to [SelectionType.Replace](Nodify_SelectionType#replace). + +### BeginSelecting(Point, SelectionType) + +```csharp +public void BeginSelecting(Point location, SelectionType type = 0); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`type` [SelectionType](Nodify_SelectionType) + +### BringIntoView(Point, Boolean, Action) + +Moves the viewport center at the specified location. + +```csharp +public void BringIntoView(Point point, bool animated = true, Action onFinish = null); +``` + +**Parameters** + +`point` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The location in graph space coordinates. + +`animated` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): True to animate the movement. + +`onFinish` [Action](https://docs.microsoft.com/en-us/dotnet/api/System.Action): The callback invoked when movement is finished. + +### BringIntoView(Rect) + +Moves the viewport center at the center of the specified area. + +```csharp +public void BringIntoView(Rect area); +``` + +**Parameters** + +`area` [Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect): The location in graph space coordinates. + +### CancelCutting() + +Cancels the current cutting operation without applying any changes if [NodifyEditor.AllowCuttingCancellation](Nodify_NodifyEditor#allowcuttingcancellation) is true. + Otherwise, it ends the cutting operation by calling Nodify.NodifyEditor.EndCutting. + +```csharp +public void CancelCutting(); +``` + +### CancelDragging() + +Cancels the ongoing dragging operation, reverting any changes made to the positions of the dragged items if [NodifyEditor.AllowDraggingCancellation](Nodify_NodifyEditor#allowdraggingcancellation) is true. + Otherwise, it ends the dragging operation by calling Nodify.NodifyEditor.EndDragging. + +```csharp +public void CancelDragging(); +``` + +### CancelPanning() + +Cancels the current panning operation and reverts the viewport to its initial location if [NodifyEditor.AllowPanningCancellation](Nodify_NodifyEditor#allowpanningcancellation) is true. + Otherwise, it ends the panning operation by calling Nodify.NodifyEditor.EndPanning. + +```csharp +public void CancelPanning(); +``` + +### CancelPushingItems() + +Cancels the current pushing operation and reverts the [NodifyEditor.PushedArea](Nodify_NodifyEditor#pushedarea) to its initial state if [NodifyEditor.AllowPushItemsCancellation](Nodify_NodifyEditor#allowpushitemscancellation) is true. + Otherwise, it ends the pushing operation by calling Nodify.NodifyEditor.EndPushingItems. + +```csharp +public void CancelPushingItems(); +``` + +### CancelSelecting() + +Cancels the current selection operation and reverts any changes made during the selection process if [NodifyEditor.AllowSelectionCancellation](Nodify_NodifyEditor#allowselectioncancellation) is true. + Otherwise, it ends the selection operation by calling Nodify.NodifyEditor.EndSelecting. + +```csharp +public void CancelSelecting(); +``` + +### EndCutting() + +Completes the cutting operation and applies the changes. + +```csharp +public void EndCutting(); +``` + +### EndDragging() + +Completes the dragging operation, finalizing the position of the dragged items. Raises the [NodifyEditor.ItemsMoved](Nodify_NodifyEditor#itemsmoved) event. + +```csharp +public void EndDragging(); +``` + +### EndPanning() + +Ends the current panning operation, retaining the current [NodifyEditor.ViewportLocation](Nodify_NodifyEditor#viewportlocation). + +```csharp +public void EndPanning(); +``` + +### EndPushingItems() + +Ends the current pushing operation and finalizes the pushed area state. + +```csharp +public void EndPushingItems(); +``` + +### EndSelecting() + +Completes the selection operation and applies any pending changes. + +```csharp +public void EndSelecting(); +``` + +### FitToScreen(Rect?) + +Scales the viewport to fit the specified area or all the [ItemContainer](Nodify_ItemContainer)s if that's possible. + +```csharp +public void FitToScreen(Rect? area = null); +``` + +**Parameters** + +`area` [Rect?](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1) + +### GetContainerForItemOverride() + +```csharp +protected override DependencyObject GetContainerForItemOverride(); +``` + +**Returns** + +[DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) + +### GetLocationInsideEditor(Point, UIElement) + +Translates the specified location to graph space coordinates (relative to the [NodifyEditor.ItemsHost](Nodify_NodifyEditor#itemshost)). + +```csharp +public Point GetLocationInsideEditor(Point location, UIElement relativeTo); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The location coordinates relative to relativeTo + +`relativeTo` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement): The element where the location was calculated from. + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): A location inside the graph. + +### GetLocationInsideEditor(DragEventArgs) + +Translates the event location to graph space coordinates (relative to the [NodifyEditor.ItemsHost](Nodify_NodifyEditor#itemshost)). + +```csharp +public Point GetLocationInsideEditor(DragEventArgs args); +``` + +**Parameters** + +`args` [DragEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DragEventArgs): The drag event. + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): A location inside the graph + +### GetLocationInsideEditor(MouseEventArgs) + +Translates the event location to graph space coordinates (relative to the [NodifyEditor.ItemsHost](Nodify_NodifyEditor#itemshost)). + +```csharp +public Point GetLocationInsideEditor(MouseEventArgs args); +``` + +**Parameters** + +`args` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs): The mouse event. + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): A location inside the graph + +### InvertSelection(Rect, Boolean) + +Inverts the [ItemContainer](Nodify_ItemContainer)s selection in the specified area. + +```csharp +public void InvertSelection(Rect area, bool fit = false); +``` + +**Parameters** + +`area` [Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect): The area to look for [ItemContainer](Nodify_ItemContainer)s. + +`fit` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): True to check if the area contains the [ItemContainer](Nodify_ItemContainer). False to check if area intersects the [ItemContainer](Nodify_ItemContainer). + +### IsItemItsOwnContainerOverride(Object) + +```csharp +protected override bool IsItemItsOwnContainerOverride(object item); +``` + +**Parameters** + +`item` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### LockSelection() + +Locks the position of the [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers). + +```csharp +public void LockSelection(); +``` + +### OnApplyTemplate() + +```csharp +public override void OnApplyTemplate(); +``` + +### OnKeyDown(KeyEventArgs) + +```csharp +protected override void OnKeyDown(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnKeyUp(KeyEventArgs) + +```csharp +protected override void OnKeyUp(KeyEventArgs e); +``` + +**Parameters** + +`e` [KeyEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.KeyEventArgs) + +### OnLostMouseCapture(MouseEventArgs) + +```csharp +protected override void OnLostMouseCapture(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseMove(MouseEventArgs) + +```csharp +protected override void OnMouseMove(MouseEventArgs e); +``` + +**Parameters** + +`e` [MouseEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseWheel(MouseWheelEventArgs) + +```csharp +protected override void OnMouseWheel(MouseWheelEventArgs e); +``` + +**Parameters** + +`e` [MouseWheelEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseWheelEventArgs) + +### OnRemoveConnection(Object) + +```csharp +protected void OnRemoveConnection(object dataContext); +``` + +**Parameters** + +`dataContext` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### OnRenderSizeChanged(SizeChangedInfo) + +```csharp +protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo); +``` + +**Parameters** + +`sizeInfo` [SizeChangedInfo](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.SizeChangedInfo) + +### OnSelectionChanged(SelectionChangedEventArgs) + +```csharp +protected override void OnSelectionChanged(SelectionChangedEventArgs e); +``` + +**Parameters** + +`e` [SelectionChangedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.SelectionChangedEventArgs) + +### OnViewportUpdated() + +Updates the [NodifyEditor.ViewportSize](Nodify_NodifyEditor#viewportsize) and raises the [NodifyEditor.ViewportUpdatedEvent](Nodify_NodifyEditor#viewportupdatedevent). + Called when the [UIElement.RenderSize](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement#rendersize) or [NodifyEditor.ViewportZoom](Nodify_NodifyEditor#viewportzoom) is changed. + +```csharp +protected void OnViewportUpdated(); +``` + +### Select(ItemContainer) + +Clears the current selection and selects the specified [ItemContainer](Nodify_ItemContainer) within the same selection transaction. + +```csharp +public void Select(ItemContainer container); +``` + +**Parameters** + +`container` [ItemContainer](Nodify_ItemContainer) + +### SelectAllConnections() + +Select all [NodifyEditor.Connections](Nodify_NodifyEditor#connections). + +```csharp +public void SelectAllConnections(); +``` + +### SelectArea(Rect, Boolean, Boolean) + +Selects the [ItemContainer](Nodify_ItemContainer)s in the specified area. + +```csharp +public void SelectArea(Rect area, bool append = false, bool fit = false); +``` + +**Parameters** + +`area` [Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect): The area to look for [ItemContainer](Nodify_ItemContainer)s. + +`append` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): If true, it will add to the existing selection. + +`fit` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): True to check if the area contains the [ItemContainer](Nodify_ItemContainer). False to check if area intersects the [ItemContainer](Nodify_ItemContainer). + +### SnapToGrid(Double) + +Snaps the given value down to the nearest multiple of the grid cell size. + +```csharp +public double SnapToGrid(double value); +``` + +**Parameters** + +`value` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double): The value to be snapped to the grid. + +**Returns** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double): The largest multiple of the grid cell size less than or equal to the value. + +### UnlockSelection() + +Unlocks the position of the [NodifyEditor.SelectedContainers](Nodify_NodifyEditor#selectedcontainers). + +```csharp +public void UnlockSelection(); +``` + +### UnselectAllConnections() + +Unselect all [NodifyEditor.Connections](Nodify_NodifyEditor#connections). + +```csharp +public void UnselectAllConnections(); +``` + +### UnselectArea(Rect, Boolean) + +Unselect the [ItemContainer](Nodify_ItemContainer)s in the specified area. + +```csharp +public void UnselectArea(Rect area, bool fit = false); +``` + +**Parameters** + +`area` [Rect](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Rect): The area to look for [ItemContainer](Nodify_ItemContainer)s. + +`fit` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean): True to check if the area contains the [ItemContainer](Nodify_ItemContainer). False to check if area intersects the [ItemContainer](Nodify_ItemContainer). + +### UpdateCuttingLine(Vector) + +Updates the current cutting line position and the style for the intersecting elements if [NodifyEditor.EnableCuttingLinePreview](Nodify_NodifyEditor#enablecuttinglinepreview) is true. + +```csharp +public void UpdateCuttingLine(Vector amount); +``` + +**Parameters** + +`amount` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector): The amount to adjust the cutting line's endpoint. + +### UpdateCuttingLine(Point) + +Updates the current cutting line position and the style for the intersecting elements if [NodifyEditor.EnableCuttingLinePreview](Nodify_NodifyEditor#enablecuttinglinepreview) is true. + +```csharp +public void UpdateCuttingLine(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The location of the cutting line's endpoint. + +### UpdateDragging(Vector) + +Updates the position of the items being dragged by a specified offset. + +```csharp +public void UpdateDragging(Vector amount); +``` + +**Parameters** + +`amount` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector): The vector by which to adjust the position of the dragged items. + +### UpdatePanning(Vector) + +Pans the viewport by the specified amount. + +```csharp +public void UpdatePanning(Vector amount); +``` + +**Parameters** + +`amount` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector): The amount to pan the viewport. + +### UpdatePushedArea(Vector) + +Updates the pushed area based on the specified amount taking the [NodifyEditor.PushedAreaOrientation](Nodify_NodifyEditor#pushedareaorientation) into account. + +```csharp +public void UpdatePushedArea(Vector amount); +``` + +**Parameters** + +`amount` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector): The amount to adjust the pushed area by. + +### UpdateSelection(Vector) + +Expands or modifies the selection area by the specified amount. + +```csharp +public void UpdateSelection(Vector amount); +``` + +**Parameters** + +`amount` [Vector](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Vector): Rrepresents the change to apply to the selection area. + +### UpdateSelection(Point) + +Expands or modifies the selection area to the specified location. + +```csharp +public void UpdateSelection(Point location); +``` + +**Parameters** + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The point, in graph space coordinates, to extend or adjust the selection area to. + +### ZoomAtPosition(Double, Point) + +Zoom at the specified location in graph space coordinates. + +```csharp +public void ZoomAtPosition(double zoom, Point location); +``` + +**Parameters** + +`zoom` [Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double): The zoom factor to apply. A value greater than 1 zooms in, while a value between 0 and 1 zooms out. + +`location` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point): The point in graph space coordinates where the zoom should be centered. + +### ZoomIn() + +Zoom in at the viewports center + +```csharp +public void ZoomIn(); +``` + +### ZoomOut() + +Zoom out at the viewports center + +```csharp +public void ZoomOut(); +``` + +## Events + +### ItemsMoved + +Occurs when items are moved within the editor (see Nodify.NodifyEditor.BeginDragging, Nodify.NodifyEditor.BeginPushingItems(System.Windows.Point,System.Windows.Controls.Orientation)). + +```csharp +public event ItemsMovedEventHandler ItemsMoved; +``` + +**Event Type** + +[ItemsMovedEventHandler](Nodify_Events_ItemsMovedEventHandler) + +### ViewportUpdated + +Occurs whenever the viewport updates. + +```csharp +public event RoutedEventHandler ViewportUpdated; +``` + +**Event Type** + +[RoutedEventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.RoutedEventHandler) + diff --git a/docs/api/Nodify_PendingConnection.md b/docs/api/Nodify_PendingConnection.md new file mode 100644 index 00000000..141ce9de --- /dev/null +++ b/docs/api/Nodify_PendingConnection.md @@ -0,0 +1,321 @@ +# PendingConnection Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [PendingConnection](Nodify_PendingConnection) + +**References:** [ConnectionDirection](Nodify_ConnectionDirection), [Connector](Nodify_Connector), [ItemContainer](Nodify_ItemContainer), [NodifyEditor](Nodify_NodifyEditor), [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs), [PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler), [StateNode](Nodify_StateNode) + +Represents a pending connection usually started by a [Connector](Nodify_Connector) which invokes the [PendingConnection.CompletedCommand](Nodify_PendingConnection#completedcommand) when completed. + +```csharp +public class PendingConnection : ContentControl +``` + +## Constructors + +### PendingConnection() + +```csharp +public PendingConnection(); +``` + +## Properties + +### AllowOnlyConnectors + +If true will preview and connect only to [Connector](Nodify_Connector)s, otherwise will also enable [ItemContainer](Nodify_ItemContainer)s. + +```csharp +public bool AllowOnlyConnectors { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### CompletedCommand + +Gets or sets the command to invoke when the pending connection is completed. + Will not be invoked if [NodifyEditor.ConnectionCompletedCommand](Nodify_NodifyEditor#connectioncompletedcommand) is used. + [PendingConnection.Target](Nodify_PendingConnection#target) will be set to the desired [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) and will also be the command's parameter. + +```csharp +public ICommand CompletedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### Direction + +Gets or sets the direction of this connection. + +```csharp +public ConnectionDirection Direction { get; set; } +``` + +**Property Value** + +[ConnectionDirection](Nodify_ConnectionDirection) + +### Editor + +Gets the [NodifyEditor](Nodify_NodifyEditor) that owns this [PendingConnection](Nodify_PendingConnection). + +```csharp +protected NodifyEditor Editor { get; set; } +``` + +**Property Value** + +[NodifyEditor](Nodify_NodifyEditor) + +### EnableHitTesting + +Gets or sets whether hit testing is enabled for pending connections. + +```csharp +public static bool EnableHitTesting { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnablePreview + +[PendingConnection.PreviewTarget](Nodify_PendingConnection#previewtarget) will be updated with a potential [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) if this is true. + +```csharp +public bool EnablePreview { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### EnableSnapping + +Enables snapping the [PendingConnection.TargetAnchor](Nodify_PendingConnection#targetanchor) to a possible [PendingConnection.Target](Nodify_PendingConnection#target) connector. + +```csharp +public bool EnableSnapping { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### IsVisible + +Gets or sets the visibility of the connection. + +```csharp +public bool IsVisible { get; set; } +``` + +**Property Value** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### PreviewTarget + +Gets or sets the [Connector](Nodify_Connector) or the [ItemContainer](Nodify_ItemContainer) (if [PendingConnection.AllowOnlyConnectors](Nodify_PendingConnection#allowonlyconnectors) is false) that we're previewing. See [PendingConnection.EnablePreview](Nodify_PendingConnection#enablepreview). + +```csharp +public object PreviewTarget { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### Source + +Gets or sets the [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) that started this pending connection. + +```csharp +public object Source { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### SourceAnchor + +Gets or sets the starting point for the connection. + +```csharp +public Point SourceAnchor { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### StartedCommand + +Gets or sets the command to invoke when the pending connection is started. + Will not be invoked if [NodifyEditor.ConnectionStartedCommand](Nodify_NodifyEditor#connectionstartedcommand) is used. + [PendingConnection.Source](Nodify_PendingConnection#source) will be set to the [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) that started this connection and will also be the command's parameter. + +```csharp +public ICommand StartedCommand { get; set; } +``` + +**Property Value** + +[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand) + +### Stroke + +Gets or sets the stroke color of the connection. + +```csharp +public Brush Stroke { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +### StrokeDashArray + +Gets or sets the pattern of dashes and gaps that is used to outline the connection. + +```csharp +public DoubleCollection StrokeDashArray { get; set; } +``` + +**Property Value** + +[DoubleCollection](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.DoubleCollection) + +### StrokeThickness + +Gets or set the connection thickness. + +```csharp +public double StrokeThickness { get; set; } +``` + +**Property Value** + +[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double) + +### Target + +Gets or sets the [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) (or potentially an [ItemContainer](Nodify_ItemContainer)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) if [PendingConnection.AllowOnlyConnectors](Nodify_PendingConnection#allowonlyconnectors) is false) that the [PendingConnection.Source](Nodify_PendingConnection#source) can connect to. + Only set when the connection is completed (see [PendingConnection.CompletedCommand](Nodify_PendingConnection#completedcommand)). + +```csharp +public object Target { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### TargetAnchor + +Gets or sets the end point for the connection. + +```csharp +public Point TargetAnchor { get; set; } +``` + +**Property Value** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +## Methods + +### FindConnectionTarget(Point) + +Searches for a potential [Connector](Nodify_Connector) or [ItemContainer](Nodify_ItemContainer) at the specified position within the editor. + +```csharp +public FrameworkElement FindConnectionTarget(Point position); +``` + +**Parameters** + +`position` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) + +### GetIsOverElement(UIElement) + +```csharp +public static bool GetIsOverElement(UIElement elem); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +**Returns** + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + +### OnApplyTemplate() + +```csharp +public override void OnApplyTemplate(); +``` + +### OnPendingConnectionCompleted(Object, PendingConnectionEventArgs) + +```csharp +protected virtual void OnPendingConnectionCompleted(object sender, PendingConnectionEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +`e` [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs) + +### OnPendingConnectionDrag(Object, PendingConnectionEventArgs) + +```csharp +protected virtual void OnPendingConnectionDrag(object sender, PendingConnectionEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +`e` [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs) + +### OnPendingConnectionStarted(Object, PendingConnectionEventArgs) + +```csharp +protected virtual void OnPendingConnectionStarted(object sender, PendingConnectionEventArgs e); +``` + +**Parameters** + +`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +`e` [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs) + +### SetIsOverElement(UIElement, Boolean) + +```csharp +public static void SetIsOverElement(UIElement elem, bool value); +``` + +**Parameters** + +`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +`value` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean) + diff --git a/docs/api/Nodify_SelectionType.md b/docs/api/Nodify_SelectionType.md new file mode 100644 index 00000000..9633e2a2 --- /dev/null +++ b/docs/api/Nodify_SelectionType.md @@ -0,0 +1,48 @@ +# SelectionType Enum + +**Namespace:** Nodify + +**Assembly:** Nodify + +**References:** [ItemContainer](Nodify_ItemContainer), [NodifyEditor](Nodify_NodifyEditor) + +Available selection logic. + +```csharp +public enum SelectionType +``` + +## Fields + +### Append + +Adds items to the current selection. + +```csharp +Append = 2; +``` + +### Invert + +Inverts the selection. + +```csharp +Invert = 3; +``` + +### Remove + +Removes items from existing selection. + +```csharp +Remove = 1; +``` + +### Replace + +Replaces the old selection. + +```csharp +Replace = 0; +``` + diff --git a/docs/api/Nodify_StateNode.md b/docs/api/Nodify_StateNode.md new file mode 100644 index 00000000..b098e44d --- /dev/null +++ b/docs/api/Nodify_StateNode.md @@ -0,0 +1,126 @@ +# StateNode Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [Connector](Nodify_Connector) → [StateNode](Nodify_StateNode) + +**References:** [PendingConnection](Nodify_PendingConnection) + +Represents a control that acts as a [Connector](Nodify_Connector). + +```csharp +public class StateNode : Connector +``` + +## Constructors + +### StateNode() + +```csharp +public StateNode(); +``` + +## Fields + +### ElementContent + +```csharp +protected const string ElementContent = "PART_Content"; +``` + +**Field Value** + +[String](https://docs.microsoft.com/en-us/dotnet/api/System.String) + +## Properties + +### Content + +Gets or sets the data for the control's content. + +```csharp +public object Content { get; set; } +``` + +**Property Value** + +[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) + +### ContentControl + +Gets the [StateNode.ContentControl](Nodify_StateNode#contentcontrol) control of this [StateNode](Nodify_StateNode). + +```csharp +protected UIElement ContentControl { get; set; } +``` + +**Property Value** + +[UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) + +### ContentTemplate + +Gets or sets the template used to display the content of the control's header. + +```csharp +public DataTemplate ContentTemplate { get; set; } +``` + +**Property Value** + +[DataTemplate](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DataTemplate) + +### CornerRadius + +Gets or sets a value that represents the degree to which the corners of the [StateNode](Nodify_StateNode) are rounded. + +```csharp +public CornerRadius CornerRadius { get; set; } +``` + +**Property Value** + +[CornerRadius](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.CornerRadius) + +### HighlightBrush + +Gets or sets the brush used when the [PendingConnection.IsOverElementProperty](Nodify_PendingConnection#isoverelementproperty) attached property is true for this [StateNode](Nodify_StateNode). + +```csharp +public Brush HighlightBrush { get; set; } +``` + +**Property Value** + +[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush) + +## Methods + +### OnApplyTemplate() + +```csharp +public override void OnApplyTemplate(); +``` + +### OnMouseDown(MouseButtonEventArgs) + +```csharp +protected override void OnMouseDown(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + +### OnMouseUp(MouseButtonEventArgs) + +```csharp +protected override void OnMouseUp(MouseButtonEventArgs e); +``` + +**Parameters** + +`e` [MouseButtonEventArgs](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.MouseButtonEventArgs) + diff --git a/docs/api/Nodify_StepConnection.md b/docs/api/Nodify_StepConnection.md new file mode 100644 index 00000000..8f29c6ec --- /dev/null +++ b/docs/api/Nodify_StepConnection.md @@ -0,0 +1,100 @@ +# StepConnection Class + +**Namespace:** Nodify + +**Assembly:** Nodify + +**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Shape](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Shapes.Shape) → [BaseConnection](Nodify_BaseConnection) → [LineConnection](Nodify_LineConnection) → [StepConnection](Nodify_StepConnection) + +**References:** [ConnectorPosition](Nodify_ConnectorPosition) + +```csharp +public class StepConnection : LineConnection +``` + +## Constructors + +### StepConnection() + +```csharp +public StepConnection(); +``` + +## Properties + +### SourcePosition + +Gets or sets the position of the source connector. + +```csharp +public ConnectorPosition SourcePosition { get; set; } +``` + +**Property Value** + +[ConnectorPosition](Nodify_ConnectorPosition) + +### TargetPosition + +Gets or sets the position of the target connector. + +```csharp +public ConnectorPosition TargetPosition { get; set; } +``` + +**Property Value** + +[ConnectorPosition](Nodify_ConnectorPosition) + +## Methods + +### DrawDirectionalArrowsGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override void DrawDirectionalArrowsGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +### DrawLineGeometry(StreamGeometryContext, Point, Point) + +```csharp +protected override ValueTuple, ValueTuple> DrawLineGeometry(StreamGeometryContext context, Point source, Point target); +``` + +**Parameters** + +`context` [StreamGeometryContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.StreamGeometryContext) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[ValueTuple\, ValueTuple\\>](https://docs.microsoft.com/en-us/dotnet/api/System.ValueTuple-2) + +### GetTextPosition(FormattedText, Point, Point) + +```csharp +protected override Point GetTextPosition(FormattedText text, Point source, Point target); +``` + +**Parameters** + +`text` [FormattedText](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.FormattedText) + +`source` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +`target` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + +**Returns** + +[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point) + diff --git a/docs/api/TOC.md b/docs/api/TOC.md new file mode 100644 index 00000000..c44d29fc --- /dev/null +++ b/docs/api/TOC.md @@ -0,0 +1,99 @@ + + +## Nodify + +- [Alignment Enum](Nodify_Alignment) +- [ArrowHeadEnds Enum](Nodify_ArrowHeadEnds) +- [ArrowHeadShape Enum](Nodify_ArrowHeadShape) +- [BaseConnection Class](Nodify_BaseConnection) +- [BoxValue Class](Nodify_BoxValue) +- [CircuitConnection Class](Nodify_CircuitConnection) +- [Connection Class](Nodify_Connection) +- [ConnectionDirection Enum](Nodify_ConnectionDirection) +- [ConnectionOffsetMode Enum](Nodify_ConnectionOffsetMode) +- [Connector Class](Nodify_Connector) +- [ConnectorPosition Enum](Nodify_ConnectorPosition) +- [CuttingLine Class](Nodify_CuttingLine) +- [DecoratorContainer Class](Nodify_DecoratorContainer) +- [EditorCommands Class](Nodify_EditorCommands) +- [GroupingMovementMode Enum](Nodify_GroupingMovementMode) +- [GroupingNode Class](Nodify_GroupingNode) +- [INodifyCanvasItem Interface](Nodify_INodifyCanvasItem) +- [ItemContainer Class](Nodify_ItemContainer) +- [KnotNode Class](Nodify_KnotNode) +- [LineConnection Class](Nodify_LineConnection) +- [Minimap Class](Nodify_Minimap) +- [MinimapItem Class](Nodify_MinimapItem) +- [Node Class](Nodify_Node) +- [NodeInput Class](Nodify_NodeInput) +- [NodeOutput Class](Nodify_NodeOutput) +- [NodifyCanvas Class](Nodify_NodifyCanvas) +- [NodifyEditor Class](Nodify_NodifyEditor) +- [PendingConnection Class](Nodify_PendingConnection) +- [SelectionType Enum](Nodify_SelectionType) +- [StateNode Class](Nodify_StateNode) +- [StepConnection Class](Nodify_StepConnection) + + +## Nodify.Events + +- [ConnectionEventArgs Class](Nodify_Events_ConnectionEventArgs) +- [ConnectionEventHandler Delegate](Nodify_Events_ConnectionEventHandler) +- [ConnectorEventArgs Class](Nodify_Events_ConnectorEventArgs) +- [ConnectorEventHandler Delegate](Nodify_Events_ConnectorEventHandler) +- [ItemsMovedEventArgs Class](Nodify_Events_ItemsMovedEventArgs) +- [ItemsMovedEventHandler Delegate](Nodify_Events_ItemsMovedEventHandler) +- [PendingConnectionEventArgs Class](Nodify_Events_PendingConnectionEventArgs) +- [PendingConnectionEventHandler Delegate](Nodify_Events_PendingConnectionEventHandler) +- [PreviewLocationChanged Delegate](Nodify_Events_PreviewLocationChanged) +- [ResizeEventArgs Class](Nodify_Events_ResizeEventArgs) +- [ResizeEventHandler Delegate](Nodify_Events_ResizeEventHandler) +- [ZoomEventArgs Class](Nodify_Events_ZoomEventArgs) +- [ZoomEventHandler Delegate](Nodify_Events_ZoomEventHandler) + + +## Nodify.Interactivity + +- [AllGestures Class](Nodify_Interactivity_AllGestures) +- [AnyGesture Class](Nodify_Interactivity_AnyGesture) +- [ConnectionState Class](Nodify_Interactivity_ConnectionState) + - [Disconnect Class](Nodify_Interactivity_ConnectionState_Disconnect) + - [Split Class](Nodify_Interactivity_ConnectionState_Split) +- [ConnectorState Class](Nodify_Interactivity_ConnectorState) + - [Connecting Class](Nodify_Interactivity_ConnectorState_Connecting) + - [Default Class](Nodify_Interactivity_ConnectorState_Default) + - [Disconnect Class](Nodify_Interactivity_ConnectorState_Disconnect) +- [ContainerState Class](Nodify_Interactivity_ContainerState) + - [Default Class](Nodify_Interactivity_ContainerState_Default) +- [DragState\ Class](Nodify_Interactivity_DragState_TElement_) +- [EditorGestures Class](Nodify_Interactivity_EditorGestures) + - [ConnectionGestures Class](Nodify_Interactivity_EditorGestures_ConnectionGestures) + - [ConnectorGestures Class](Nodify_Interactivity_EditorGestures_ConnectorGestures) + - [GroupingNodeGestures Class](Nodify_Interactivity_EditorGestures_GroupingNodeGestures) + - [ItemContainerGestures Class](Nodify_Interactivity_EditorGestures_ItemContainerGestures) + - [MinimapGestures Class](Nodify_Interactivity_EditorGestures_MinimapGestures) + - [NodifyEditorGestures Class](Nodify_Interactivity_EditorGestures_NodifyEditorGestures) + - [SelectionGestures Class](Nodify_Interactivity_EditorGestures_SelectionGestures) +- [EditorState Class](Nodify_Interactivity_EditorState) + - [Cutting Class](Nodify_Interactivity_EditorState_Cutting) + - [Panning Class](Nodify_Interactivity_EditorState_Panning) + - [PanningWithMouseWheel Class](Nodify_Interactivity_EditorState_PanningWithMouseWheel) + - [PushingItems Class](Nodify_Interactivity_EditorState_PushingItems) + - [Selecting Class](Nodify_Interactivity_EditorState_Selecting) + - [Zooming Class](Nodify_Interactivity_EditorState_Zooming) +- [IInputHandler Interface](Nodify_Interactivity_IInputHandler) +- [InputElementState\ Class](Nodify_Interactivity_InputElementState_TElement_) +- [InputElementStateStack\ Class](Nodify_Interactivity_InputElementStateStack_TElement_) + - [DragState\ Class](Nodify_Interactivity_InputElementStateStack_TElement__DragState_TElement_) + - [IInputElementState\ Interface](Nodify_Interactivity_InputElementStateStack_TElement__IInputElementState_TElement_) + - [InputElementState\ Class](Nodify_Interactivity_InputElementStateStack_TElement__InputElementState_TElement_) +- [InputGestureRef Class](Nodify_Interactivity_InputGestureRef) +- [InputProcessor Class](Nodify_Interactivity_InputProcessor) + - [Shared\ Class](Nodify_Interactivity_InputProcessor_Shared_TElement_) +- [InputProcessorExtensions Class](Nodify_Interactivity_InputProcessorExtensions) +- [MinimapState Class](Nodify_Interactivity_MinimapState) + - [Panning Class](Nodify_Interactivity_MinimapState_Panning) + - [Zooming Class](Nodify_Interactivity_MinimapState_Zooming) +- [MouseGesture Class](Nodify_Interactivity_MouseGesture) +- [MultiGesture Class](Nodify_Interactivity_MultiGesture) + - [Match Enum](Nodify_Interactivity_MultiGesture_Match)