Property editors render the editable surface for components and connection lines. They read NodeProperties and write values back through SetProperties, which is the same path used by serialization.

NodePropertyEditor

Editor for a single component.

NodePropertyEditor

Visual property editor for automation nodes, similar to n8n/Make.com node configuration panels. Provides a comprehensive interface for editing node properties, data input, and configuration.

MemberKindDescription
override bool ShowInPalettePropertyGets or sets the show in palette.
event EventHandler<NodePropertiesSavedEventArgs> PropertiesSavedEventEvent raised when properties are saved.
event EventHandler<NodePropertiesCancelledEventArgs> PropertiesCancelledEventEvent raised when editing is cancelled.
AutomationNode SelectedNodePropertyGets or sets the currently selected node for editing.
bool IsDirtyPropertyGets whether the current properties have unsaved changes.
NodePropertyEditor()MethodInitializes a new instance of the NodePropertyEditor class.

ComponentPropertyEditor

Editor for components and connection lines, with type-specific editors.

ComponentPropertyEditor

Generic property editor for any SkiaComponent, providing a comprehensive interface for editing component properties, configuration, and display settings.

MemberKindDescription
DrawingManager ManagerPropertyGets or sets the manager.
override bool ShowInPalettePropertyGets or sets the show in palette.
event EventHandler<ComponentPropertiesSavedEventArgs> PropertiesSavedEventEvent raised when properties are saved.
event EventHandler<ComponentPropertiesCancelledEventArgs> PropertiesCancelledEventEvent raised when editing is cancelled.
event EventHandler PropertyValueChangedEventEvent raised whenever a property value changes via the editor controls.
SkiaComponent SelectedComponentPropertyGets or sets the currently selected component for editing.
Beep.Skia.Model.IConnectionLine SelectedLinePropertyGets or sets the currently selected line for editing.
bool IsDirtyPropertyGets whether the current properties have unsaved changes.
ComponentPropertyEditor()MethodInitializes a new instance of the ComponentPropertyEditor class.
override bool HandleMouseDown(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse down.
override bool HandleMouseMove(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse move.
override bool HandleMouseUp(SKPoint point, InteractionContext context)MethodGets or sets the handle mouse up.
void HandleKeyChar(char ch)MethodGets or sets the handle key char.
void HandleKeyDown(PropertyEditorKey key)MethodGets or sets the handle key down.

SkiaComponentGrid

A very lightweight grid-like component rendering rows of ColumnDefinition with inline editing using TextBoxes and Dropdowns.