Table of Contents

Interface INodeState

Namespace
FlowGraph.Core.Models
Assembly
FlowGraph.Core.dll

Interface for the mutable runtime state of a node. Separates position, size, and UI state from the immutable definition.

public interface INodeState : INotifyPropertyChanged
Inherited Members

Remarks

Implementations must raise PropertyChanged when any property changes to support data binding.

Default implementation: NodeState Avalonia-optimized: FlowGraph.Avalonia.Binding.ObservableNodeState

Properties

Height

The height of the node. Null means auto-sized based on content.

double? Height { get; set; }

Property Value

double?

IsCollapsed

Whether a group node is collapsed (only meaningful when IsGroup is true).

bool IsCollapsed { get; set; }

Property Value

bool

IsDragging

Whether this node is currently being dragged.

bool IsDragging { get; set; }

Property Value

bool

IsHighlighted

Whether this node is highlighted for emphasis (e.g., search results, analysis feedback). Unlike selection, highlighting is purely visual and doesn't affect operations.

bool IsHighlighted { get; set; }

Property Value

bool

IsSelected

Whether this node is currently selected.

bool IsSelected { get; set; }

Property Value

bool

IsVisible

Whether this node is visible in the canvas. Invisible nodes are not rendered but remain in the graph.

bool IsVisible { get; set; }

Property Value

bool

Width

The width of the node. Null means auto-sized based on content.

double? Width { get; set; }

Property Value

double?

X

The X coordinate of the node in canvas space.

double X { get; set; }

Property Value

double

Y

The Y coordinate of the node in canvas space.

double Y { get; set; }

Property Value

double

ZIndex

Z-index for rendering order. Higher values render on top. Default is CanvasElement.ZIndexNodes (300).

int ZIndex { get; set; }

Property Value

int