Beep.Skia (core)
API reference for Beep.Skia (338 public types)
Complete API surface of the Beep.Skia assembly: 338 public types with their documented members. Follow the family guide for usage patterns.
Types in this assembly
AddComponentActionclassAlignComponentsActionclassApiResponseclassAuditEntryclassAutomationConnectionclassAutomationDataSourceRegistryclassAutomationNodeclassBorderStyleenumBuiltinIconsclassButtonclassButtonGroupclassButtonGroupLayoutenumButtonGroupVariantenumButtonStyleenumButtonVariantenumCardclassCardVariantenumCascadingMenuclassCascadingMenuEventArgsclassCascadingMenuItemclassCheckboxclassCheckBoxGroupclassCheckBoxGroupItemclassCheckBoxGroupItemCollectionclassCheckBoxGroupStyleenumCheckBoxStyleenumCheckMarkStyleenumCheckStateenumCollaborationRoleenumCollaborationSerializerclassCollaborationServiceclassCollaborationSnapshotclassCollaborationUserclassColorPickerclassColorPickerStyleenumComboBoxItemclassComboBoxItemCollectionclassComboBoxStyleenumCommentPinclassCommentPinLayerclassComponentCategoryclassComponentClickEventArgsclassComponentDragEventArgsclassComponentDragStateenumComponentDropEventArgsclassComponentDtoclassComponentEventArgsclassComponentInteractionEventArgsclassComponentItemclassComponentManagerclassComponentMetadataclassComponentPaletteclassComponentPropertiesCancelledEventArgsclassComponentPropertiesSavedEventArgsclassComponentPropertyEditorclassComponentStateChangedEventArgsclassConditionalNodeclassConditionEvaluationResultclassConditionRuleclassConnectAutomationNodesActionclassConnectComponentsActionclassConnectionChangedEventArgsclassConnectionCreatedEventArgsclassConnectionDirectionenumConnectionLineclassConnectionManagerclassConnectionPointclassConnectionPointExtensionsclassConnectionRemovedEventArgsclassContextMenuclassContextMenuEventArgsclassContextMenuExtensionsclassContextMenuStyleenumCredentialEntryclassCredentialTypeenumCredentialVaultclassCycleDetectionRuleclassDataGridclassDataGridColumnclassDataGridRowclassDataGridStyleenumDataInputNodeclassDataSourceAutomationNodeclassDataTransformNodeclassDatePickerclassDatePickerStyleenumDeadEndNodeRuleclassDeleteComponentsActionclassDiagramAssistantRegistryclassDiagramClickEventArgsclassDiagramCommentclassDiagramDtoclassDiagramInteractionEventArgsclassDiagramIssueclassDiagramIssueSeverityenumDiagramRequestclassDiagramSuggestionclassDiagramTemplatesclassDiagramValidatorclassDisconnectComponentsActionclassDocumentShareclassDrawerPositionenumDrawerTypeenumDrawingActionclassDrawingManagerclassDropdownclassDropdownItemclassDropdownVariantenumDslEdgeclassDslGraphclassDslNodeclassEmptyDiagramRuleclassEventTriggerclassExecutionJobclassExtensionComponentDescriptorclassExtensionInstallResultclassExtensionLoadedEventArgsclassExtensionManifestclassExtensionPackageclassExtensionPackageBuilderclassExtensionPackageManagerclassExtractedComponentResultclassFabMenuclassFabMenuDirectionenumFabMenuItemclassFabMenuItemEventArgsclassFabSizeenumFabTypeenumFieldMappingclassFileWatchTriggerclassFilterConditionclassFloatingActionButtonclassFlowchartDslParserclassFlowLayoutclassForceDirectedLayoutclassFormFieldclassGridAutoLayoutclassGridLayoutclassGroupBoxStyleenumHierarchicalLayoutclassHistoryManagerclassHoverChangedEventArgsclassHttpRequestNodeclassIAutoLayoutinterfaceIAutomationDataSourceProviderinterfaceIDiagramAssistantinterfaceIDiagramRuleinterfaceIExtensionRegistryinterfaceILayoutManagerinterfaceInstalledExtensionclassInstallLogEntryclassInteractionHelperclassInteractionTypeenumISkiaExtensioninterfaceISkiaExtensionContextinterfaceItemDisplayStyleenumJobStateenumJobStateChangedEventArgsclassKeyModifiersenumLabelclassLabelStyleenumLineClickEventArgsclassLineDtoclassLineInteractionEventArgsclassListclassListBoxItemclassListBoxItemCollectionclassListBoxStyleenumListItemclassListItemCollectionclassListTypeenumListViewStyleenumLoadedExtensionclassLocalExtensionRegistryclassManualTriggerclassManualTriggerEventArgsclassManualTriggerNodeclassMaterialControlclassMaterialDesignColorsclassMenuclassMenuBarclassMenuBarItemclassMenuBarItemEventArgsclassMenuButtonclassMenuItemclassMenuItemTypeenumMenuOrientationenumMenuPositionenumMenuStyleenumMindMapDslNodeclassMindMapDslParserclassMinimapControlclassMouseButtonenumMoveComponentsActionclassMoveLineActionclassNavigationBarclassNavigationBarItemclassNavigationBarItemEventArgsclassNavigationDrawerclassNavigationDrawerBaseItemclassNavigationDrawerDividerclassNavigationDrawerHeaderclassNavigationDrawerItemclassNavigationDrawerItemEventArgsclassNavigationItemclassNavigationItemCollectionclassNavigationOrientationenumNavigationStyleenumNodeAddedEventArgsclassNodePropertiesCancelledEventArgsclassNodePropertiesSavedEventArgsclassNodePropertyEditorclassNodeRemovedEventArgsclassNodeSelectedEventArgsclassNotificationclassNotificationPositionenumNotificationStyleenumNotificationTypeenumNumericUpDownStyleenumOrientationenumOrphanNodeRuleclassOverlappingComponentsRuleclassPaletteclassPaletteCategoryclassPaletteItemclassPanelclassPanelStyleenumPanelVariantenumPasteComponentsActionclassPresenceEntryclassProgressBarclassProgressBarStyleenumProgressBarVariantenumPropertyEditorKeyenumRadialLayoutclassRadioButtonSizeenumRadioButtonStyleenumRadioGroupclassRadioGroupItemclassRadioGroupItemCollectionclassRadioGroupStyleenumRemoveComponentActionclassRenderingHelperclassRuleBasedDiagramAssistantclassScheduleTriggerclassScrollBarOrientationenumScrollBarStyleenumSearchclassSearchEventArgsclassSearchSuggestionclassSearchSuggestionEventArgsclassSegmentedButtonItemclassSegmentedButtonsclassSegmentedButtonSelectionModeenumSelectionChangedEventArgsclassSelectionManagerclassSelectionModeenumSemanticVersionclassSkiaComponentclassSkiaComponentDescriptorclassSkiaComponentDescriptorCollectionclassSkiaComponentRegistryclassSkiaExtensionHostclassSkiaThemeclassSkiaUtilclassSKKeyModifiersenumSliderclassSliderOrientationenumSliderStyleenumSliderTypeenumSliderValueChangedEventArgsclassSpinnerclassSpinnerStyleenumSplitButtonclassSplitButtonItemclassSplitButtonItemSelectedEventArgsclassSplitterOrientationenumSplitterStyleenumStackLayoutclassStatusBarclassStatusBarItemclassStatusBarItemCollectionclassStatusBarStyleenumSvgImageclassSvgScaleModeenumSwimlaneclassSwimlaneContainerclassSwitchclassSwitchStateChangedEventArgsclassTabItemclassTableDrawerclassTableDrawerHelperclassTabPositionenumTabsclassTabSelectionChangedEventArgsclassTabStyleenumTabVariantenumTextAlignmentenumTextAreaclassTextAreaStyleenumTextBoxclassTextBoxStyleenumTextBoxVariantenumTextInputTypeenumTextPositionenumThemeManagerclassThumbStyleenumTimePickerclassTimePickerModeenumTimePickerStyleenumTimerTriggeredEventArgsclassTimerTriggerNodeclassToggleButtonclassToggleButtonStyleenumToolBarclassToolBarItemclassToolBarItemCollectionclassToolBarOrientationenumToolBarStyleenumToolTipStyleenumTrackBarOrientationenumTrackBarStyleenumTreeViewStyleenumTriggerBaseclassTriggerConfirmationEventArgsclassTypefaceCacheclassUnconnectedPortRuleclassUserRecordclassWorkflowCanvasclassWorkflowConnectionclassWorkflowEngineclassWorkflowExecutionApiclassWorkflowExecutionServiceclassWorkflowExecutionStateenumWorkflowExecutionStateChangedEventArgsclassWorkflowHttpRequestclassWorkflowHttpResponseclassWorkflowRequestRouterclass
AddComponentAction (class)
Action for adding a component.
| Member | Kind | Description |
|---|---|---|
AddComponentAction(DrawingManager manager, SkiaComponent component) | Method | Initializes a new instance of the AddComponentAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
AlignComponentsAction (class)
Action for alignment/distribution operations.
| Member | Kind | Description |
|---|---|---|
AlignComponentsAction(DrawingManager manager, List<SkiaComponent> components, List<SKPoint> beforePositions) | Method | Initializes a new instance of the AlignComponentsAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
ApiResponse (class)
Transport-neutral API response envelope.
| Member | Kind | Description |
|---|---|---|
bool Success | Property | Gets or sets the success. |
string Error | Property | Gets or sets the error. |
object Payload | Property | Gets or sets the payload. |
static ApiResponse Ok(object payload = null) | Method | Gets or sets the ok. |
static ApiResponse Fail(string error) | Method | Gets or sets the fail. |
AuditEntry (class)
An audit-trail entry for a collaboration action.
| Member | Kind | Description |
|---|---|---|
string Id | Property | Gets or sets the id. |
string DocumentId | Property | Gets or sets the document id. |
string UserId | Property | Gets or sets the user id. |
string Action | Property | Gets or sets the action. |
string Details | Property | Gets or sets the details. |
DateTime Timestamp | Property | Gets or sets the timestamp. |
override string ToString() | Method | Gets or sets the to string. |
AutomationConnection (class)
A named connection definition used by automation nodes (database, API, file share, ...). Credentials are referenced by name and resolved through the CredentialVault.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string Provider | Property | Gets or sets the provider. |
string Endpoint | Property | Gets or sets the endpoint. |
string Database | Property | Gets or sets the database. |
string CredentialName | Property | Gets or sets the credential name. |
Dictionary<string, string> Properties | Property | Gets or sets the properties. |
DateTime UpdatedAt | Property | Gets or sets the updated at. |
AutomationConnection Clone() | Method | Gets or sets the clone. |
AutomationDataSourceRegistry (class)
Ambient registry for the automation data-source provider.
| Member | Kind | Description |
|---|---|---|
static IAutomationDataSourceProvider Provider | Property | Gets or sets the active provider (null disables real data access). |
static bool HasProvider | Property | True when a provider is registered. |
static void Clear() | Method | Removes the registered provider. |
AutomationNode (class)
Base class for automation nodes that provides both visual representation and automation execution capabilities. Combines SkiaComponent visual behavior with IAutomationNode automation interface.
| Member | Kind | Description |
|---|---|---|
new string Id | Property | Gets the unique identifier for this automation node. |
new string Name | Property | Gets the display name of this automation node. |
abstract string Description | Property | Gets the description of what this automation node does. |
abstract NodeType NodeType | Property | Gets the type of this automation node. |
NodeStatus Status | Property | Gets the current status of this automation node. |
void SetExecutionStatus(NodeStatus status) | Method | Sets the execution status from a host (used for live workflow run visualization). The node status to display. |
Dictionary<string, object> Configuration | Property | Gets or sets the configuration parameters for this node. |
IList<IConnectionPoint> InputConnections | Property | Gets the input connection points for this automation node. Backed by the component's canvas connection points so serialization and the drawing manager see exactly the ports the automation runtime uses. |
IList<IConnectionPoint> OutputConnections | Property | Gets the output connection points for this automation node. Backed by the component's canvas connection points so serialization and the drawing manager see exactly the ports the automation runtime uses. |
new bool IsEnabled | Property | Gets a value indicating whether this node is currently enabled for execution. |
event EventHandler<NodeExecutionEventArgs> StatusChanged | Event | Event raised when the node's execution status changes. |
event EventHandler<NodeErrorEventArgs> ErrorOccurred | Event | Event raised when the node encounters an error during execution. |
abstract Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the automation node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
abstract Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result. |
abstract Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the automation node's logic with the provided execution context. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result. |
abstract Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. A dictionary describing the input schema. |
abstract Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
virtual Task ResetAsync() | Method | Resets the node to its initial state, clearing any cached data or temporary state. |
virtual void ApplyNodeProperties() | Method | Applies values from NodeProperties back to this node's public settable properties (by name) and updates Configuration. Name matching is case-insensitive. |
void DrawNode(SKCanvas canvas, DrawingContext context) | Method | Public method to draw the node (used by WorkflowCanvas). The canvas to draw on. The drawing context. |
BorderStyle (enum)
Specifies the border style of a control.
BuiltinIcons (class)
Built-in SVG icon library for Beep.Skia components. Each icon is stored as an SVG path string suitable for use with SvgImage or MaterialControl. These match the most common diagramming and UI icon needs.
| Member | Kind | Description |
|---|---|---|
static string GetSvg(string name) | Method | Gets a built-in SVG icon by name. Returns null if not found. |
static IEnumerable<string> Names | Property | All available icon names. |
Button (class)
A Material Design 3.0 button component with SVG icon support.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text displayed on the button. |
SKColor BackgroundColor | Property | Gets or sets the background color of the button. |
new SKColor TextColor | Property | Gets or sets the text color of the button. |
float CornerRadius | Property | Gets or sets the corner radius of the button. |
ButtonVariant Variant | Property | Gets or sets the button variant (Material Design 3.0). |
string LeadingIcon | Property | Gets or sets the leading SVG icon path or URL. |
string TrailingIcon | Property | Gets or sets the trailing SVG icon path or URL. |
string ErrorMessage | Property | Gets or sets the error message to display below the button. |
string Title | Property | Gets or sets the title text to display above the button. |
Button() | Method | Initializes a new instance of the Button class. |
Button(string text) : this() | Method | Initializes a new instance of the Button class with specified text. |
ButtonGroup (class)
A Material Design 3.0 Button Group component that arranges buttons in horizontal, vertical, or grid layouts.
| Member | Kind | Description |
|---|---|---|
ButtonGroupLayout Layout | Property | Gets or sets the layout direction of the button group. |
ButtonGroupVariant Variant | Property | Gets or sets the button group variant (Material Design 3.0). |
float Spacing | Property | Gets or sets the spacing between buttons in pixels. |
float ButtonWidth | Property | Gets or sets the default width for buttons in the group. |
float ButtonHeight | Property | Gets or sets the default height for buttons in the group. |
bool EqualWidth | Property | Gets or sets whether all buttons should have equal width. |
SKColor GroupBackgroundColor | Property | Gets or sets the background color of the button group. |
float CornerRadius | Property | Gets or sets the corner radius of the button group. |
IReadOnlyList<Button> Buttons | Property | Gets the collection of buttons in the group. |
ButtonGroup() | Method | Initializes a new instance of the ButtonGroup class. |
void AddButton(Button button) | Method | Adds a button to the group. The button to add. |
bool RemoveButton(Button button) | Method | Removes a button from the group. The button to remove. True if the button was removed; otherwise, false. |
static ButtonGroup CreateHorizontalGroup(params string[] buttonTexts) | Method | Creates a simple horizontal button group with the specified button texts. The texts for the buttons. A configured ButtonGroup instance. |
static ButtonGroup CreateVerticalGroup(params string[] buttonTexts) | Method | Creates a vertical button group with the specified button texts. The texts for the buttons. A configured ButtonGroup instance. |
static ButtonGroup CreateButtonGrid(string[] buttonTexts, int columns) | Method | Creates a button grid with the specified button texts and grid dimensions. The texts for the buttons. The number of columns in the grid. A configured ButtonGroup instance. |
ButtonGroupLayout (enum)
Material Design 3.0 button group layout options.
ButtonGroupVariant (enum)
Material Design 3.0 button group variants.
ButtonStyle (enum)
Specifies the style of a button.
ButtonVariant (enum)
Material Design 3.0 button variants.
Card (class)
A Material Design 3.0 Card component that displays content and actions on a single topic. Cards are surfaces that display content and actions on a single subject.
| Member | Kind | Description |
|---|---|---|
CardVariant Variant | Property | Gets or sets the card variant (Elevated, Filled, or Outlined). |
bool IsClickable | Property | Gets or sets whether the card is clickable. |
bool IsSelectable | Property | Gets or sets whether the card is selectable. |
new bool IsSelected | Property | Gets or sets whether the card is selected. |
float CornerRadius | Property | Gets or sets the corner radius of the card. |
SKColor CardBackgroundColor | Property | Gets or sets the background color of the card. |
SKColor CardOutlineColor | Property | Gets or sets the outline color of the card (for Outlined variant). |
float CardElevation | Property | Gets or sets the elevation of the card. |
event EventHandler<EventArgs> CardClicked | Event | Occurs when the card is clicked. |
Card() | Method | Initializes a new instance of the Card class. |
Card(float width, float height) : this() | Method | Initializes a new instance of the Card class with specified dimensions. The width of the card. The height of the card. |
void AddHeaderComponent(SkiaComponent component) | Method | Adds a component to the card's header area. The component to add. |
void RemoveHeaderComponent(SkiaComponent component) | Method | Removes a component from the card's header area. The component to remove. |
void AddMediaComponent(SkiaComponent component) | Method | Adds a component to the card's media area. The component to add. |
void RemoveMediaComponent(SkiaComponent component) | Method | Removes a component from the card's media area. The component to remove. |
void AddContentComponent(SkiaComponent component) | Method | Adds a component to the card's content area. The component to add. |
void RemoveContentComponent(SkiaComponent component) | Method | Removes a component from the card's content area. The component to remove. |
void AddActionComponent(SkiaComponent component) | Method | Adds a component to the card's action area. The component to add. |
void RemoveActionComponent(SkiaComponent component) | Method | Removes a component from the card's action area. The component to remove. |
CardVariant (enum)
Specifies the visual variant of a card.
Checkbox (class)
A Material Design 3.0 Checkbox component that allows users to select one or more items from a list, or turn an item on or off.
| Member | Kind | Description |
|---|---|---|
CheckState CheckState | Property | Gets or sets the current check state of the checkbox. |
new bool IsEnabled | Property | Gets or sets whether the checkbox is enabled. |
bool IsChecked | Property | Gets or sets whether the checkbox is checked (convenience property). |
bool IsIndeterminate | Property | Gets or sets whether the checkbox is indeterminate. |
event EventHandler<EventArgs> CheckStateChanged | Event | Occurs when the check state of the checkbox changes. |
Checkbox() | Method | Initializes a new instance of the Checkbox class. |
Checkbox(CheckState initialState) : this() | Method | Initializes a new instance of the Checkbox class with the specified initial state. The initial check state of the checkbox. |
Checkbox(bool isChecked) : this() | Method | Initializes a new instance of the Checkbox class with the specified initial checked state. Whether the checkbox should be initially checked. |
void ToggleState() | Method | Toggles the checkbox between checked and unchecked states. |
void NextState() | Method | Sets the checkbox to the next state in the cycle. |
void PreviousState() | Method | Sets the checkbox to the previous state in the cycle. |
CheckBoxGroup (class)
A group of check box controls.
| Member | Kind | Description |
|---|---|---|
CheckBoxGroupItemCollection Items | Property | Gets the collection of items in the check box group. |
CheckBoxGroupStyle Style | Property | Gets or sets the style of the check box group. |
Orientation Orientation | Property | Gets or sets the orientation of the check box group. |
BorderStyle BorderStyle | Property | Gets or sets the border style of the check box group. |
int ItemHeight | Property | Gets or sets the height of each item. |
int Spacing | Property | Gets or sets the spacing between items. |
CheckBoxGroup() | Method | Initializes a new instance of the CheckBoxGroup class. |
CheckBoxGroupItem (class)
Represents an item in a check box group.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text of the item. |
bool Checked | Property | Gets or sets whether the item is checked. |
object Tag | Property | Gets or sets the tag associated with the item. |
CheckBoxGroupItem() | Method | Initializes a new instance of the CheckBoxGroupItem class. |
CheckBoxGroupItem(string text) | Method | Initializes a new instance of the CheckBoxGroupItem class with the specified text. |
CheckBoxGroupItem(string text, bool isChecked) | Method | Initializes a new instance of the CheckBoxGroupItem class with the specified text and checked state. |
CheckBoxGroupItemCollection (class)
A collection of check box items.
CheckBoxGroupStyle (enum)
Specifies the style of a check box group.
CheckBoxStyle (enum)
Specifies the style of a check box.
CheckMarkStyle (enum)
Specifies the style of a check mark.
CheckState (enum)
Specifies the check state of a checkbox.
CollaborationRole (enum)
Permission level a user has on a shared diagram document.
CollaborationSerializer (class)
Persists collaboration state to and from JSON.
| Member | Kind | Description |
|---|---|---|
static string ToJson(CollaborationService service) | Method | Serializes a service's state to JSON. |
static CollaborationService FromJson(string json) | Method | Restores a new service from JSON. |
static void Save(CollaborationService service, string filePath) | Method | Writes collaboration state to a file. |
static CollaborationService Load(string filePath) | Method | Reads collaboration state from a file. |
CollaborationService (class)
In-memory collaboration service: users, document sharing with roles, comments, presence tracking, and an audit trail. Transport-agnostic so it can back a desktop host, a REST API, or a real-time server. All state is guarded by a single lock: the service is shared by UI and server callers, so concurrent comments/grants/presence updates must not corrupt it. Read APIs return snapshots so callers cannot mutate internal state (role changes must go through Grant/Revoke/SetPublic).
| Member | Kind | Description |
|---|---|---|
IReadOnlyList<CollaborationUser> Users | Property | Registered users. |
IReadOnlyList<DiagramComment> AllComments | Property | All comments across documents. |
IReadOnlyList<AuditEntry> AuditTrail | Property | Full audit trail. |
void RegisterUser(CollaborationUser user) | Method | Registers or replaces a user. |
CollaborationUser GetUser(string userId) | Method | Gets a user by id, or null. |
DocumentShare Share( string documentId, string ownerId, params (string UserId, CollaborationRole Role)[] members) | Method | Shares a document with the given members. The owner is registered as Admin. Returns a snapshot of the resulting share. |
DocumentShare GetShare(string documentId) | Method | Gets a snapshot of the sharing state for a document, or null when not shared. |
CollaborationRole? GetRole(string documentId, string userId) | Method | Gets a user's role on a document (public documents grant Viewer). |
bool CanView(string documentId, string userId) | Method | Gets or sets the can view. |
bool CanComment(string documentId, string userId) | Method | Gets or sets the can comment. |
bool CanEdit(string documentId, string userId) | Method | Gets or sets the can edit. |
bool CanAdminister(string documentId, string userId) | Method | Gets or sets the can administer. |
bool Grant(string documentId, string requesterId, string userId, CollaborationRole role) | Method | Grants or updates a member role (admin only). |
bool Revoke(string documentId, string requesterId, string userId) | Method | Revokes a member (admin only; the owner cannot be revoked). |
bool SetPublic(string documentId, string requesterId, bool isPublic) | Method | Toggles public (view-only) access (admin only). |
DiagramComment AddComment(string documentId, string userId, string text, string componentId = null) | Method | Adds a comment (requires Commenter or higher). Returns null when not permitted. |
bool ResolveComment(string documentId, string commentId, string userId) | Method | Resolves a comment (author or admin only). |
IReadOnlyList<DiagramComment> GetComments(string documentId, bool includeResolved = false) | Method | Gets comments for a document (optionally including resolved ones). |
void SetPresence(string documentId, string userId, string activity = null) | Method | Marks a user as active on a document (requires view permission). |
IReadOnlyList<PresenceEntry> GetPresence(string documentId, TimeSpan? activeWindow = null) | Method | Gets active presence entries within the given window (default 5 minutes). |
bool RemovePresence(string documentId, string userId) | Method | Removes a user's presence from a document. |
IReadOnlyList<AuditEntry> GetAudit(string documentId) | Method | Gets the audit trail for a document (newest last). |
CollaborationSnapshot CreateSnapshot() | Method | Captures the persistable state (users, shares, comments, audit). |
void Restore(CollaborationSnapshot snapshot) | Method | Replaces all state from a snapshot (no-op when null). |
CollaborationSnapshot (class)
Serializable collaboration state (users, shares, comments, audit). Presence is intentionally excluded — it is ephemeral.
| Member | Kind | Description |
|---|---|---|
int Version | Property | Gets or sets the version. |
List<UserRecord> Users | Property | Gets or sets the users. |
List<DocumentShare> Shares | Property | Gets or sets the shares. |
List<DiagramComment> Comments | Property | Gets or sets the comments. |
List<AuditEntry> Audit | Property | Gets or sets the audit. |
CollaborationUser (class)
A user participating in collaboration.
| Member | Kind | Description |
|---|---|---|
string Id | Property | Gets or sets the id. |
string DisplayName | Property | Gets or sets the display name. |
string Email | Property | Gets or sets the email. |
SKColor Color | Property | Presence color used for cursors/avatars. |
ColorPicker (class)
A Material Design 3.0 color picker component
| Member | Kind | Description |
|---|---|---|
SKColor SelectedColor | Property | Gets or sets the selected color |
float Hue | Property | Gets or sets the hue component (0-360) |
float Saturation | Property | Gets or sets the saturation component (0-1) |
float Value | Property | Gets or sets the value/brightness component (0-1) |
float Alpha | Property | Gets or sets the alpha component (0-1) |
bool ShowAlpha | Property | Gets or sets whether to show the alpha slider |
float ColorWheelRadius | Property | Gets or sets the color wheel radius |
float BrightnessBarWidth | Property | Gets or sets the brightness bar width |
event EventHandler ColorChanged | Event | Occurs when the selected color changes |
ColorPicker() | Method | Initializes a new instance of the ColorPicker class |
ColorPickerStyle (enum)
Specifies the style of a color picker.
ComboBoxItem (class)
Represents an item in a combo box.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text of the item. |
object Value | Property | Gets or sets the value associated with the item. |
bool Enabled | Property | Gets or sets whether the item is enabled. |
ComboBoxItem() | Method | Initializes a new instance of the ComboBoxItem class. |
ComboBoxItem(string text) | Method | Initializes a new instance of the ComboBoxItem class with the specified text. |
ComboBoxItem(string text, object value) | Method | Initializes a new instance of the ComboBoxItem class with the specified text and value. |
override string ToString() | Method | Returns a string representation of the item. |
ComboBoxItemCollection (class)
A collection of combo box items.
| Member | Kind | Description |
|---|---|---|
void Add(string text) | Method | Adds an item with the specified text to the collection. |
void Add(string text, object value) | Method | Adds an item with the specified text and value to the collection. |
ComboBoxStyle (enum)
Specifies the style of a combo box.
CommentPin (class)
A comment pin anchored to a component in the diagram.
| Member | Kind | Description |
|---|---|---|
string ComponentId | Property | Component this pin is anchored to. |
int Index | Property | 1-based display number. |
SKPoint Position | Property | Center of the pin in world coordinates. |
SKRect ComponentBounds | Property | Bounds of the anchored component. |
List<string> CommentIds | Property | Unresolved comment ids anchored to this component. |
int CommentCount | Property | Gets or sets the comment count. |
bool Contains(SKPoint point, float radius = CommentPinLayer.PinRadius) | Method | Gets or sets the contains. |
override string ToString() | Method | Gets or sets the to string. |
CommentPinLayer (class)
Computes and renders comment pins for unresolved comments anchored to components. Pins sit on the top-right corner of their component, like review badges.
| Member | Kind | Description |
|---|---|---|
const float PinRadius = 11f | Constant | Constant pin radius. |
const float PinOffset = 4f | Constant | Constant pin offset. |
IReadOnlyList<CommentPin> Pins | Property | Gets or sets the pins. |
void Rebuild(IEnumerable<SkiaComponent> components, IEnumerable<DiagramComment> comments, int maxPins = 100) | Method | Rebuilds pins from unresolved comments and diagram components. A comment anchors to a component when ComponentId matches the component's Name (case-insensitive) or id. |
CommentPin HitTest(SKPoint point) | Method | Returns the pin under a world-space point, or null. |
void Clear() | Method | Clears all pins. |
void Draw(SKCanvas canvas, SKColor? accent = null) | Method | Draws the pins onto the canvas (world-space transform expected). |
ComponentCategory (class)
Represents a category of components in the palette.
ComponentClickEventArgs (class)
Event args for component (node) click events.
| Member | Kind | Description |
|---|---|---|
IDrawableComponent Component | Property | Gets or sets the component. |
SKPoint ClickPosition | Property | Gets or sets the click position. |
MouseButton Button | Property | Gets or sets the button. |
bool IsDoubleClick | Property | Gets or sets the is double click. |
ComponentDragEventArgs (class)
Provides data for component drag events.
ComponentDragState (enum)
Specifies the state of a component drag operation.
ComponentDropEventArgs (class)
Event args for when a component is dropped after a drag operation. Provides final positions in canvas and screen space along with final bounds.
| Member | Kind | Description |
|---|---|---|
SkiaComponent Component | Property | Gets or sets the component. |
SKPoint CanvasPosition | Property | Gets or sets the canvas position. |
SKPoint ScreenPosition | Property | Gets or sets the screen position. |
SKRect Bounds | Property | Gets or sets the bounds. |
SKPoint Location | Property | Gets or sets the location. |
ComponentDto (class)
| Member | Kind | Description |
|---|---|---|
string Type | Property | Gets or sets the type. |
float X | Property | Gets or sets the x. |
float Y | Property | Gets or sets the y. |
float Width | Property | Gets or sets the width. |
float Height | Property | Gets or sets the height. |
string Name | Property | Gets or sets the name. |
Dictionary<string, string> PropertyBag | Property | Gets or sets the property bag. |
Dictionary<string, JsonElement> TypedPropertyBag | Property | Gets or sets the typed property bag. |
List<Guid> InPointIds | Property | Gets or sets the in point ids. |
List<Guid> OutPointIds | Property | Gets or sets the out point ids. |
ComponentEventArgs (class)
Provides event arguments for component-related events.
| Member | Kind | Description |
|---|---|---|
SkiaComponent Component | Property | Gets the component associated with the event. |
ComponentEventArgs(SkiaComponent component) | Method | Initializes a new instance of the ComponentEventArgs class. The component associated with the event. |
ComponentInteractionEventArgs (class)
Event arguments for component interaction events. Provides detailed information about component clicks, hovers, and other interactions.
| Member | Kind | Description |
|---|---|---|
SkiaComponent Component | Property | Gets the component that was interacted with. |
SKPoint CanvasPosition | Property | Gets the mouse position in canvas coordinates where the interaction occurred. |
SKPoint ScreenPosition | Property | Gets the mouse position in screen coordinates where the interaction occurred. |
int MouseButton | Property | Gets the mouse button involved in the interaction (0=left, 1=right, 2=middle). |
SKKeyModifiers Modifiers | Property | Gets the keyboard modifiers pressed during the interaction. |
bool Handled | Property | Gets or sets whether this event has been handled and should not propagate further. |
InteractionType InteractionType | Property | Gets the interaction type (Click, DoubleClick, RightClick, Hover, etc.). |
object Tag | Property | Gets custom data associated with this interaction. |
ComponentInteractionEventArgs( SkiaComponent component, SKPoint canvasPosition, SKPoint screenPosition, int mouseButton, SKKeyModifiers modifiers, InteractionType interactionType) | Method | Initializes a new instance of the ComponentInteractionEventArgs class. |
ComponentItem (class)
Represents a component item that can be either a class or a method.
ComponentManager (class)
Manages the lifecycle, rendering, and interaction of Skia components. This is the central coordinator for the Skia component framework.
| Member | Kind | Description |
|---|---|---|
SKCanvas Canvas | Property | Gets or sets the Skia canvas used for rendering. |
DrawingContext DrawingContext | Property | Gets the current drawing context. |
InteractionContext InteractionContext | Property | Gets the current interaction context. |
SKColor BackgroundColor | Property | Gets or sets the background color of the canvas. |
bool AutoClearCanvas | Property | Gets or sets a value indicating whether the component manager should automatically clear the canvas before rendering. |
event EventHandler CanvasChanged | Event | Occurs when the canvas is changed. |
event EventHandler Rendering | Event | Occurs before rendering begins. |
event EventHandler Rendered | Event | Occurs after rendering is complete. |
event EventHandler<ComponentEventArgs> ComponentAdded | Event | Occurs when a component is added to the manager. |
event EventHandler<ComponentEventArgs> ComponentRemoved | Event | Occurs when a component is removed from the manager. |
ComponentManager() | Method | Initializes a new instance of the ComponentManager class. |
ComponentManager(SKCanvas canvas) : this() | Method | Initializes a new instance of the ComponentManager class with the specified canvas. The Skia canvas to use for rendering. |
void AddComponent(SkiaComponent component) | Method | Adds a component to the manager. The component to add. |
void RemoveComponent(SkiaComponent component) | Method | Removes a component from the manager. The component to remove. |
IReadOnlyCollection<SkiaComponent> GetComponents() | Method | Gets all components managed by this manager. A read-only collection of components. |
SkiaComponent FindComponent(string name) | Method | Finds a component by name. The name of the component to find. The component with the specified name, or null if not found. |
IEnumerable<T> FindComponents<T>() where T : SkiaComponent | Method | Finds components of the specified type. The type of components to find. A collection of components of the specified type. |
void Update() | Method | Updates all managed components. |
void Render() | Method | Renders all managed components to the canvas. |
bool HandleMouseDown(SKPoint point, int button = 0, int modifiers = 0) | Method | Handles mouse down events. The mouse position. The mouse button that was pressed. Modifier keys that were pressed. true if the event was handled; otherwise, false. |
bool HandleMouseMove(SKPoint point, int modifiers = 0) | Method | Handles mouse move events. The mouse position. Modifier keys that were pressed. true if the event was handled; otherwise, false. |
bool HandleMouseUp(SKPoint point, int button = 0, int modifiers = 0) | Method | Handles mouse up events. The mouse position. The mouse button that was released. Modifier keys that were pressed. true if the event was handled; otherwise, false. |
void Dispose() | Method | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
ComponentMetadata (class)
Metadata container for component information.
ComponentPalette (class)
A component palette that displays available Skia components in an organized list with drag and drop functionality for design-time component creation.
| Member | Kind | Description |
|---|---|---|
event EventHandler<ComponentItem> ComponentSelected | Event | Occurs when a component is selected in the palette. |
event EventHandler<ComponentDragEventArgs> ComponentDragStarted | Event | Occurs when a component starts being dragged from the palette. |
event EventHandler<ComponentDragEventArgs> ComponentDragging | Event | Occurs when a component is being dragged. |
event EventHandler<ComponentDragEventArgs> ComponentDragEnded | Event | Occurs when a component drag operation ends. |
ObservableCollection<ComponentCategory> Categories | Property | Gets or sets the categories of components to display. |
ComponentCategory SelectedCategory | Property | Gets or sets the currently selected category. |
float ItemHeight | Property | Gets or sets the height of each component item. |
float CategoryHeaderHeight | Property | Gets or sets the height of category headers. |
ComponentItem DraggedComponent | Property | Gets the currently dragged component. |
bool IsDragging | Property | Gets whether a component is currently being dragged. |
ComponentPalette() | Method | Initializes a new instance of the ComponentPalette class. |
void LoadComponentsFromRegistry() | Method | Loads components from the SkiaComponentRegistry and organizes them into categories. |
ComponentPropertiesCancelledEventArgs (class)
Event arguments for component properties cancelled event.
| Member | Kind | Description |
|---|---|---|
SkiaComponent Component | Property | Gets the component whose property editing was cancelled. |
ComponentPropertiesCancelledEventArgs(SkiaComponent component) | Method | Initializes a new instance of the ComponentPropertiesCancelledEventArgs class. The component whose property editing was cancelled. |
ComponentPropertiesSavedEventArgs (class)
Event arguments for component properties saved event.
| Member | Kind | Description |
|---|---|---|
SkiaComponent Component | Property | Gets the component whose properties were saved. |
ComponentPropertiesSavedEventArgs(SkiaComponent component) | Method | Initializes a new instance of the ComponentPropertiesSavedEventArgs class. The component whose properties were saved. |
ComponentPropertyEditor (class)
Generic property editor for any SkiaComponent, providing a comprehensive interface for editing component properties, configuration, and display settings.
| Member | Kind | Description |
|---|---|---|
DrawingManager Manager | Property | Gets or sets the manager. |
override bool ShowInPalette | Property | Gets or sets the show in palette. |
event EventHandler<ComponentPropertiesSavedEventArgs> PropertiesSaved | Event | Event raised when properties are saved. |
event EventHandler<ComponentPropertiesCancelledEventArgs> PropertiesCancelled | Event | Event raised when editing is cancelled. |
event EventHandler PropertyValueChanged | Event | Event raised whenever a property value changes via the editor controls. |
SkiaComponent SelectedComponent | Property | Gets or sets the currently selected component for editing. |
Beep.Skia.Model.IConnectionLine SelectedLine | Property | Gets or sets the currently selected line for editing. |
bool IsDirty | Property | Gets whether the current properties have unsaved changes. |
ComponentPropertyEditor() | Method | Initializes a new instance of the ComponentPropertyEditor class. |
override bool HandleMouseDown(SKPoint point, InteractionContext context) | Method | Gets or sets the handle mouse down. |
override bool HandleMouseMove(SKPoint point, InteractionContext context) | Method | Gets or sets the handle mouse move. |
override bool HandleMouseUp(SKPoint point, InteractionContext context) | Method | Gets or sets the handle mouse up. |
void HandleKeyChar(char ch) | Method | Gets or sets the handle key char. |
void HandleKeyDown(PropertyEditorKey key) | Method | Gets or sets the handle key down. |
ComponentStateChangedEventArgs (class)
Provides event arguments for component state changes.
| Member | Kind | Description |
|---|---|---|
ComponentState OldState | Property | Gets the previous state of the component. |
ComponentState NewState | Property | Gets the new state of the component. |
ComponentStateChangedEventArgs(ComponentState oldState, ComponentState newState) | Method | Initializes a new instance of the ComponentStateChangedEventArgs class. The previous state. The new state. |
ConditionalNode (class)
Automation node that provides conditional branching logic for workflow automation. Evaluates conditions and directs flow to different paths based on results.
| Member | Kind | Description |
|---|---|---|
ConditionalNode() | Method | Initializes a new instance of the ConditionalNode class. |
List<ConditionRule> Conditions | Property | Gets or sets the list of conditions to evaluate. |
string LogicOperator | Property | Gets or sets the logic operator to combine conditions (AND, OR). |
string DefaultPath | Property | Gets or sets the default path when conditions don't match (true, false, custom path name). |
bool EvaluateAllConditions | Property | Gets or sets whether to evaluate all conditions or stop at first match. |
Dictionary<string, List<IAutomationNode>> ConditionalPaths | Property | Gets or sets the conditional execution paths. |
bool AllowCustomPaths | Property | Gets or sets whether custom named paths are allowed beyond true/false. |
override string Description | Property | Gets the description of what this automation node does. |
override NodeType NodeType | Property | Gets the type of this automation node. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the conditional node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result. |
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the conditional logic and returns the result with the chosen path. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result. |
override Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. A dictionary describing the input schema. |
override Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
ConditionEvaluationResult (class)
Represents the result of evaluating a single condition.
| Member | Kind | Description |
|---|---|---|
string Condition | Property | Gets or sets the condition description. |
bool Result | Property | Gets or sets the evaluation result. |
object ActualValue | Property | Gets or sets the actual value that was evaluated. |
object ExpectedValue | Property | Gets or sets the expected value for comparison. |
string Error | Property | Gets or sets any error that occurred during evaluation. |
TimeSpan EvaluationTime | Property | Gets or sets the time taken to evaluate this condition. |
ConditionRule (class)
Represents a condition rule for evaluation.
| Member | Kind | Description |
|---|---|---|
string Field | Property | Gets or sets the field name or path to evaluate. |
string Operator | Property | Gets or sets the comparison operator. |
object Value | Property | Gets or sets the value to compare against. |
string CustomPath | Property | Gets or sets the custom path to take if this condition is true (optional). |
ConnectAutomationNodesAction (class)
Action for connecting automation nodes.
| Member | Kind | Description |
|---|---|---|
ConnectAutomationNodesAction(DrawingManager manager, Components.AutomationNode node1, Components.AutomationNode node2, IConnectionLine line, IConnectionPoint outputPoint, IConnectionPoint inputPoint) | Method | Initializes a new instance of the ConnectAutomationNodesAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
ConnectComponentsAction (class)
Action for connecting components.
| Member | Kind | Description |
|---|---|---|
ConnectComponentsAction(DrawingManager manager, SkiaComponent component1, SkiaComponent component2, IConnectionLine line) | Method | Initializes a new instance of the ConnectComponentsAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
ConnectionChangedEventArgs (class)
Event arguments for connection added/removed events.
| Member | Kind | Description |
|---|---|---|
IDrawableComponent Source | Property | The source component (connector / initiator). |
IDrawableComponent Target | Property | The target component (connected / receiver). |
ConnectionDirection Direction | Property | Direction relative to the component firing the event. |
ConnectionChangedEventArgs(IDrawableComponent source, IDrawableComponent target, ConnectionDirection direction) | Method | Initializes a new instance of the ConnectionChangedEventArgs class. Source component. Target component. Direction relative to event sender. |
ConnectionCreatedEventArgs (class)
Event arguments for connection creation events.
| Member | Kind | Description |
|---|---|---|
WorkflowConnection Connection | Property | Gets or sets the connection. |
ConnectionDirection (enum)
Direction of a connection relative to the component raising the event.
ConnectionLine (class)
Represents a visual connection line between two connection points that can be drawn on a Skia canvas. This class implements the IConnectionLine interface and provides functionality for drawing lines, arrows, labels, animations, and user interaction handling.
| Member | Kind | Description |
|---|---|---|
ConnectionLine(Action invalidateVisualAction) | Method | Initializes a new instance of the ConnectionLine class with an invalidate visual action. The action to call when the visual needs to be invalidated. |
IConnectionPoint Start | Property | Gets or sets the starting connection point of this line. |
IConnectionPoint End | Property | Gets or sets the ending connection point of this line. |
SKPoint EndPoint | Property | Gets or sets the end point coordinates when not connected to an end connection point. |
bool IsConnected | Property | Gets or sets a value indicating whether this connection line is connected. |
bool IsSelected | Property | Gets or sets a value indicating whether this connection line is selected. |
bool IsVisible | Property | Gets or sets whether this line is visible. Hidden lines are skipped by the renderer. |
bool IsAnimated | Property | Gets or sets a value indicating whether this connection line should be animated. |
bool IsDataFlowAnimated | Property | Gets or sets a value indicating whether data flow animation is enabled. |
float DataFlowSpeed | Property | Gets or sets the speed of the data flow animation (pixels per second). |
float DataFlowParticleSize | Property | Gets or sets the size of the data flow particles. |
SKColor DataFlowColor | Property | Gets or sets the color of the data flow particles. |
bool ShowStartArrow | Property | Gets or sets a value indicating whether to show an arrow at the start of the line. |
bool ShowEndArrow | Property | Gets or sets a value indicating whether to show an arrow at the end of the line. |
SKPaint Paint | Property | Gets or sets the paint object used for drawing the connection line. |
string Label1 | Property | Gets or sets the first label text to display on the connection line. |
string Label2 | Property | Gets or sets the second label text to display on the connection line. |
string Label3 | Property | Gets or sets the third label text to display on the connection line. |
string DataTypeLabel | Property | Gets or sets the data type label to display on the connection line. If not set, will automatically use the data type from the start connection point. |
string GuardCondition | Property | Optional guard condition evaluated before a state-machine transition fires. |
string TransitionAction | Property | Optional action executed when a state-machine transition fires. |
string TriggerEvent | Property | Optional trigger event name that causes the transition to fire. |
event EventHandler<ConnectionArgs> StartArrowClicked | Event | Occurs when the start arrow of the connection line is clicked. |
event EventHandler<ConnectionArgs> EndArrowClicked | Event | Occurs when the end arrow of the connection line is clicked. |
event EventHandler<LineArgs> LineClicked | Event | Occurs when the connection line itself is clicked. |
SKColor LineColor | Property | Gets or sets the color of the connection line. |
ConnectionLine(IConnectionPoint start, IConnectionPoint end, Action invalidateVisualAction) | Method | Initializes a new instance of the ConnectionLine class with start and end connection points. The starting connection point. The ending connection point. The action to call when the visual needs to be invalidated. Thrown when start, end, or invalidateVisualAction is null. |
ConnectionLine(IConnectionPoint start, SKPoint end, Action invalidateVisualAction) | Method | Initializes a new instance of the ConnectionLine class with a start connection point and end coordinates. The starting connection point. The ending point coordinates. The action to call when the visual needs to be invalidated. Thrown when start or invalidateVisualAction is null. |
void Draw(SKCanvas canvas) | Method | Draws the connection line on the specified Skia canvas. The canvas to draw on. |
bool LineContainsPoint(SKPoint point) | Method | Determines whether the specified point lies on the connection line within the click threshold. The point to test. true if the point is on the line; otherwise, false. |
bool ArrowContainsPoint(SKPoint point, bool startArrow) | Method | Determines whether the specified point lies within an arrow of the connection line. The point to test. true to test the start arrow; false to test the end arrow. true if the point is within the arrow; otherwise, false. |
void OnClick(SKPoint clickPoint) | Method | Handles click events on the connection line, determining whether an arrow or the line itself was clicked. The point where the click occurred. |
void StartAnimation() | Method | Starts the animation of the connection line if it is set to be animated. |
void StopAnimation() | Method | Stops the animation of the connection line. |
void Dispose() | Method | Releases all resources used by the connection line. |
ConnectionManager (class)
Registry of named connections with credential resolution through a vault.
| Member | Kind | Description |
|---|---|---|
CredentialVault Vault | Property | Credential vault used to resolve connection secrets. |
ConnectionManager(CredentialVault vault = null) | Method | Initializes a new instance of the ConnectionManager class. |
int Count | Property | Gets or sets the count. |
void Register(AutomationConnection connection) | Method | Adds or replaces a connection definition. |
AutomationConnection Get(string name) | Method | Gets a connection by name, or null. |
bool Remove(string name) | Method | Removes a connection. |
IReadOnlyList<AutomationConnection> List() | Method | Lists all connections (sorted by name). |
Dictionary<string, object> Resolve(string name, bool includeSecrets = true) | Method | Resolves a connection into a flat settings dictionary, merging custom properties and credential values. Missing credentials add a "_warning" entry instead of throwing. |
string TestConnection(string name) | Method | Performs a configuration-level connection test (provider/endpoint/credential presence). Provider-specific network probing is left to the host. |
ConnectionPoint (class)
Represents a connection point on a workflow component that can be connected to other connection points. This class implements the IConnectionPoint interface and provides functionality for managing connections between workflow components.
| Member | Kind | Description |
|---|---|---|
Guid Id | Property | Gets the unique identifier of this connection point. |
ConnectionPoint() | Method | Initializes a new instance of the ConnectionPoint class. |
bool IsAvailable | Property | Gets or sets a value indicating whether this connection point is available for connection. |
SKPoint Position | Property | Gets or sets the position of this connection point. |
SKPoint Offset | Property | Gets or sets the offset of this connection point from its parent component. |
SKPoint Center | Property | Gets or sets the center point of this connection point. |
SKRect Rect | Property | Gets or sets the rectangular bounds of this connection point. |
int Radius | Property | Gets or sets the radius of this connection point (used for circular connection points). |
int Index | Property | Gets or sets the index of this connection point within its parent component. |
SKRect Bounds | Property | Gets or sets the bounding rectangle of this connection point. |
ComponentShape Shape | Property | Gets or sets the shape of this connection point. |
IDrawableComponent Component | Property | Gets or sets the parent workflow component that owns this connection point. |
IConnectionPoint Connection | Property | Gets or sets the connection point that this connection point is connected to. |
ConnectionPointType Type | Property | Gets or sets the type of this connection point (input or output). |
string DataType | Property | Gets or sets the data type of this connection point (e.g., "string", "number", "object"). Used for data flow visualization and connection validation. |
event EventHandler<ConnectionEventArgs> ConnectionMade | Event | Occurs when a connection is made from this connection point to another connection point. |
void ConnectTo(IConnectionPoint target) | Method | Connects this connection point to the specified target connection point. The target connection point to connect to. |
void Disconnect() | Method | Disconnects this connection point from any connected connection point. |
ConnectionPointExtensions (class)
Extension methods for LINQ operations on connection points.
| Member | Kind | Description |
|---|---|---|
static IEnumerable<IConnectionPoint> Concat(this IList<IConnectionPoint> first, IList<IConnectionPoint> second) | Method | Concatenates two collections of connection points. |
ConnectionRemovedEventArgs (class)
Event arguments for connection removal events.
| Member | Kind | Description |
|---|---|---|
WorkflowConnection Connection | Property | Gets or sets the connection. |
CredentialEntry (class)
A named credential. Secret is held in memory; exports encrypt it.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
CredentialType Type | Property | Gets or sets the type. |
string Username | Property | Gets or sets the username. |
string Secret | Property | Gets or sets the secret. |
Dictionary<string, string> Metadata | Property | Gets or sets the metadata. |
DateTime UpdatedAt | Property | Gets or sets the updated at. |
CredentialEntry Clone() | Method | Gets or sets the clone. |
CredentialType (enum)
Kind of credential stored in the vault.
CredentialVault (class)
In-memory credential store with passphrase-encrypted export/import (AES + PBKDF2). Secrets are never included in listings; use Get to retrieve them.
| Member | Kind | Description |
|---|---|---|
CredentialVault(string passphrase = null) | Method | Initializes a new instance of the CredentialVault class. |
int Count | Property | Number of stored credentials. |
void Set(CredentialEntry entry) | Method | Adds or replaces a credential. |
CredentialEntry Get(string name) | Method | Gets a copy of the credential (including the secret), or null when missing. |
bool Remove(string name) | Method | Removes a credential. |
IReadOnlyList<CredentialEntry> List() | Method | Lists credentials with secrets masked (safe for UI display). |
string Export() | Method | Exports the vault to JSON. Secrets are encrypted when a passphrase was supplied; otherwise they are stored as-is (development mode). |
void Import(string json) | Method | Imports a vault export, replacing current contents. Throws when the passphrase is wrong. |
static string Mask(string secret) | Method | Masks a secret for display: keeps the last two characters. |
CycleDetectionRule (class)
Detects cycles in the directed graph (excluding undirected links).
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string Description | Property | Gets or sets the description. |
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the validate. |
DataGrid (class)
A Material Design 3.0 data grid component
| Member | Kind | Description |
|---|---|---|
List<DataGridColumn> Columns | Property | Gets or sets the columns in the data grid |
List<DataGridRow> Rows | Property | Gets or sets the rows in the data grid |
int SelectedRowIndex | Property | Gets or sets the index of the selected row |
float RowHeight | Property | Gets or sets the height of each row |
float HeaderHeight | Property | Gets or sets the height of the header |
SKColor HeaderBackgroundColor | Property | Gets or sets the header background color |
SKColor RowBackgroundColor | Property | Gets or sets the row background color |
SKColor SelectedRowBackgroundColor | Property | Gets or sets the selected row background color |
SKColor GridLineColor | Property | Gets or sets the grid line color |
float GridLineWidth | Property | Gets or sets the grid line width |
bool ShowGridLines | Property | Gets or sets whether to show grid lines |
bool ShowHeaders | Property | Gets or sets whether to show headers |
DataGrid() | Method | Initializes a new instance of the DataGrid class |
void AddColumn(DataGridColumn column) | Method | Adds a column to the data grid |
void RemoveColumn(DataGridColumn column) | Method | Removes a column from the data grid |
void AddRow(DataGridRow row) | Method | Adds a row to the data grid |
void RemoveRow(DataGridRow row) | Method | Removes a row from the data grid |
void ClearRows() | Method | Clears all rows from the data grid |
DataGridRow GetRowAt(int index) | Method | Gets the row at the specified index |
DataGridColumn GetColumnAt(int index) | Method | Gets the column at the specified index |
DataGridColumn (class)
Represents a column in a DataGrid
| Member | Kind | Description |
|---|---|---|
string Header | Property | Gets or sets the column header text |
string PropertyName | Property | Gets or sets the property name to bind to |
float Width | Property | Gets or sets the column width |
bool IsVisible | Property | Gets or sets whether the column is visible |
TextAlignment TextAlignment | Property | Gets or sets the text alignment for the column |
DataGrid ParentGrid | Property | Gets the parent DataGrid |
DataGridRow (class)
Represents a row in a DataGrid
| Member | Kind | Description |
|---|---|---|
object DataItem | Property | Gets or sets the data item for this row |
bool IsSelected | Property | Gets or sets whether the row is selected |
SKColor BackgroundColor | Property | Gets or sets the background color |
DataGrid ParentGrid | Property | Gets the parent DataGrid |
object GetCellValue(DataGridColumn column) | Method | Gets the cell value for a specific column |
void SetCellValue(DataGridColumn column, object value) | Method | Sets the cell value for a specific column |
DataGridStyle (enum)
Specifies the style of a data grid.
DataInputNode (class)
Automation node that provides manual data input capabilities for workflows. Supports JSON editing, form-based input, and programmatic data entry. Similar to n8n's "Set" node or Make.com's data input functionality.
| Member | Kind | Description |
|---|---|---|
DataInputNode() | Method | Initializes a new instance of the DataInputNode class. |
string InputMode | Property | Gets or sets the input mode (JSON, Form, Code). |
string JsonData | Property | Gets or sets the JSON data for JSON input mode. |
Dictionary<string, object> FormData | Property | Gets or sets the form data for Form input mode. |
List<FormField> FormFields | Property | Gets or sets the form fields configuration for Form input mode. |
bool AllowMultipleEntries | Property | Gets or sets whether multiple data entries are allowed. |
List<Dictionary<string, object>> MultipleEntries | Property | Gets or sets the multiple data entries. |
string DataSchema | Property | Gets or sets the JSON schema for input validation. |
bool ValidateInput | Property | Gets or sets whether to validate input data. |
override string Description | Property | Gets the description of what this automation node does. |
override NodeType NodeType | Property | Gets the type of this automation node. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the data input node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result. |
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the data input and returns the configured data. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result. |
override Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. A dictionary describing the input schema. |
override Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
void AddEntry(Dictionary<string, object> entry) | Method | Adds a new entry to the multiple entries collection. The entry to add. |
void RemoveEntry(int index) | Method | Removes an entry from the multiple entries collection. The index of the entry to remove. |
void ClearEntries() | Method | Clears all entries from the multiple entries collection. |
DataSourceAutomationNode (class)
Automation node that provides access to BeepDataSources for use in workflow pipelines. Allows querying databases, files, APIs, and other data sources as part of automation workflows.
| Member | Kind | Description |
|---|---|---|
string DataSourceName | Property | Gets or sets the data source name. |
string EntityName | Property | Gets or sets the name of the entity (table, collection, etc.) to query. |
string QueryString | Property | Gets or sets the query string to execute against the data source. Can be SQL, MongoDB query, REST endpoint, etc. depending on the data source type. |
Dictionary<string, object> QueryParameters | Property | Gets or sets the parameters for the query. |
string OutputFormat | Property | Gets or sets the output format for the data (json, xml, csv, etc.). |
int MaxRows | Property | Gets or sets the maximum number of rows to return. |
bool UseCache | Property | Gets or sets whether to use caching for query results. |
TimeSpan CacheTimeout | Property | Gets or sets the cache timeout duration. |
DataSourceAutomationNode() | Method | Initializes a new instance of the DataSourceAutomationNode class. |
DataSourceAutomationNode(IDMEEditor dmeEditor, IDMLogger logger, IErrorsInfo errorObject) | Method | Initializes a new instance of the DataSourceAutomationNode class with data source manager dependencies. The DME editor instance for data source management. The logger instance for logging operations. The error handler instance. |
void SetDataSourceManager(IDMEEditor dmeEditor, IDMLogger logger, IErrorsInfo errorObject) | Method | Sets the data source manager dependencies for this node. The DME editor instance for data source management. The logger instance for logging operations. The error handler instance. |
override string Description | Property | Gets the description of what this automation node does. |
override NodeType NodeType | Property | Gets the type of this automation node. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the data source automation node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result. |
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the data source query and returns the results. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result. |
override Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. A dictionary describing the input schema. |
override Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
DataTransformNode (class)
Automation node that transforms and manipulates data as part of workflow automation. Supports filtering, mapping, aggregation, and custom transformations on input data.
| Member | Kind | Description |
|---|---|---|
string TransformType | Property | Gets or sets the type of transformation to perform (Map, Filter, Aggregate, Custom). |
Dictionary<string, object> TransformConfig | Property | Gets or sets the transformation configuration parameters. |
List<FieldMapping> FieldMappings | Property | Gets or sets the field mappings for data transformation. |
List<FilterCondition> Filters | Property | Gets or sets the filter conditions for data filtering. |
string CustomScript | Property | Gets or sets the custom transformation script (for Custom transform type). |
string OutputFormat | Property | Gets or sets the output format for the transformed data. |
bool PreserveOriginal | Property | Gets or sets whether to preserve the original data alongside the transformed data. |
override string Description | Property | Gets the description of what this automation node does. |
override NodeType NodeType | Property | Gets the type of this automation node. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the data transform node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result. |
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the data transformation and returns the results. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result. |
override Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. A dictionary describing the input schema. |
override Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
DatePicker (class)
A Material Design 3.0 Date Picker component that allows users to select dates.
| Member | Kind | Description |
|---|---|---|
event EventHandler<DateTime> DateSelected | Event | Occurs when the selected date changes. |
event EventHandler DialogOpened | Event | Occurs when the date picker dialog opens. |
event EventHandler DialogClosed | Event | Occurs when the date picker dialog closes. |
DateTime SelectedDate | Property | Gets or sets the currently selected date. |
string DateFormat | Property | Gets or sets the date format string. |
new SKColor TextColor | Property | Gets or sets the text color. |
SKColor AccentColor | Property | Gets or sets the accent color for selected dates. |
bool ShowTodayButton | Property | Gets or sets whether to show the "Today" button. |
DateTime? MinDate | Property | Gets or sets the minimum selectable date. |
DateTime? MaxDate | Property | Gets or sets the maximum selectable date. |
DatePicker() | Method | Initializes a new instance of the DatePicker class. |
DatePicker(float width, float height) : this() | Method | Initializes a new instance of the DatePicker class with specified dimensions. The width of the date picker. The height of the date picker. |
void ToggleCalendar() | Method | Toggles the calendar dialog visibility. |
void OpenCalendar() | Method | Opens the calendar dialog. |
void CloseCalendar() | Method | Closes the calendar dialog. |
DatePickerStyle (enum)
Specifies the style of a date picker.
DeadEndNodeRule (class)
Detects nodes that have inputs but no outputs (dead ends).
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string Description | Property | Gets or sets the description. |
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the validate. |
DeleteComponentsAction (class)
Action for deleting multiple components.
| Member | Kind | Description |
|---|---|---|
DeleteComponentsAction(DrawingManager manager, List<SkiaComponent> components, List<IConnectionLine> lines) | Method | Initializes a new instance of the DeleteComponentsAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
DiagramAssistantRegistry (class)
Tries registered assistants in order and returns the first successful suggestion, falling back through providers. Always contains the rule-based assistant by default.
| Member | Kind | Description |
|---|---|---|
DiagramAssistantRegistry(bool includeDefaultAssistant = true) | Method | Initializes a new instance of the DiagramAssistantRegistry class. |
IReadOnlyList<IDiagramAssistant> Assistants | Property | Gets or sets the assistants. |
void Register(IDiagramAssistant assistant, int priority = 0) | Method | Adds an assistant at the given priority (0 = first to be tried). |
bool Unregister(string name) | Method | Removes an assistant by name. |
DiagramSuggestion Generate(DiagramRequest request) | Method | Generates a suggestion using the first assistant that succeeds. Warnings from failed attempts are carried onto the final result. |
DiagramClickEventArgs (class)
Event args for diagram canvas click events (clicking empty space).
| Member | Kind | Description |
|---|---|---|
SKPoint ClickPosition | Property | Gets or sets the click position. |
MouseButton Button | Property | Gets or sets the button. |
DiagramComment (class)
A comment, optionally anchored to a component in the diagram.
| Member | Kind | Description |
|---|---|---|
string Id | Property | Gets or sets the id. |
string DocumentId | Property | Gets or sets the document id. |
string AuthorId | Property | Gets or sets the author id. |
string Text | Property | Gets or sets the text. |
string ComponentId | Property | Optional anchor: component name/id the comment refers to. |
DateTime CreatedAt | Property | Gets or sets the created at. |
bool Resolved | Property | Gets or sets the resolved. |
string ResolvedBy | Property | Gets or sets the resolved by. |
DateTime? ResolvedAt | Property | Gets or sets the resolved at. |
DiagramDto (class)
Serializable DTOs to persist a diagram: components and connection lines. Keeps per-component basic geometry and type, and connection endpoints by connection point GUIDs.
| Member | Kind | Description |
|---|---|---|
const int CurrentSchemaVersion = 2 | Constant | Schema version of the serialized payload. Increment when the DTO shape changes. |
int SchemaVersion | Property | Gets or sets the schema version of this payload. |
string ThemeName | Property | Gets or sets the name of the theme active when the diagram was saved. |
List<ComponentDto> Components | Property | Gets or sets the components. |
List<LineDto> Lines | Property | Gets or sets the lines. |
DiagramInteractionEventArgs (class)
Event arguments for canvas/diagram interaction events.
| Member | Kind | Description |
|---|---|---|
SKPoint CanvasPosition | Property | Gets the mouse position in canvas coordinates where the interaction occurred. |
SKPoint ScreenPosition | Property | Gets the mouse position in screen coordinates where the interaction occurred. |
int MouseButton | Property | Gets the mouse button involved in the interaction (0=left, 1=right, 2=middle). |
SKKeyModifiers Modifiers | Property | Gets the keyboard modifiers pressed during the interaction. |
bool Handled | Property | Gets or sets whether this event has been handled and should not propagate further. |
InteractionType InteractionType | Property | Gets the interaction type (Click, DoubleClick, RightClick, etc.). |
object Tag | Property | Gets custom data associated with this interaction. |
DiagramInteractionEventArgs( SKPoint canvasPosition, SKPoint screenPosition, int mouseButton, SKKeyModifiers modifiers, InteractionType interactionType) | Method | Initializes a new instance of the DiagramInteractionEventArgs class. |
DiagramIssue (class)
Validation result for a diagram issue.
| Member | Kind | Description |
|---|---|---|
string Message | Property | Gets or sets the message. |
DiagramIssueSeverity Severity | Property | Gets or sets the severity. |
SkiaComponent Component | Property | Gets or sets the component. |
IConnectionLine Line | Property | Gets or sets the line. |
string RuleName | Property | Gets or sets the rule name. |
string FixSuggestion | Property | Gets or sets the fix suggestion. |
override string ToString() | Method | Gets or sets the to string. |
DiagramIssueSeverity (enum)
DiagramRequest (class)
A request for an AI/assisted diagram generation.
| Member | Kind | Description |
|---|---|---|
string Prompt | Property | Natural-language or DSL description of the diagram. |
string DiagramKind | Property | Optional kind hint: "flowchart" (default) or "mindmap". |
int MaxNodes | Property | Maximum number of nodes to generate. |
DiagramSuggestion (class)
The result of an assisted generation attempt.
| Member | Kind | Description |
|---|---|---|
bool Success | Property | Gets or sets the success. |
DiagramDto Diagram | Property | Generated diagram, loadable via DrawingManager.LoadFromDto. |
string Explanation | Property | Human-readable summary of what was generated. |
List<string> Warnings | Property | Non-fatal issues encountered while generating. |
string Provider | Property | Name of the assistant that produced this suggestion. |
static DiagramSuggestion Failed(string provider, string reason) | Method | Gets or sets the failed. |
DiagramTemplates (class)
Provides pre-built diagram templates as DiagramDto objects that can be loaded via DrawingManager.LoadFromDto().
| Member | Kind | Description |
|---|---|---|
static DiagramDto FlowChartOrderValidation() | Method | Gets or sets the flow chart order validation. |
static DiagramDto ERDEcommerce() | Method | Gets or sets the ERD ecommerce. |
static DiagramDto ETLPipeline() | Method | Gets or sets the ETL pipeline. |
static DiagramDto DFDOrderSystem() | Method | Gets or sets the DFD order system. |
static DiagramDto UMLClassDiagram() | Method | Gets or sets the UML class diagram. |
static DiagramDto NetworkSocialGraph() | Method | Gets or sets the network social graph. |
static DiagramDto MindMapProductStrategy() | Method | Gets or sets the mind map product strategy. |
static DiagramDto StateMachineLogin() | Method | Gets or sets the state machine login. |
static DiagramDto BusinessPurchaseApproval() | Method | Gets or sets the business purchase approval. |
static DiagramDto PMSprintPlan() | Method | Gets or sets the PM sprint plan. |
static DiagramDto FlowChartApproval() | Method | Gets or sets the flow chart approval. |
static DiagramDto StateMachineOrder() | Method | Gets or sets the state machine order. |
static IReadOnlyDictionary<string, Func<DiagramDto>> All | Property | Gets or sets the all. |
DiagramValidator (class)
Validates a diagram against a set of pluggable rules. Call DrawingManager.ValidateDiagram() to run all registered rules.
| Member | Kind | Description |
|---|---|---|
IReadOnlyList<IDiagramRule> Rules | Property | Gets or sets the rules. |
void AddRule(IDiagramRule rule) | Method | Gets or sets the add rule. |
void AddDefaultRules() | Method | Gets or sets the add default rules. |
List<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the validate. |
DisconnectComponentsAction (class)
Action for disconnecting components.
| Member | Kind | Description |
|---|---|---|
DisconnectComponentsAction(DrawingManager manager, SkiaComponent component1, SkiaComponent component2, IConnectionLine line) | Method | Initializes a new instance of the DisconnectComponentsAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
DrawerPosition (enum)
Specifies the position of the navigation drawer.
DrawerType (enum)
Specifies the type of the navigation drawer.
DrawingAction (class)
Base class for all drawing actions that can be undone/redone. Actions are created after their change has been applied by the caller; Execute re-applies the change when redone, Undo reverses it.
| Member | Kind | Description |
|---|---|---|
abstract void Execute() | Method | Re-applies the action (used for redo). |
abstract void Undo() | Method | Undoes the action. |
DrawingManager (class)
Gets or sets the drawing manager.
| Member | Kind | Description |
|---|---|---|
void Draw(SKCanvas canvas) | Method | Draws all components and connection lines on the specified canvas. The canvas to draw on. |
Dropdown (class)
A Material Design 3.0 dropdown/combobox component.
| Member | Kind | Description |
|---|---|---|
event EventHandler<DropdownItem> SelectedItemChanged | Event | Occurs when the selected item changes. |
event EventHandler DropdownOpened | Event | Occurs when the dropdown is opened. |
event EventHandler DropdownClosed | Event | Occurs when the dropdown is closed. |
List<DropdownItem> Items | Property | Gets or sets the list of items in the dropdown. |
DropdownItem SelectedItem | Property | Gets or sets the currently selected item. |
string SelectedValue | Property | Gets or sets the selected value (convenience property). |
string Label | Property | Gets or sets the label text displayed above the dropdown. |
string Placeholder | Property | Gets or sets the placeholder text when no item is selected. |
string ErrorMessage | Property | Gets or sets the error message to display. |
DropdownVariant Variant | Property | Gets or sets the dropdown variant. |
ItemDisplayStyle DisplayStyle | Property | Gets or sets the item display style. |
new bool IsEnabled | Property | Gets or sets whether the dropdown is enabled. |
float CornerRadius | Property | Gets or sets the corner radius. |
new SKColor TextColor | Property | Gets or sets the text color. |
SKColor LabelColor | Property | Gets or sets the label color. |
SKColor BorderColor | Property | Gets or sets the border color. |
SKColor BackgroundColor | Property | Gets or sets the background color. |
float FontSize | Property | Gets or sets the font size. |
float DropdownHeight | Property | Gets or sets the maximum height of the dropdown list. |
int MaxVisibleItems | Property | Gets or sets the maximum number of visible items in the dropdown. |
bool IsExpanded | Property | Gets whether the dropdown is currently expanded. |
Dropdown() | Method | Initializes a new instance of the Dropdown class. |
override bool ContainsPoint(SKPoint point) | Method | Override hit testing to include the expanded dropdown list area when open. |
void AddItem(string text, string value = null, object tag = null, string iconPath = null, SKColor? iconColor = null) | Method | Adds an item to the dropdown. |
void RemoveItem(DropdownItem item) | Method | Removes an item from the dropdown. |
void ClearItems() | Method | Clears all items from the dropdown. |
void ToggleDropdown() | Method | Toggles the dropdown expansion state. |
void OpenDropdown() | Method | Opens the dropdown. |
void CloseDropdown() | Method | Closes the dropdown. |
DropdownItem (class)
Represents an item in the dropdown list.
DropdownVariant (enum)
Material Design 3.0 dropdown variants.
DslEdge (class)
A parsed DSL edge.
| Member | Kind | Description |
|---|---|---|
string From | Property | Gets or sets the from. |
string To | Property | Gets or sets the to. |
string Label | Property | Gets or sets the label. |
DslGraph (class)
Parsed graph of nodes and edges with warnings.
| Member | Kind | Description |
|---|---|---|
List<DslNode> Nodes | Property | Gets or sets the nodes. |
List<DslEdge> Edges | Property | Gets or sets the edges. |
List<string> Warnings | Property | Gets or sets the warnings. |
DslNode Find(string name) | Method | Gets or sets the find. |
DslNode (class)
A parsed DSL node with layout geometry.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string TypeKeyword | Property | Gets or sets the type keyword. |
string ClassName | Property | Resolved component class name (e.g. ProcessNode, DecisionNode). |
string Title | Property | Gets or sets the title. |
int Rank | Property | Gets or sets the rank. |
float X | Property | Gets or sets the x. |
float Y | Property | Gets or sets the y. |
float Width | Property | Gets or sets the width. |
float Height | Property | Gets or sets the height. |
EmptyDiagramRule (class)
Warns when the diagram is empty.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string Description | Property | Gets or sets the description. |
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the validate. |
EventTrigger (class)
Event-driven trigger fired by external code (webhook handlers, queue consumers, API endpoints, or data-change notifiers) calling Notify.
| Member | Kind | Description |
|---|---|---|
override string Name | Property | Gets or sets the name. |
override TriggerType TriggerType | Property | Gets or sets the trigger type. |
TriggerType EventKind | Property | Allows hosting a webhook/API/data-change trigger with the same implementation. |
EventTrigger() | Method | Initializes a new instance of the EventTrigger class. |
EventTrigger(TriggerType eventKind) | Method | Initializes a new instance of the EventTrigger class. |
override Task<bool> StartAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the start async. |
override Task<bool> StopAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the stop async. |
Task Notify(Dictionary<string, object> payload = null) | Method | Fires the trigger with the given payload (webhook body, queue message, changed record, ...). |
override Dictionary<string, object> GetConfigurationSchema() | Method |
ExecutionJob (class)
A submitted workflow execution job with its inputs and result.
| Member | Kind | Description |
|---|---|---|
string Id | Property | Gets or sets the id. |
string WorkflowId | Property | Gets or sets the workflow id. |
string WorkflowName | Property | Gets or sets the workflow name. |
string SubmittedBy | Property | Gets or sets the submitted by. |
DateTime SubmittedAt | Property | Gets or sets the submitted at. |
DateTime? StartedAt | Property | Gets or sets the started at. |
DateTime? CompletedAt | Property | Gets or sets the completed at. |
JobState State | Property | Gets or sets the state. |
string ExecutionId | Property | Engine execution id once the job starts running. |
string Error | Property | Failure message when State is Failed. |
Dictionary<string, object> Inputs | Property | Input variables for this execution. |
WorkflowResult Result | Property | Engine result once the job has finished. |
TimeSpan? Duration | Property | Gets or sets the duration. |
override string ToString() | Method | Gets or sets the to string. |
ExtensionComponentDescriptor (class)
A component contributed by an extension.
| Member | Kind | Description |
|---|---|---|
string ExtensionId | Property | Gets or sets the extension id. |
Type ComponentType | Property | Gets or sets the component type. |
string Category | Property | Gets or sets the category. |
string DisplayName | Property | Gets or sets the display name. |
string AssemblyQualifiedName | Property | Gets or sets the assembly qualified name. |
override string ToString() | Method | Gets or sets the to string. |
ExtensionInstallResult (class)
Outcome of an install/update/uninstall operation.
| Member | Kind | Description |
|---|---|---|
bool Success | Property | Gets or sets the success. |
string Error | Property | Gets or sets the error. |
InstalledExtension Extension | Property | Gets or sets the extension. |
static ExtensionInstallResult Ok(InstalledExtension extension) | Method | Gets or sets the ok. |
static ExtensionInstallResult Fail(string error) | Method | Gets or sets the fail. |
ExtensionLoadedEventArgs (class)
Raised after an extension has been loaded (successfully or with errors).
| Member | Kind | Description |
|---|---|---|
ExtensionLoadedEventArgs(LoadedExtension extension) | Method | Initializes a new instance of the ExtensionLoadedEventArgs class. |
LoadedExtension Extension | Property | Gets or sets the extension. |
ExtensionManifest (class)
Manifest describing an extension package. Stored as manifest.json inside a .beepkg archive.
| Member | Kind | Description |
|---|---|---|
const string FileName = "manifest.json" | Constant | Constant file name. |
int SchemaVersion | Property | Gets or sets the schema version. |
string Id | Property | Gets or sets the id. |
string Name | Property | Gets or sets the name. |
string Version | Property | Gets or sets the version. |
string Author | Property | Gets or sets the author. |
string Description | Property | Gets or sets the description. |
List<string> Tags | Property | Gets or sets the tags. |
string MinHostVersion | Property | Minimum host version required (semantic version). |
List<string> Dependencies | Property | Extension ids this package depends on. |
DateTime PublishedAt | Property | Gets or sets the published at. |
string Validate() | Method | Validates required fields. Returns null when valid, otherwise the error. |
ExtensionPackage (class)
An extension package: manifest plus its source archive.
| Member | Kind | Description |
|---|---|---|
ExtensionManifest Manifest | Property | Gets or sets the manifest. |
string PackagePath | Property | Gets or sets the package path. |
long SizeBytes | Property | Gets or sets the size bytes. |
string Sha256 | Property | Gets or sets the sha256. |
string Id | Property | Gets or sets the id. |
string Name | Property | Gets or sets the name. |
string Version | Property | Gets or sets the version. |
override string ToString() | Method | Gets or sets the to string. |
ExtensionPackageBuilder (class)
Creates .beepkg archives (zip with manifest.json at the root).
| Member | Kind | Description |
|---|---|---|
const string PackageExtension = ".beepkg" | Constant | Constant package extension. |
static ExtensionPackage Build(string sourceDirectory, ExtensionManifest manifest, string outputPath) | Method | Builds a package from a directory. The manifest is written as manifest.json and every other file in the directory is included. |
static string ComputeSha256(string filePath) | Method | Gets or sets the compute sha256. |
static ExtensionManifest ReadManifest(string packagePath) | Method | Reads a manifest from a package archive without extracting it. Returns null when the archive is missing, corrupt, or has no manifest. |
ExtensionPackageManager (class)
Installs, updates, and uninstalls extension packages. Packages are extracted to installRoot/<id>/<version>; the active version of each extension is tracked in installed.json. Extract paths are validated against zip-slip entries.
| Member | Kind | Description |
|---|---|---|
ExtensionPackageManager(string installRoot, IExtensionRegistry registry = null, string hostVersion = "1.0.0") | Method | Initializes a new instance of the ExtensionPackageManager class. |
string InstallRoot | Property | Root folder that holds installed extensions. |
IExtensionRegistry Registry | Property | Optional registry used by InstallFromRegistry and Update. |
long MaxEntryUncompressedBytes | Property | Maximum uncompressed size of a single package entry (default 256 MB). |
long MaxTotalUncompressedBytes | Property | Maximum total uncompressed size of a package (default 512 MB). Guards against zip bombs. |
int MaxEntryCount | Property | Maximum number of entries in a package (default 10,000). |
SemanticVersion HostVersion | Property | Host version used for manifest min-host-version checks. |
IReadOnlyList<InstalledExtension> Installed | Property | Installed extensions keyed by id (active version). |
IReadOnlyList<InstallLogEntry> Log | Property | Operation log, oldest first. |
InstalledExtension GetInstalled(string id) | Method | Gets or sets the get installed. |
bool IsInstalled(string id, string version = null) | Method | Gets or sets the is installed. |
IReadOnlyList<string> GetLoadDirectories() | Method | Folders that should be scanned by SkiaExtensionHost for the active extensions. |
ExtensionInstallResult Install(string packagePath, bool force = false) | Method | Installs a package archive. Validates the manifest, host version, and dependencies. |
ExtensionInstallResult InstallFromRegistry(string id, string version = null, bool force = false) | Method | Downloads a package from the registry and installs it. |
ExtensionInstallResult Uninstall(string id) | Method | Removes an installed extension and its files. |
ExtensionInstallResult Update(string id, bool force = false) | Method | Installs the newest registry version when it is newer than the installed one. |
ExtractedComponentResult (class)
Result of component extraction operation containing the component instance and metadata.
| Member | Kind | Description |
|---|---|---|
bool Success | Property | Gets or sets whether the extraction was successful. |
SkiaComponent Component | Property | Gets or sets the extracted component instance. |
AssemblyClassDefinition Definition | Property | Gets or sets the original component definition. |
Type ComponentType | Property | Gets or sets the component type. |
string AssemblyName | Property | Gets or sets the assembly name where the component is defined. |
string Namespace | Property | Gets or sets the namespace of the component. |
List<MethodsClass> Methods | Property | Gets or sets the list of methods available in the component. |
List<string> Errors | Property | Gets or sets the list of errors that occurred during extraction. |
string ErrorMessage | Property | Gets a formatted string of all errors. |
FabSize (enum)
Material Design 3.0 FAB sizes.
FabType (enum)
Material Design 3.0 FAB types.
FieldMapping (class)
Represents a field mapping for data transformation.
| Member | Kind | Description |
|---|---|---|
string SourceField | Property | Gets or sets the source field name or path. |
string TargetField | Property | Gets or sets the target field name. |
string Transform | Property | Gets or sets the transformation to apply to the field value. |
FileWatchTrigger (class)
File-system trigger: fires when files matching a filter are created, changed, deleted, or renamed under a watched directory. Configuration: Path, Filter (default *.*), IncludeSubdirectories.
| Member | Kind | Description |
|---|---|---|
override string Name | Property | Gets or sets the name. |
override TriggerType TriggerType | Property | Gets or sets the trigger type. |
string Path | Property | Directory to watch. |
string Filter | Property | File filter (e.g., *.csv). |
bool IncludeSubdirectories | Property | Whether to watch subdirectories. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Gets or sets the initialize async. |
override Task<ValidationResult> ValidateAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the validate async. |
override Task<bool> StartAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the start async. |
override Task<bool> StopAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the stop async. |
override Dictionary<string, object> GetConfigurationSchema() | Method |
FilterCondition (class)
Represents a filter condition for data filtering.
| Member | Kind | Description |
|---|---|---|
string Field | Property | Gets or sets the field name to filter on. |
string Operator | Property | Gets or sets the filter operator (equals, contains, etc.). |
object Value | Property | Gets or sets the value to filter by. |
FloatingActionButton (class)
A Material Design 3.0 Floating Action Button (FAB) component.
| Member | Kind | Description |
|---|---|---|
string Icon | Property | Gets or sets the icon displayed on the FAB (SVG path or Unicode character). |
SKColor BackgroundColor | Property | Gets or sets the background color of the FAB. |
SKColor IconColor | Property | Gets or sets the icon color of the FAB. |
FabSize Size | Property | Gets or sets the size of the FAB. |
FabType Type | Property | Gets or sets the type of the FAB. |
string ExtendedText | Property | Gets or sets the extended text for extended FAB. |
FloatingActionButton() | Method | Initializes a new instance of the FloatingActionButton class. |
FloatingActionButton(string icon) | Method | Initializes a new instance of the FloatingActionButton class with an icon. The icon to display. |
override bool ContainsPoint(SKPoint point) | Method | Determines whether the specified point is contained within the FAB. The point to test. True if the point is contained within the FAB. |
new bool HandleMouseDown(SKPoint point, InteractionContext context) | Method | Public wrapper for mouse down events (used by demos). |
new bool HandleMouseMove(SKPoint point, InteractionContext context) | Method | Public wrapper for mouse move events (used by demos). |
FlowchartDslParser (class)
Parses a compact flowchart DSL into a graph and lays it out top-down. Grammar (one statement per line): node ["(type)"] ["title"] ["->" node ...] [": edge label"] Examples: Start(start) "Start" -> Receive "Receive order" -> Valid(decision) "Valid?" Valid -> Process "Process payment" : yes Valid -> Notify "Notify customer" : no Process -> End(end) "End" Lines starting with # or // are comments. Node names are case-insensitive; a node is created on first mention and reused afterwards.
| Member | Kind | Description |
|---|---|---|
static DslGraph Parse(string text, int maxNodes = 60) | Method | Parses DSL text into a graph and applies the top-down layout. |
static void Layout(DslGraph graph) | Method | Assigns ranks (top-down depth) and row/column positions. |
FlowLayout (class)
A layout manager that arranges components in a flow, similar to text flow. Components are placed horizontally until there's no more space, then wrap to the next line.
| Member | Kind | Description |
|---|---|---|
float HorizontalSpacing | Property | Gets or sets the horizontal spacing between components. |
float VerticalSpacing | Property | Gets or sets the vertical spacing between rows of components. |
void Layout(IEnumerable<SkiaComponent> components, SKRect bounds, float padding = 0) | Method | Lays out the specified components within the given bounds. The components to layout. The bounds in which to layout the components. The padding around the layout area. |
ForceDirectedLayout (class)
Force-directed layout for network graphs. Uses simple spring-electric repulsion/attraction to position nodes.
| Member | Kind | Description |
|---|---|---|
int Iterations | Property | Gets or sets the iterations. |
float RepulsionStrength | Property | Gets or sets the repulsion strength. |
float AttractionStrength | Property | Gets or sets the attraction strength. |
float IdealEdgeLength | Property | Gets or sets the ideal edge length. |
float Damping | Property | Gets or sets the damping. |
float CenterX | Property | Gets or sets the center x. |
float CenterY | Property | Gets or sets the center y. |
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the arrange. |
FormField (class)
Represents a form field configuration for the DataInputNode.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the field name. |
string Type | Property | Gets or sets the field type (text, number, boolean, date, select). |
string Label | Property | Gets or sets the field label. |
object DefaultValue | Property | Gets or sets the default value. |
bool Required | Property | Gets or sets whether the field is required. |
string Placeholder | Property | Gets or sets the placeholder text. |
List<string> Options | Property | Gets or sets the options for select fields. |
GridAutoLayout (class)
Grid layout for UML class diagrams and similar structured layouts.
| Member | Kind | Description |
|---|---|---|
int Columns | Property | Gets or sets the columns. |
float HorizontalSpacing | Property | Gets or sets the horizontal spacing. |
float VerticalSpacing | Property | Gets or sets the vertical spacing. |
float StartX | Property | Gets or sets the start x. |
float StartY | Property | Gets or sets the start y. |
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the arrange. |
GridLayout (class)
A layout manager that arranges components in a grid with a fixed number of columns.
| Member | Kind | Description |
|---|---|---|
int Columns | Property | Gets or sets the number of columns in the grid. |
float HorizontalSpacing | Property | Gets or sets the horizontal spacing between components. |
float VerticalSpacing | Property | Gets or sets the vertical spacing between components. |
GridLayout() { } | Method | Initializes a new instance of the GridLayout class. |
GridLayout(int columns) | Method | Initializes a new instance of the GridLayout class with specified columns. The number of columns in the grid. |
void Layout(IEnumerable<SkiaComponent> components, SKRect bounds, float padding = 0) | Method | Lays out the specified components within the given bounds. The components to layout. The bounds in which to layout the components. The padding around the layout area. |
GroupBoxStyle (enum)
Specifies the style of a group box.
HierarchicalLayout (class)
Hierarchical (layered Sugiyama-style) auto-layout for flowcharts and DAG diagrams. Places nodes in layers based on longest path from sources, then minimizes crossings.
| Member | Kind | Description |
|---|---|---|
bool TopToBottom | Property | Gets or sets the top to bottom. |
float LayerSpacing | Property | Gets or sets the layer spacing. |
float NodeSpacing | Property | Gets or sets the node spacing. |
float StartX | Property | Gets or sets the start x. |
float StartY | Property | Gets or sets the start y. |
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the arrange. |
HistoryManager (class)
Helper class for managing undo/redo operations in the drawing manager. Callers apply a change first and then record the action with ExecuteAction; the action's Execute/Undo methods are used when replaying history.
| Member | Kind | Description |
|---|---|---|
int MaxHistoryDepth | Property | Gets or sets the maximum number of undo steps retained. 0 means unlimited. |
bool IsApplyingHistory | Property | Gets a value indicating whether an undo/redo replay is currently in progress. While replaying, nested history recording is suppressed to protect the stacks. |
bool CanUndo | Property | Gets a value indicating whether undo is available. |
bool CanRedo | Property | Gets a value indicating whether redo is available. |
event EventHandler HistoryChanged | Event | Occurs when the undo/redo state changes. |
HistoryManager(DrawingManager drawingManager) | Method | Initializes a new instance of the HistoryManager class. The drawing manager that owns this history manager. |
void ExecuteAction(DrawingAction action) | Method | Records an already-applied action on the undo stack. The action to record. |
void Undo() | Method | Undoes the last action. |
void Redo() | Method | Redoes the last undone action. |
void Clear() | Method | Clears the undo/redo history. |
int UndoCount | Property | Gets the number of actions that can be undone. |
int RedoCount | Property | Gets the number of actions that can be redone. |
HoverChangedEventArgs (class)
Event args for hover state changes.
| Member | Kind | Description |
|---|---|---|
IDrawableComponent Component | Property | Gets or sets the component. |
IConnectionLine Line | Property | Gets or sets the line. |
bool IsHovered | Property | Gets or sets the is hovered. |
SKPoint Position | Property | Gets or sets the position. |
HttpRequestNode (class)
Automation node that makes HTTP requests as part of workflow automation. Supports GET, POST, PUT, DELETE methods with configurable headers, authentication, and data transformation.
| Member | Kind | Description |
|---|---|---|
string Url | Property | Gets or sets the URL for the HTTP request. |
string Method | Property | Gets or sets the HTTP method (GET, POST, PUT, DELETE, etc.). |
Dictionary<string, string> Headers | Property | Gets or sets the HTTP headers to include in the request. |
string RequestBody | Property | Gets or sets the request body content. |
string AuthType | Property | Gets or sets the authentication type (None, Bearer, Basic, ApiKey). |
string AuthToken | Property | Gets or sets the authentication token or credentials. |
int TimeoutSeconds | Property | Gets or sets the request timeout in seconds. |
bool FollowRedirects | Property | Gets or sets whether to follow HTTP redirects automatically. |
string ResponseFormat | Property | Gets or sets the expected response format for parsing (json, xml, text, binary). |
override string Description | Property | Gets the description of what this automation node does. |
override NodeType NodeType | Property | Gets the type of this automation node. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the HTTP request node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration and input data for this node. The input data to validate. Token to cancel the validation. A task containing the validation result. |
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the HTTP request and returns the response. The execution context containing input data and workflow state. Token to cancel the execution. A task containing the execution result. |
override Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. A dictionary describing the input schema. |
override Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
IAutoLayout (interface)
Interface for automatic diagram layout algorithms. Takes components and connection lines and repositions components.
IAutomationDataSourceProvider (interface)
Host-provided bridge to a real data-source stack (e.g., BeepDataSources / BeepDM). Register an implementation with AutomationDataSourceRegistry and DataSourceAutomationNode will use it instead of simulated data.
IDiagramAssistant (interface)
Contract for diagram assistants (rule-based, local model, or cloud LLM). Implementations must be safe to call synchronously and must not throw for bad input.
IDiagramRule (interface)
Plugable validation rule for a diagram.
IExtensionRegistry (interface)
A source of extension packages. Implemented offline by LocalExtensionRegistry; an HTTP-backed implementation can plug in for a hosted marketplace.
ILayoutManager (interface)
Interface for layout managers that can arrange components within a container.
InstalledExtension (class)
An extension installed into the local install root.
| Member | Kind | Description |
|---|---|---|
string Id | Property | Gets or sets the id. |
string Name | Property | Gets or sets the name. |
string Version | Property | Gets or sets the version. |
string InstallPath | Property | Gets or sets the install path. |
DateTime InstalledAt | Property | Gets or sets the installed at. |
bool Enabled | Property | Gets or sets the enabled. |
override string ToString() | Method | Gets or sets the to string. |
InstallLogEntry (class)
A single line in the package-manager operation log.
| Member | Kind | Description |
|---|---|---|
DateTime Timestamp | Property | Gets or sets the timestamp. |
string Action | Property | Gets or sets the action. |
string Detail | Property | Gets or sets the detail. |
bool Success | Property | Gets or sets the success. |
override string ToString() | Method | Gets or sets the to string. |
InteractionHelper (class)
Helper class for handling user interactions in the drawing manager.
| Member | Kind | Description |
|---|---|---|
bool IsDragging | Property | Gets a value indicating whether a component is being dragged. |
bool IsDraggingLine | Property | Gets a value indicating whether a line is being dragged. |
bool IsSelecting | Property | Gets a value indicating whether a selection is being made. |
bool IsPanning | Property | Gets a value indicating whether the canvas is being panned. |
bool IsDrawingLine | Property | Gets a value indicating whether a line is being drawn. |
SkiaComponent DraggingComponent | Property | Gets the currently dragged component. |
IConnectionLine DraggingLine | Property | Gets the currently dragged line. |
SKPoint MousePosition | Property | Gets the current mouse position. |
SKRect SelectionRect | Property | Gets the current selection rectangle. |
InteractionHelper(DrawingManager drawingManager) | Method | Initializes a new instance of the InteractionHelper class. The drawing manager that owns this interaction helper. |
void HandleMouseDown(SKPoint point, SKKeyModifiers modifiers = SKKeyModifiers.None, int mouseButton = 0) | Method | Handles mouse down events. The point where the mouse down occurred. Keyboard modifiers. Mouse button pressed (0=left, 1=right, 2=middle). |
void HandleMouseUp(SKPoint point, SKKeyModifiers modifiers = SKKeyModifiers.None, int mouseButton = 0) | Method | Handles mouse up events. The point where the mouse up occurred. Keyboard modifiers. Mouse button released (0=left, 1=right, 2=middle). |
void HandleMouseMove(SKPoint point, SKKeyModifiers modifiers = SKKeyModifiers.None) | Method | Handles mouse move events. The point where the mouse move occurred. Keyboard modifiers. |
void HandleMouseWheel(SKPoint point, float delta) | Method | Handles mouse wheel events for zooming. The point where the mouse wheel event occurred. The wheel delta value. |
InteractionType (enum)
Types of interactions that can occur in the diagram.
ISkiaExtension (interface)
Entry point for a Beep.Skia extension package. Implementations must have a public parameterless constructor; the SkiaExtensionHost discovers and loads them from assemblies or a plugin directory.
ISkiaExtensionContext (interface)
Registration surface passed to Initialize.
ItemDisplayStyle (enum)
Dropdown item display styles.
JobState (enum)
Lifecycle state of a submitted workflow execution job.
JobStateChangedEventArgs (class)
Raised when a job transitions between states.
| Member | Kind | Description |
|---|---|---|
JobStateChangedEventArgs(ExecutionJob job, JobState oldState, JobState newState) | Method | Initializes a new instance of the JobStateChangedEventArgs class. |
ExecutionJob Job | Property | Gets or sets the job. |
JobState OldState | Property | Gets or sets the old state. |
JobState NewState | Property | Gets or sets the new state. |
KeyModifiers (enum)
Specifies the state of modifier keys on the keyboard.
Label (class)
A Material Design 3.0 text label component with typography support and optional SVG icons.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text displayed by the label. |
LabelStyle Style | Property | Gets or sets the Material Design 3.0 typography style. |
SKTextAlign TextAlign | Property | Gets or sets the text alignment. |
float FontSize | Property | Gets or sets the font size (for backward compatibility). |
SKFontStyleWeight FontWeight | Property | Gets the font weight based on the current typography style. |
new SKColor TextColor | Property | Gets or sets the text color (for backward compatibility). |
string LeadingIcon | Property | Gets or sets the leading SVG icon path or URL. |
string TrailingIcon | Property | Gets or sets the trailing SVG icon path or URL. |
string ErrorMessage | Property | Gets or sets the error message to display below the label. |
string Title | Property | Gets or sets the title text to display above the label. |
Label() | Method | Initializes a new instance of the Label class. |
Label(string text) : this() | Method | Initializes a new instance of the Label class with specified text. |
Label(string text, LabelStyle style) : this(text) | Method | Initializes a new instance of the Label class with specified text and style. |
LabelStyle (enum)
Material Design 3.0 typography styles for labels.
LineClickEventArgs (class)
Event args for connection line click events.
| Member | Kind | Description |
|---|---|---|
IConnectionLine Line | Property | Gets or sets the line. |
SKPoint ClickPosition | Property | Gets or sets the click position. |
MouseButton Button | Property | Gets or sets the button. |
bool IsDoubleClick | Property | Gets or sets the is double click. |
LineDto (class)
| Member | Kind | Description |
|---|---|---|
Guid StartPointId | Property | Gets or sets the start point id. |
Guid EndPointId | Property | Gets or sets the end point id. |
int StartComponentIndex | Property | Optional component indices used by templates (before GUIDs exist). When both are >= 0, template loading connects these components directly. |
int EndComponentIndex | Property | Gets or sets the end component index. |
bool ShowStartArrow | Property | Gets or sets the show start arrow. |
bool ShowEndArrow | Property | Gets or sets the show end arrow. |
string Label1 | Property | Gets or sets the label1. |
string Label2 | Property | Gets or sets the label2. |
string Label3 | Property | Gets or sets the label3. |
string DataTypeLabel | Property | Gets or sets the data type label. |
string GuardCondition | Property | Gets or sets the guard condition. |
string TransitionAction | Property | Gets or sets the transition action. |
string TriggerEvent | Property | Gets or sets the trigger event. |
uint LineColor | Property | Gets or sets the line color. |
int RoutingMode | Property | Gets or sets the routing mode. |
int FlowDirection | Property | Gets or sets the flow direction. |
int Label1Placement | Property | Gets or sets the label1 placement. |
int Label2Placement | Property | Gets or sets the label2 placement. |
int Label3Placement | Property | Gets or sets the label3 placement. |
int DataLabelPlacement | Property | Gets or sets the data label placement. |
float ArrowSize | Property | Gets or sets the arrow size. |
float[] DashPattern | Property | Gets or sets the dash pattern. |
bool ShowStatusIndicator | Property | Gets or sets the show status indicator. |
int Status | Property | Gets or sets the status. |
uint StatusColor | Property | Gets or sets the status color. |
bool IsAnimated | Property | Gets or sets the is animated. |
bool IsDataFlowAnimated | Property | Gets or sets the is data flow animated. |
float DataFlowSpeed | Property | Gets or sets the data flow speed. |
float DataFlowParticleSize | Property | Gets or sets the data flow particle size. |
uint DataFlowColor | Property | Gets or sets the data flow color. |
int StartMultiplicity | Property | Gets or sets the start multiplicity. |
int EndMultiplicity | Property | Gets or sets the end multiplicity. |
string SchemaJson | Property | Gets or sets the schema json. |
string ExpectedSchemaJson | Property | Gets or sets the expected schema json. |
LineInteractionEventArgs (class)
Event arguments for connection line interaction events.
| Member | Kind | Description |
|---|---|---|
IConnectionLine Line | Property | Gets the connection line that was interacted with. |
SKPoint CanvasPosition | Property | Gets the mouse position in canvas coordinates where the interaction occurred. |
SKPoint ScreenPosition | Property | Gets the mouse position in screen coordinates where the interaction occurred. |
int MouseButton | Property | Gets the mouse button involved in the interaction (0=left, 1=right, 2=middle). |
SKKeyModifiers Modifiers | Property | Gets the keyboard modifiers pressed during the interaction. |
bool Handled | Property | Gets or sets whether this event has been handled and should not propagate further. |
InteractionType InteractionType | Property | Gets the interaction type (Click, DoubleClick, RightClick, Hover, etc.). |
bool IsArrowClick | Property | Gets whether an arrow head was clicked (true) or the line itself (false). |
object Tag | Property | Gets custom data associated with this interaction. |
LineInteractionEventArgs( IConnectionLine line, SKPoint canvasPosition, SKPoint screenPosition, int mouseButton, SKKeyModifiers modifiers, InteractionType interactionType, bool isArrowClick = false) | Method | Initializes a new instance of the LineInteractionEventArgs class. |
List (class)
A Material Design 3.0 List component with support for single-line, two-line, and three-line items.
| Member | Kind | Description |
|---|---|---|
event EventHandler<ListItem> ItemSelected | Event | Occurs when an item is selected. |
event EventHandler<ListItem> ItemClicked | Event | Occurs when an item is clicked. |
ObservableCollection<ListItem> Items | Property | Gets or sets the collection of list items. |
ListItem SelectedItem | Property | Gets or sets the currently selected item (for single selection mode). |
ListType Type | Property | Gets or sets the list type (single-line, two-line, or three-line). |
bool ShowDividers | Property | Gets or sets whether to show dividers between items. |
bool AllowSelection | Property | Gets or sets whether items can be selected. |
SelectionMode Mode | Property | Gets or sets the selection mode. |
float ItemHeight | Property | Gets or sets the height of each list item. |
float DividerThickness | Property | Gets or sets the thickness of dividers. |
SKColor DividerColor | Property | Gets or sets the color of dividers. |
float FontSize | Property | Gets or sets the font size for list items. |
List() | Method | Initializes a new instance of the List class. |
void AddItem(string primaryText, string secondaryText = null, string tertiaryText = null, string leadingIcon = null, string trailingIcon = null, object tag = null) | Method | Adds an item to the list. |
void AddItem(ListItem item) | Method | Adds a ListItem to the list. |
void RemoveItem(ListItem item) | Method | Removes an item from the list. |
void ClearItems() | Method | Clears all items from the list. |
void SelectItem(ListItem item) | Method | Selects an item in the list. |
ListBoxItem (class)
Represents an item in a list box.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text of the item. |
object Value | Property | Gets or sets the value associated with the item. |
bool Selected | Property | Gets or sets whether the item is selected. |
ListBoxItem() | Method | Initializes a new instance of the ListBoxItem class. |
ListBoxItem(string text) | Method | Initializes a new instance of the ListBoxItem class with the specified text. |
ListBoxItem(string text, object value) | Method | Initializes a new instance of the ListBoxItem class with the specified text and value. |
override string ToString() | Method | Returns a string representation of the item. |
ListBoxItemCollection (class)
A collection of list box items.
| Member | Kind | Description |
|---|---|---|
void Add(string text) | Method | Adds an item with the specified text to the collection. |
void Add(string text, object value) | Method | Adds an item with the specified text and value to the collection. |
ListBoxStyle (enum)
Specifies the style of a list box.
ListItem (class)
Represents an item in a list component
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the item text |
string SubText | Property | Gets or sets the item sub-text |
string Icon | Property | Gets or sets the icon name or path |
SKColor TextColor | Property | Gets or sets the text color |
SKColor SubTextColor | Property | Gets or sets the sub-text color |
SKColor IconColor | Property | Gets or sets the icon color |
SKColor BackgroundColor | Property | Gets or sets the background color |
SKColor SelectedBackgroundColor | Property | Gets or sets the selected background color |
SKColor HoverBackgroundColor | Property | Gets or sets the hover background color |
float Height | Property | Gets or sets the item height |
bool IsVisible | Property | Gets or sets whether the item is visible |
bool IsEnabled | Property | Gets or sets whether the item is enabled |
bool IsSelected | Property | Gets or sets whether the item is selected |
object Tag | Property | Gets or sets the tag object |
bool IsHovered | Property | Gets whether the item is currently hovered |
bool IsPressed | Property | Gets whether the item is currently pressed |
List ParentList | Property | Gets the parent List |
event EventHandler Click | Event | Occurs when the item is clicked |
ListItem() | Method | Initializes a new instance of the ListItem class |
ListItem(string text) | Method | Initializes a new instance of the ListItem class with text |
ListItem(string text, string subText) | Method | Initializes a new instance of the ListItem class with text and sub-text |
virtual void PerformClick() | Method | Raises the Click event |
ListItemCollection (class)
A collection of ListItem objects
| Member | Kind | Description |
|---|---|---|
ListItemCollection(List parentList) | Method | Initializes a new instance of the ListItemCollection class |
void Add(string text) | Method | Adds a ListItem to the collection |
void Add(string text, string subText) | Method | Adds a ListItem to the collection with text and sub-text |
ListType (enum)
Material Design 3.0 list types.
ListViewStyle (enum)
Specifies the style of a list view.
LoadedExtension (class)
Result of loading one extension.
| Member | Kind | Description |
|---|---|---|
ISkiaExtension Extension | Property | Gets or sets the extension. |
string Id | Property | Gets or sets the id. |
string Name | Property | Gets or sets the name. |
string Version | Property | Gets or sets the version. |
string Description | Property | Gets or sets the description. |
List<Type> ComponentTypes | Property | Gets or sets the component types. |
List<string> Errors | Property | Gets or sets the errors. |
bool Success | Property | Gets or sets the success. |
override string ToString() | Method | Gets or sets the to string. |
LocalExtensionRegistry (class)
Offline registry backed by a folder of .beepkg files. Useful for tests, air-gapped installs, and as a local cache in front of a hosted marketplace.
| Member | Kind | Description |
|---|---|---|
LocalExtensionRegistry(string root, bool scanOnCreate = true) | Method | Initializes a new instance of the LocalExtensionRegistry class. |
string Name | Property | Gets or sets the name. |
string Root | Property | Folder containing the .beepkg files. |
IReadOnlyList<ExtensionPackage> Packages | Property | Packages currently indexed, newest version per id first. |
void Refresh() | Method | Rescans the registry folder. |
IReadOnlyList<ExtensionPackage> Search(string query = null, string tag = null, int max = 50) | Method | Gets or sets the search. |
ExtensionPackage GetPackage(string id, string version = null) | Method | Gets or sets the get package. |
bool TryDownload(ExtensionPackage package, string targetPath, out string error) | Method | Gets or sets the try download. |
ManualTrigger (class)
Manual trigger: fires only when ActivateAsync is called (useful for tests, run buttons, and API-triggered executions).
| Member | Kind | Description |
|---|---|---|
override string Name | Property | Gets or sets the name. |
override TriggerType TriggerType | Property | Gets or sets the trigger type. |
override Task<bool> StartAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the start async. |
override Task<bool> StopAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the stop async. |
override Dictionary<string, object> GetConfigurationSchema() | Method |
ManualTriggerEventArgs (class)
Event arguments for manual trigger events.
| Member | Kind | Description |
|---|---|---|
DateTime TriggerTime | Property | Gets or sets the time when the trigger was activated. |
int ExecutionCount | Property | Gets or sets the execution count. |
Model.ExecutionContext Context | Property | Gets or sets the execution context. |
Dictionary<string, object> TriggerData | Property | Gets or sets additional trigger data. |
string TriggerSource | Property | Gets or sets the source of the trigger (Button, Keyboard, API, etc.). |
ManualTriggerNode (class)
Automation node that triggers workflow execution manually through user interaction. Provides interactive buttons, keyboard shortcuts, and programmatic triggering capabilities.
| Member | Kind | Description |
|---|---|---|
ManualTriggerNode() | Method | Initializes a new instance of the ManualTriggerNode class. |
event EventHandler<ManualTriggerEventArgs> ManuallyTriggered | Event | Event raised when the manual trigger is activated. |
event EventHandler<TriggerConfirmationEventArgs> ConfirmationRequested | Event | Event raised when trigger confirmation is requested. |
string TriggerText | Property | Gets or sets the text displayed on the trigger button. |
string KeyboardShortcut | Property | Gets or sets the keyboard shortcut for triggering (e.g., "Ctrl+Enter"). |
bool RequireConfirmation | Property | Gets or sets whether confirmation is required before triggering. |
string ConfirmationMessage | Property | Gets or sets the confirmation message displayed to users. |
bool IsTriggerable | Property | Gets or sets whether the trigger is currently available for activation. |
int ExecutionCount | Property | Gets the number of times this trigger has been activated. |
DateTime LastExecution | Property | Gets the time of the last manual trigger activation. |
Dictionary<string, object> TriggerPayload | Property | Gets or sets additional payload data to include with trigger execution. |
bool AutoReset | Property | Gets or sets whether the trigger automatically resets to triggerable state after execution. |
TimeSpan CooldownPeriod | Property | Gets or sets the cooldown period between trigger activations. |
bool IsInCooldown | Property | Gets whether the trigger is currently in cooldown period. |
TimeSpan CooldownRemaining | Property | Gets the time remaining in the cooldown period. |
override string Description | Property | Gets the description of what this automation node does. |
override NodeType NodeType | Property | Gets the type of this automation node. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the manual trigger node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration for this manual trigger node. The input data to validate (not used for trigger nodes). Token to cancel the validation. A task containing the validation result. |
override async Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the manual trigger and returns trigger information. The execution context. Token to cancel the execution. A task containing the execution result. |
override Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. Trigger nodes typically don't require input data. A dictionary describing the input schema. |
override Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
async Task<bool> TriggerAsync(string source = "Manual", Dictionary<string, object> additionalData = null) | Method | Manually triggers the workflow execution. The source of the trigger (Button, Keyboard, API, etc.). Additional data to include with the trigger. True if trigger was successful. |
async Task<bool> TriggerFromButtonAsync() | Method | Triggers the workflow when triggered by button click. True if trigger was successful. |
async Task<bool> TriggerFromKeyboardAsync() | Method | Triggers the workflow when triggered by keyboard shortcut. True if trigger was successful. |
void Reset() | Method | Resets the trigger to be available for activation again. |
void SetPayload(Dictionary<string, object> payload) | Method | Sets the trigger payload data. The payload data to set. |
bool CanTrigger() | Method | Checks if the trigger can currently be activated. True if the trigger can be activated. |
MaterialControl (class)
Base class for Material Design 3.0 controls with SVG support and modern styling.
| Member | Kind | Description |
|---|---|---|
event EventHandler<EventArgs> Clicked | Event | Occurs when the control is clicked. |
float Elevation | Property | Gets or sets the elevation of the control (Material Design shadow). |
string SvgIcon | Property | Gets or sets the SVG source for the control's icon. |
SvgScaleMode SvgScaleMode | Property | Gets or sets how the SVG should be scaled. |
bool MaintainAspectRatio | Property | Gets or sets whether to maintain aspect ratio when scaling SVG. |
virtual void InvalidateVisual() | Method | Invalidates the visual representation of the control. |
void RefreshVisual() | Method | Public wrapper for InvalidateVisual() to allow access from demo classes. |
MaterialDesignColors (class)
Material Design 3.0 Color Tokens - Public static class for accessing Material Design colors
| Member | Kind | Description |
|---|---|---|
static readonly SKColor Primary = new SKColor(0x67, 0x50, 0xA4); // Purple | Method | |
static readonly SKColor OnPrimary = SKColors.White | Field | |
static readonly SKColor PrimaryContainer = new SKColor(0xE9, 0xDD, 0xFF) | Method | |
static readonly SKColor OnPrimaryContainer = new SKColor(0x21, 0x00, 0x51) | Method | |
static readonly SKColor Secondary = new SKColor(0x62, 0x5B, 0x71) | Method | |
static readonly SKColor OnSecondary = SKColors.White | Field | |
static readonly SKColor SecondaryContainer = new SKColor(0xE8, 0xDE, 0xF8) | Method | |
static readonly SKColor OnSecondaryContainer = new SKColor(0x1D, 0x19, 0x23) | Method | |
static readonly SKColor Tertiary = new SKColor(0x7D, 0x52, 0x60) | Method | |
static readonly SKColor OnTertiary = SKColors.White | Field | |
static readonly SKColor TertiaryContainer = new SKColor(0xFF, 0xD8, 0xE4) | Method | |
static readonly SKColor OnTertiaryContainer = new SKColor(0x31, 0x10, 0x1D) | Method | |
static readonly SKColor Error = new SKColor(0xBA, 0x1A, 0x1A) | Method | |
static readonly SKColor OnError = SKColors.White | Field | |
static readonly SKColor ErrorContainer = new SKColor(0xFF, 0xDA, 0xD6) | Method | |
static readonly SKColor OnErrorContainer = new SKColor(0x41, 0x00, 0x0D) | Method | |
static readonly SKColor Surface = new SKColor(0xFF, 0xFB, 0xFE) | Method | |
static readonly SKColor OnSurface = new SKColor(0x1C, 0x1B, 0x1F) | Method | |
static readonly SKColor SurfaceVariant = new SKColor(0xE7, 0xE0, 0xEC) | Method | |
static readonly SKColor OnSurfaceVariant = new SKColor(0x49, 0x45, 0x4F) | Method | |
static readonly SKColor SurfaceContainerHigh = new SKColor(0xF3, 0xED, 0xF4) | Method | |
static readonly SKColor Outline = new SKColor(0x79, 0x75, 0x7E) | Method | |
static readonly SKColor OutlineVariant = new SKColor(0xCA, 0xC4, 0xD0) | Method |
MindMapDslNode (class)
A parsed mind-map node with radial layout geometry.
| Member | Kind | Description |
|---|---|---|
string Title | Property | Gets or sets the title. |
int Depth | Property | Gets or sets the depth. |
List<MindMapDslNode> Children | Property | Gets or sets the children. |
float X | Property | Gets or sets the x. |
float Y | Property | Gets or sets the y. |
float Width | Property | Gets or sets the width. |
float Height | Property | Gets or sets the height. |
string TypeKeyword | Property | Type keyword: central (depth 0), topic (depth 1), subtopic (depth 2+). |
override string ToString() | Method | Gets or sets the to string. |
MindMapDslParser (class)
Parses an indentation-based outline into a mind-map tree and lays it out radially. Tabs count as four spaces. Blank lines are ignored; lines starting with # or // are comments.
| Member | Kind | Description |
|---|---|---|
static MindMapDslNode Parse(string text, out List<string> warnings, int maxNodes = 60) | Method | Parses an outline and applies the radial layout. |
const int MaxOutlineDepth = 100 | Constant | Maximum outline nesting depth. The radial layout walks the tree recursively, so deeper outlines are flattened onto the deepest allowed level instead of overflowing the stack. |
static MindMapDslNode ParseTree(string text, List<string> warnings = null, int maxNodes = 60) | Method | Parses the outline without laying it out. |
static void Layout(MindMapDslNode root, List<string> warnings = null) | Method | Assigns radial positions (root at the center, children on expanding arcs). |
MinimapControl (class)
Diagram minimap: a scaled overview of all components and connection lines with a viewport rectangle showing the currently visible world area (from pan/zoom). Intended to be added as a static overlay component.
| Member | Kind | Description |
|---|---|---|
DrawingManager Manager | Property | Drawing manager providing the diagram content and viewport. |
float MinimapPadding | Property | Padding inside the minimap frame. |
bool ShowViewport | Property | Draws the viewport rectangle when true. |
SKColor MinimapBackground | Property | Gets or sets the minimap background. |
SKColor ComponentFill | Property | Gets or sets the component fill. |
SKColor ComponentStroke | Property | Gets or sets the component stroke. |
SKColor ViewportStroke | Property | Gets or sets the viewport stroke. |
MinimapControl() | Method | Initializes a new instance of the MinimapControl class. |
SKRect CalculateWorldBounds() | Method | World-space bounds of the diagram content (minimum 1x1). |
float CalculateScale() | Method | Scale factor mapping world units to minimap pixels. |
SKPoint MapWorldToMinimap(SKPoint world) | Method | Maps a world-space point to canvas coordinates inside the minimap. |
SKRect CalculateViewportWorldRect() | Method | World-space rectangle currently visible, derived from pan/zoom and the bound canvas. Returns an empty rect when no canvas is attached. |
MouseButton (enum)
Specifies the mouse button that was pressed.
MoveComponentsAction (class)
Action for moving components.
| Member | Kind | Description |
|---|---|---|
MoveComponentsAction(DrawingManager manager, List<SkiaComponent> components, SKPoint offset) | Method | Initializes a new instance of the MoveComponentsAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
MoveLineAction (class)
Action for moving a connection line.
| Member | Kind | Description |
|---|---|---|
MoveLineAction(DrawingManager manager, IConnectionLine line, IConnectionPoint oldStartPoint, IConnectionPoint oldEndPoint, IConnectionPoint newStartPoint, IConnectionPoint newEndPoint) | Method | Initializes a new instance of the MoveLineAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
NodeAddedEventArgs (class)
Event arguments for node added events.
| Member | Kind | Description |
|---|---|---|
AutomationNode Node | Property | Gets or sets the node. |
NodePropertiesCancelledEventArgs (class)
Event arguments for node properties cancelled event.
| Member | Kind | Description |
|---|---|---|
AutomationNode Node | Property | Gets the node whose property editing was cancelled. |
NodePropertiesSavedEventArgs (class)
Event arguments for node properties saved event.
| Member | Kind | Description |
|---|---|---|
AutomationNode Node | Property | Gets the node whose properties were saved. |
NodePropertyEditor (class)
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.
| Member | Kind | Description |
|---|---|---|
override bool ShowInPalette | Property | Gets or sets the show in palette. |
event EventHandler<NodePropertiesSavedEventArgs> PropertiesSaved | Event | Event raised when properties are saved. |
event EventHandler<NodePropertiesCancelledEventArgs> PropertiesCancelled | Event | Event raised when editing is cancelled. |
AutomationNode SelectedNode | Property | Gets or sets the currently selected node for editing. |
bool IsDirty | Property | Gets whether the current properties have unsaved changes. |
NodePropertyEditor() | Method | Initializes a new instance of the NodePropertyEditor class. |
NodeRemovedEventArgs (class)
Event arguments for node removed events.
| Member | Kind | Description |
|---|---|---|
AutomationNode Node | Property | Gets or sets the node. |
NodeSelectedEventArgs (class)
Event arguments for node selection events.
| Member | Kind | Description |
|---|---|---|
AutomationNode Node | Property | Gets or sets the node. |
Notification (class)
A notification component for displaying messages.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the notification text. |
NotificationType Type | Property | Gets or sets the notification type. |
NotificationPosition Position | Property | Gets or sets the notification position. |
NotificationStyle Style | Property | Gets or sets the notification style. |
bool AutoClose | Property | Gets or sets whether the notification should auto-close. |
int Duration | Property | Gets or sets the duration in milliseconds before auto-closing. |
Notification() | Method | Initializes a new instance of the Notification class. |
void Show() | Method | Shows the notification. |
void Hide() | Method | Hides the notification. |
NotificationPosition (enum)
Specifies the position of a notification.
NotificationStyle (enum)
Specifies the style of a notification.
NotificationType (enum)
Specifies the type of a notification.
NumericUpDownStyle (enum)
Specifies the style of a numeric up-down control.
Orientation (enum)
Specifies the orientation of a stack layout.
OrphanNodeRule (class)
Detects nodes that have no connections (orphan nodes).
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string Description | Property | Gets or sets the description. |
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the validate. |
OverlappingComponentsRule (class)
Detects components whose bounding rectangles overlap significantly.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string Description | Property | Gets or sets the description. |
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the validate. |
Palette (class)
| Member | Kind | Description |
|---|---|---|
List<PaletteItem> Items | Property | Gets or sets the items. |
List<PaletteCategory> Categories | Property | Gets or sets the categories. |
Palette() | Method | Initializes a new instance of the Palette class. |
bool AutoHeight | Property | Gets or sets the auto height. |
bool AutoWidth | Property | Gets or sets the auto width. |
float? MaxHeight | Property | Gets or sets the max height. |
void RefreshLayout() | Method | Gets or sets the refresh layout. |
string SearchText | Property | Filters visible palette items by name or category (case-insensitive substring). Empty clears the filter and shows all items. |
void ApplyFilter(string query) | Method | Applies a search filter (alias for SearchText). |
int VisibleItemCount | Property | Gets the number of items currently visible after filtering. |
void AddItem(PaletteItem item) | Method | Gets or sets the add item. |
bool RemoveItem(PaletteItem item) | Method | Gets or sets the remove item. |
override bool HandleMouseDown(SKPoint point, InteractionContext context) | Method | Gets or sets the handle mouse down. |
override bool ContainsPoint(SKPoint point) | Method | Gets or sets the contains point. |
override bool HandleMouseMove(SKPoint point, InteractionContext context) | Method | Gets or sets the handle mouse move. |
override bool HandleMouseUp(SKPoint point, InteractionContext context) | Method | Gets or sets the handle mouse up. |
void ScrollBy(float deltaPixels) | Method | Gets or sets the scroll by. |
PaletteCategory (class)
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
bool IsCollapsed | Property | Gets or sets the is collapsed. |
List<PaletteItem> Items | Property | Gets or sets the items. |
PaletteItem (class)
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string ComponentType | Property | Gets or sets the component type. |
string Category | Property | Gets or sets the category. |
ERDMultiplicity? StartMultiplicity | Property | Gets or sets the start multiplicity. |
ERDMultiplicity? EndMultiplicity | Property | Gets or sets the end multiplicity. |
Panel (class)
A Material Design 3.0 surface container component that can hold other components.
| Member | Kind | Description |
|---|---|---|
PanelVariant Variant | Property | Gets or sets the panel variant (Material Design 3.0). |
float CornerRadius | Property | Gets or sets the corner radius of the panel. |
SKColor BackgroundColor | Property | Gets or sets the background color of the panel (for backward compatibility). |
SKColor BorderColor | Property | Gets or sets the border color of the panel (for backward compatibility). |
float BorderWidth | Property | Gets or sets the border width of the panel (for backward compatibility). |
string Title | Property | Gets or sets the title text displayed above the panel. |
Panel() | Method | Initializes a new instance of the Panel class. |
Panel(float width, float height) : this() | Method | Initializes a new instance of the Panel class with specified dimensions. |
void AddChild(SkiaComponent child, float x, float y) | Method | Adds a child component to this panel. |
PanelStyle (enum)
Specifies the style of a panel.
PanelVariant (enum)
Material Design 3.0 panel variants.
PasteComponentsAction (class)
Action for pasting components from the clipboard.
| Member | Kind | Description |
|---|---|---|
PasteComponentsAction(DrawingManager manager, List<SkiaComponent> components, List<IConnectionLine> lines = null) | Method | Initializes a new instance of the PasteComponentsAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
PresenceEntry (class)
Live presence for a user on a document.
| Member | Kind | Description |
|---|---|---|
string DocumentId | Property | Gets or sets the document id. |
string UserId | Property | Gets or sets the user id. |
DateTime LastSeen | Property | Gets or sets the last seen. |
string Activity | Property | Gets or sets the activity. |
ProgressBar (class)
A Material Design 3.0 progress bar component.
| Member | Kind | Description |
|---|---|---|
float Progress | Property | Gets or sets the progress value (0.0 to 1.0). |
bool IsIndeterminate | Property | Gets or sets whether the progress bar is in indeterminate state. |
ProgressBarVariant Variant | Property | Gets or sets the progress bar variant. |
float StrokeWidth | Property | Gets or sets the stroke width for the progress bar. |
SKColor ProgressColor | Property | Gets or sets the progress color. |
SKColor TrackColor | Property | Gets or sets the track color. |
ProgressBar() | Method | Initializes a new instance of the ProgressBar class. |
ProgressBar(float width, float height) : this() | Method | Initializes a new instance of the ProgressBar class with specified dimensions. |
void SetProgressPercent(float percent) | Method | Sets the progress as a percentage (0-100). |
ProgressBarStyle (enum)
Specifies the style of a progress bar.
ProgressBarVariant (enum)
Material Design 3.0 progress bar variants.
PropertyEditorKey (enum)
RadialLayout (class)
Radial auto-layout for MindMap diagrams. Children radiate outward from a central node at configurable angles and radius.
| Member | Kind | Description |
|---|---|---|
float MinRadius | Property | Gets or sets the min radius. |
float RadiusIncrement | Property | Gets or sets the radius increment. |
float StartAngle | Property | Gets or sets the start angle. |
float SweepAngle | Property | Gets or sets the sweep angle. |
void Arrange(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the arrange. |
RadioButtonSize (enum)
Specifies the size of a radio button.
RadioButtonStyle (enum)
Specifies the style of a radio button.
RadioGroup (class)
A group of radio button controls where only one can be selected at a time.
| Member | Kind | Description |
|---|---|---|
RadioGroupItemCollection Items | Property | Gets the collection of items in the radio group. |
RadioGroupStyle Style | Property | Gets or sets the style of the radio group. |
Orientation Orientation | Property | Gets or sets the orientation of the radio group. |
BorderStyle BorderStyle | Property | Gets or sets the border style of the radio group. |
int ItemHeight | Property | Gets or sets the height of each item. |
int Spacing | Property | Gets or sets the spacing between items. |
RadioGroupItem SelectedItem | Property | Gets or sets the selected item. |
RadioGroup() | Method | Initializes a new instance of the RadioGroup class. |
RadioGroupItem (class)
Represents an item in a radio group.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text of the item. |
bool Checked | Property | Gets or sets whether the item is checked. |
object Tag | Property | Gets or sets the tag associated with the item. |
RadioGroupItem() | Method | Initializes a new instance of the RadioGroupItem class. |
RadioGroupItem(string text) | Method | Initializes a new instance of the RadioGroupItem class with the specified text. |
RadioGroupItem(string text, bool isChecked) | Method | Initializes a new instance of the RadioGroupItem class with the specified text and checked state. |
RadioGroupItemCollection (class)
A collection of radio button items.
RadioGroupStyle (enum)
Specifies the style of a radio group.
RemoveComponentAction (class)
Action for removing a component.
| Member | Kind | Description |
|---|---|---|
RemoveComponentAction(DrawingManager manager, SkiaComponent component, List<IConnectionLine> lines) | Method | Initializes a new instance of the RemoveComponentAction class. |
override void Execute() | Method | Gets or sets the execute. |
override void Undo() | Method | Gets or sets the undo. |
RenderingHelper (class)
Helper class for rendering operations in the drawing manager.
| Member | Kind | Description |
|---|---|---|
RenderingHelper(DrawingManager drawingManager) | Method | Initializes a new instance of the RenderingHelper class. The drawing manager that owns this rendering helper. |
void DrawGrid(SKCanvas canvas) | Method | Draws the grid on the canvas. The canvas to draw on. |
void DrawSelectionRectangle(SKCanvas canvas, SKRect selectionRect) | Method | Draws the selection rectangle. The canvas to draw on. The selection rectangle to draw. |
void DrawSelectionHandles(SKCanvas canvas) | Method | Draws selection handles for selected components. The canvas to draw on. |
void DrawAll(SKCanvas canvas) | Method | Draws all components and connection lines on the canvas. The canvas to draw on. |
void DrawForExport(SKCanvas canvas) | Method | Draws the diagram for export: no pan/zoom transform, no grid, no selection adorners, and no static screen-space overlays (palette, property editor). The canvas to draw on. |
string GetResizeHandleAt(SkiaComponent component, SKPoint point) | Method | Gets the resize handle at the specified point on a component. The component. The point to test. The handle identifier, or null if no handle is at the point. |
string GetArrowAt(IConnectionLine line, SKPoint point) | Method | Gets the arrow type ("start" or "end") at the specified point on a line. The connection line. The point to test. "start", "end", or null if no arrow is at the point. |
bool LineContainsPoint(IConnectionLine line, SKPoint point) | Method | Zoom-aware line hit-testing supporting straight, orthogonal, and curved routing. |
RuleBasedDiagramAssistant (class)
Offline, deterministic diagram assistant. Understands the flowchart DSL (see FlowchartDslParser) and indentation-based mind-map outlines (see MindMapDslParser), lays the result out, and produces a DiagramDto ready for DrawingManager.LoadFromDto.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
DiagramSuggestion Generate(DiagramRequest request) | Method | Gets or sets the generate. |
ScheduleTrigger (class)
Scheduled trigger: fires repeatedly on a fixed interval (Configuration["IntervalSeconds"] or the Interval property).
| Member | Kind | Description |
|---|---|---|
override string Name | Property | Gets or sets the name. |
override TriggerType TriggerType | Property | Gets or sets the trigger type. |
TimeSpan Interval | Property | Interval between activations. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Gets or sets the initialize async. |
override Task<ValidationResult> ValidateAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the validate async. |
override Task<bool> StartAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the start async. |
override async Task<bool> StopAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the stop async. |
override Dictionary<string, object> GetConfigurationSchema() | Method |
ScrollBarOrientation (enum)
Specifies the orientation of a scroll bar.
ScrollBarStyle (enum)
Specifies the style of a scroll bar.
Search (class)
A Material Design 3.0 Search component that provides search functionality with expandable search view.
| Member | Kind | Description |
|---|---|---|
string PlaceholderText | Property | Gets or sets the placeholder text displayed when the search field is empty. |
string Text | Property | Gets or sets the current search text. |
bool IsActive | Property | Gets or sets whether the search is in active (expanded) state. |
bool IsFocused | Property | Gets or sets whether the search field is focused. |
IReadOnlyList<SearchSuggestion> Suggestions | Property | Gets the list of search suggestions. |
float SearchBarHeight | Property | Gets or sets the height of the search bar when inactive. |
float SearchViewHeight | Property | Gets or sets the height of the search view when active. |
event EventHandler TextChanged | Event | Occurs when the search text changes. |
event EventHandler ActiveStateChanged | Event | Occurs when the active state changes. |
event EventHandler<SearchEventArgs> SearchPerformed | Event | Occurs when a search is performed. |
event EventHandler<SearchSuggestionEventArgs> SuggestionSelected | Event | Occurs when a suggestion is selected. |
Search() | Method | Initializes a new instance of the Search class. |
void AddSuggestion(SearchSuggestion suggestion) | Method | Adds a search suggestion. The search suggestion to add. |
void AddSuggestion(string text, string icon = null, object tag = null) | Method | Adds a search suggestion with the specified text. The suggestion text. Optional icon for the suggestion. Optional tag object. |
void ClearSuggestions() | Method | Clears all search suggestions. |
void PerformSearch() | Method | Performs a search with the current text. |
void ClearText() | Method | Clears the search text. |
SearchEventArgs (class)
Provides data for the SearchPerformed event.
| Member | Kind | Description |
|---|---|---|
string Query | Property | Gets the search query. |
SearchEventArgs(string query) | Method | Initializes a new instance of the SearchEventArgs class. The search query. |
SearchSuggestion (class)
Represents a search suggestion item.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets the text of the suggestion. |
string Icon | Property | Gets the icon of the suggestion. |
object Tag | Property | Gets the tag object associated with the suggestion. |
SearchSuggestion(string text, string icon = null, object tag = null) | Method | Initializes a new instance of the SearchSuggestion class. The suggestion text. The suggestion icon. The tag object. |
SearchSuggestionEventArgs (class)
Provides data for the SuggestionSelected event.
| Member | Kind | Description |
|---|---|---|
SearchSuggestion Suggestion | Property | Gets the selected suggestion. |
SearchSuggestionEventArgs(SearchSuggestion suggestion) | Method | Initializes a new instance of the SearchSuggestionEventArgs class. The selected suggestion. |
SegmentedButtonItem (class)
Represents a single segment in the segmented buttons control.
SegmentedButtons (class)
A Material Design 3.0 Segmented Buttons component that allows users to select one or more options from a set.
| Member | Kind | Description |
|---|---|---|
SegmentedButtonSelectionMode SelectionMode | Property | Gets or sets the selection mode for the segmented buttons. |
SKColor BackgroundColor | Property | Gets or sets the background color of the segmented buttons container. |
SKColor SelectedBackgroundColor | Property | Gets or sets the background color for selected segments. |
SKColor DividerColor | Property | Gets or sets the color of the dividers between segments. |
SKColor SelectedTextColor | Property | Gets or sets the text color for selected segments. |
SKColor UnselectedTextColor | Property | Gets or sets the text color for unselected segments. |
float CornerRadius | Property | Gets or sets the corner radius of the segmented buttons container. |
float DividerWidth | Property | Gets or sets the width of the dividers between segments. |
float SegmentHeight | Property | Gets or sets the height of each segment. |
bool ShowDividers | Property | Gets or sets whether to show dividers between segments. |
IReadOnlyList<SegmentedButtonItem> Items | Property | Gets the collection of segments in the segmented buttons control. |
IEnumerable<int> SelectedIndices | Property | Gets the indices of currently selected segments. |
event EventHandler<SelectionChangedEventArgs> SelectionChanged | Event | Occurs when the selection changes. |
SegmentedButtons() | Method | Initializes a new instance of the SegmentedButtons class. |
SegmentedButtonItem AddSegment(string text, string icon = null) | Method | Adds a new segment to the segmented buttons control. The text to display on the segment. The icon for the segment (optional). The created SegmentedButtonItem. |
bool RemoveSegment(SegmentedButtonItem item) | Method | Removes a segment from the segmented buttons control. The segment to remove. True if the segment was removed successfully. |
bool RemoveSegmentAt(int index) | Method | Removes a segment at the specified index. The index of the segment to remove. True if the segment was removed successfully. |
void ClearSegments() | Method | Clears all segments from the segmented buttons control. |
void SelectSegment(int index) | Method | Selects a segment at the specified index. The index of the segment to select. |
void DeselectSegment(int index) | Method | Deselects a segment at the specified index. The index of the segment to deselect. |
void ToggleSegment(int index) | Method | Toggles the selection state of a segment at the specified index. The index of the segment to toggle. |
static SegmentedButtons Create(params string[] segments) | Method | Creates a new SegmentedButtons instance with the specified segments. The text for each segment. A new SegmentedButtons instance. |
static SegmentedButtons CreateSingleSelect(params string[] segments) | Method | Creates a new SegmentedButtons instance with single selection mode. The text for each segment. A new SegmentedButtons instance. |
static SegmentedButtons CreateMultiSelect(params string[] segments) | Method | Creates a new SegmentedButtons instance with multiple selection mode. The text for each segment. A new SegmentedButtons instance. |
SegmentedButtonSelectionMode (enum)
Material Design 3.0 segmented button selection modes.
SelectionChangedEventArgs (class)
Event arguments for selection changes.
SelectionManager (class)
Helper class for managing component selection in the drawing manager.
| Member | Kind | Description |
|---|---|---|
event EventHandler SelectionChanged | Event | Occurs when the selection changes. |
SelectionManager(DrawingManager drawingManager) | Method | Initializes a new instance of the SelectionManager class. The drawing manager that owns this selection manager. |
void SelectComponent(SkiaComponent component, bool addToSelection = false) | Method | Selects a component. The component to select. Whether to add to existing selection. |
void ClearSelection() | Method | Clears the current selection. |
void SelectComponentsInRect(SKRect selectionRect, IEnumerable<SkiaComponent> components, bool addToSelection = false) | Method | Selects all components within the specified rectangle. The selection rectangle. The components to test against. Whether to add to existing selection. |
void RemoveFromSelection(SkiaComponent component) | Method | Removes a component from the selection. The component to remove. |
void SelectLine(IConnectionLine line, bool addToSelection = false) | Method | Selects a connection line. |
void RemoveFromSelection(IConnectionLine line) | Method | Removes a connection line from the selection. |
void SelectConnectionPoint(IConnectionPoint point, bool addToSelection = false) | Method | Selects a connection point. |
void RemoveFromSelection(IConnectionPoint point) | Method | Removes a connection point from the selection. |
bool IsSelected(SkiaComponent component) | Method | Gets a value indicating whether a component is selected. The component to test. true if the component is selected; otherwise, false. |
bool IsSelected(IConnectionLine line) | Method | Checks if a line is currently selected. |
bool IsSelected(IConnectionPoint point) | Method | Checks if a connection point is currently selected. |
void AddToSelection(SkiaComponent component) | Method | Adds a component to the current selection without clearing existing selection. The component to add. |
void SelectAll() | Method | Selects all non-static components in the diagram. |
SkiaComponent SelectNext(bool forward = true) | Method | Moves selection to the next (or previous) component in reading order (top-to-bottom, then left-to-right), wrapping around. Returns the newly selected component. |
SKRect GetSelectionBounds() | Method | Gets the bounds of all selected components combined. The combined bounds rectangle. |
SelectionMode (enum)
Selection modes for the list.
SemanticVersion (class)
Minimal semantic version (major.minor.patch with optional prerelease/build), used for extension and host version checks.
| Member | Kind | Description |
|---|---|---|
SemanticVersion(int major, int minor = 0, int patch = 0, string prerelease = null) | Method | Initializes a new instance of the SemanticVersion class. |
int Major | Property | Gets or sets the major. |
int Minor | Property | Gets or sets the minor. |
int Patch | Property | Gets or sets the patch. |
string Prerelease | Property | Gets or sets the prerelease. |
bool IsPrerelease | Property | Gets or sets the is prerelease. |
static bool TryParse(string text, out SemanticVersion version) | Method | Gets or sets the try parse. |
static SemanticVersion Parse(string text) | Method | Gets or sets the parse. |
int CompareTo(SemanticVersion other) | Method | Gets or sets the compare to. |
bool Equals(SemanticVersion other) | Method | Gets or sets the equals. |
override bool Equals(object obj) | Method | Gets or sets the equals. |
override int GetHashCode() | Method | Gets or sets the get hash code. |
override string ToString() | Method | Gets or sets the to string. |
static bool operator >(SemanticVersion left, SemanticVersion right) | Method | |
static bool operator <(SemanticVersion left, SemanticVersion right) | Method | |
static bool operator >=(SemanticVersion left, SemanticVersion right) | Method | |
static bool operator <=(SemanticVersion left, SemanticVersion right) | Method |
SkiaComponent (class)
Base class for all Skia components in the framework. Provides common functionality for positioning, sizing, rendering, and interaction.
| Member | Kind | Description |
|---|---|---|
float X | Property | Gets or sets the X coordinate of this component's position. |
float Y | Property | Gets or sets the Y coordinate of this component's position. |
float Width | Property | Gets or sets the width of this component. |
float Height | Property | Gets or sets the height of this component. |
string Name | Property | Gets or sets the name or identifier of this component. |
object Tag | Property | Gets or sets custom data associated with this component. |
virtual Dictionary<string, object> GetProperties(bool includeCommon = true, bool includeNodeProperties = true) | Method | Returns a flat dictionary of this component's properties for editor/serialization use. Includes common visual properties and flattens NodeProperties (key -> current value). Include common component properties (X, Y, Width, Height, Name, etc.). Include NodeProperties entries as simple key/value pairs. |
virtual void SetPropperties(IDictionary<string, object> properties, bool updateNodeProperties = true, bool applyToPublicSetters = true) | Method | Applies a set of properties to this component. Keys match property names (case-insensitive) and/or NodeProperties keys. Unknown keys are ignored. Safe type conversion is attempted for common types (numeric, bool, enum, SKColor, TimeSpan). Dictionary of properties to apply. When true, matching NodeProperties entries are updated with converted values. When true, attempts to set matching public properties on this component via reflection. |
void SetProperties(IDictionary<string, object> properties, bool updateNodeProperties = true, bool applyToPublicSetters = true) | Method | Convenience alias with corrected spelling. |
bool IsVisible | Property | Gets or sets a value indicating whether this component is visible. |
bool IsEnabled | Property | Gets or sets a value indicating whether this component is enabled for interaction. |
bool IsStatic | Property | When true, this component is static (non-movable) by user interactions. Framework drag operations should respect this and not move it. Default is false. |
bool IsSelected | Property | Gets or sets a value indicating whether this component is selected. |
float Opacity | Property | Gets or sets the opacity of this component (0.0 to 1.0). |
ComponentState State | Property | Gets the current state of this component. |
ComponentPriority Priority | Property | Gets or sets the rendering priority of this component. |
SKRect Bounds | Property | Gets the bounding rectangle of this component. |
SkiaComponent Parent | Property | Gets the parent component if this component is part of a hierarchy. |
List<SkiaComponent> Children | Property | Gets the child components of this component. |
string DisplayText | Property | Gets or sets the text to display on this component. |
TextPosition TextPosition | Property | Gets or sets the position where text should be displayed relative to the component. |
float TextFontSize | Property | Gets or sets the font size for the display text. |
SKColor TextColor | Property | Gets or sets the color of the display text. |
bool ShowDisplayText | Property | Gets or sets whether to show the display text. |
event EventHandler<SKRectEventArgs> BoundsChanged | Event | Occurs when the component's bounds change. |
event EventHandler VisibilityChanged | Event | Occurs when the component's visibility changes. |
event EventHandler EnabledChanged | Event | Occurs when the component's enabled state changes. |
event EventHandler OpacityChanged | Event | Occurs when the component's opacity changes. |
event EventHandler<ComponentStateChangedEventArgs> StateChanged | Event | Occurs when the component's state changes. |
virtual void Update(DrawingContext context) | Method | Updates the component's layout and internal state. The drawing context. |
virtual void Draw(SKCanvas canvas, DrawingContext context) | Method | Draws this component on the specified Skia canvas. The SkiaSharp canvas to draw on. The drawing context containing additional information. |
virtual bool ContainsPoint(SKPoint point) | Method | Determines whether the specified point is contained within this component. The point to test. true if the point is contained within this component; otherwise, false. |
virtual bool HandleMouseDown(SKPoint point, InteractionContext context) | Method | Handles mouse down events for this component. The mouse position. The interaction context. true if the event was handled; otherwise, false. |
virtual bool HandleMouseMove(SKPoint point, InteractionContext context) | Method | Handles mouse move events for this component. The mouse position. The interaction context. true if the event was handled; otherwise, false. |
virtual bool HandleMouseUp(SKPoint point, InteractionContext context) | Method | Handles mouse up events for this component. The mouse position. The interaction context. true if the event was handled; otherwise, false. |
virtual void AddChild(SkiaComponent child) | Method | Adds a child component to this component. The child component to add. |
virtual void RemoveChild(SkiaComponent child) | Method | Removes a child component from this component. The child component to remove. |
void Draw(SKCanvas canvas) | Method | Draws this component on the specified Skia canvas with a default drawing context. The SkiaSharp canvas to draw on. |
virtual void Move(SKPoint position) | Method | Moves this component to the specified position. The new position. |
virtual void Move(float x, float y) | Method | Moves this component to the specified position. The new X coordinate. The new Y coordinate. |
virtual void MoveBy(float deltaX, float deltaY) | Method | Moves this component by the specified offset. The X offset. The Y offset. |
virtual bool HitTest(SKPoint point) | Method | Determines whether the specified point hits this component (alias for ContainsPoint). The point to test. true if the point hits this component; otherwise, false. |
virtual List<IConnectionPoint> InConnectionPoints | Property | Gets the input connection points for this component. |
virtual List<IConnectionPoint> OutConnectionPoints | Property | Gets the output connection points for this component. |
virtual void ConnectTo(IDrawableComponent other) | Method | Connects this component to another component. The component to connect to. |
virtual void DisconnectFrom(IDrawableComponent other) | Method | Disconnects this component from another component. The component to disconnect from. |
virtual bool IsConnectedTo(IDrawableComponent other) | Method | Determines whether this component is connected to another component. The component to check connection with. true if connected; otherwise, false. |
void Dispose() | Method | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
SkiaComponentDescriptor (class)
Serializable descriptor for a Skia component at design time. Hosts (WinForms, WPF, Avalonia, MAUI, Blazor) emit instances into designer code when a component is dropped onto the canvas.
| Member | Kind | Description |
|---|---|---|
SkiaComponentDescriptor() { } | Method | Initializes a new instance of the SkiaComponentDescriptor class. |
string ComponentType | Property | Assembly-qualified type name of the component (e.g. "Beep.Skia.Components.Button, Beep.Skia"). |
float X | Property | Gets or sets the x. |
float Y | Property | Gets or sets the y. |
float Width | Property | Gets or sets the width. |
float Height | Property | Gets or sets the height. |
string Name | Property | Optional name for later lookup. |
Dictionary<string, string> PropertyBag | Property | Arbitrary string-based property bag for component-specific settings. |
SkiaComponentDescriptorCollection (class)
Collection of design-time descriptors, serialized as content by host designers.
| Member | Kind | Description |
|---|---|---|
SkiaComponentDescriptorCollection() { } | Method | Initializes a new instance of the SkiaComponentDescriptorCollection class. |
SkiaComponentRegistry (class)
Static registry for managing loaded Skia components. This class provides centralized access to all available SkiaComponent types that have been registered by external loaders.
| Member | Kind | Description |
|---|---|---|
static List<AssemblyClassDefinition> LoadedComponents | Property | Gets the list of all loaded Skia components. |
static bool IsInitialized | Property | Gets whether the registry has been initialized. |
static void SetComponents(List<AssemblyClassDefinition> components) | Method | Sets the component list from an external loader. This method should be called by the external loader after loading components. The list of AssemblyClassDefinition objects to register. |
static void AddComponent(AssemblyClassDefinition component) | Method | Adds a single component to the registry. The AssemblyClassDefinition to add. |
static void AddComponents(IEnumerable<AssemblyClassDefinition> components) | Method | Adds multiple components to the registry. The list of AssemblyClassDefinition objects to add. |
static AssemblyClassDefinition GetComponentByName(string className) | Method | Gets a component definition by its class name. The class name to search for. The AssemblyClassDefinition if found, null otherwise. |
static AssemblyClassDefinition GetComponentByGuid(string guid) | Method | Gets a component definition by its GUID. The GUID to search for. The AssemblyClassDefinition if found, null otherwise. |
static List<AssemblyClassDefinition> GetComponentsByAssembly(string assemblyName) | Method | Gets all component definitions from a specific assembly. The assembly name to filter by. A list of AssemblyClassDefinition objects from the specified assembly. |
static List<AssemblyClassDefinition> GetComponentsByType(string typeName) | Method | Gets all component definitions that implement a specific interface or inherit from a specific base class. The type name to filter by. A list of AssemblyClassDefinition objects that match the type. |
static SkiaComponent CreateComponentInstance(AssemblyClassDefinition componentDefinition) | Method | Creates an instance of a SkiaComponent from its AssemblyClassDefinition. The component definition to instantiate. An instance of the SkiaComponent if successful, null otherwise. |
static SkiaComponent CreateComponentInstance(string className) | Method | Creates an instance of a SkiaComponent by its class name. The class name of the component to create. An instance of the SkiaComponent if successful, null otherwise. |
static void Clear() | Method | Clears all loaded components and resets the registry. |
static int ComponentCount | Property | Gets the count of loaded components. |
static bool IsComponentRegistered(string className) | Method | Checks if a component with the specified name is registered. The class name to check. True if the component is registered, false otherwise. |
static List<AssemblyClassDefinition> GetComponentsWithMethods() | Method | Gets all components that have methods (useful for components with interactive functionality). A list of AssemblyClassDefinition objects that have methods defined. |
static List<AssemblyClassDefinition> GetComponentsWithVisualProperties() | Method | Gets all components that have visual properties or attributes. A list of AssemblyClassDefinition objects that have visual properties. |
static List<AssemblyClassDefinition> GetComponentsByCapabilities(bool? hasLocalDB = null, bool? isDataSource = null, bool? inMemory = null) | Method | Gets all components that implement specific interfaces or have specific properties. Filter by components that support LocalDB. Filter by components that are data sources. Filter by components that support in-memory operations. A list of AssemblyClassDefinition objects that match the criteria. |
static List<AssemblyClassDefinition> GetComponentsOrdered() | Method | Gets components ordered by their specified order property. A list of AssemblyClassDefinition objects ordered by their Order property. |
static List<string> GetAvailableNamespaces() | Method | Gets all unique namespaces from registered components. A list of unique namespace names. |
static List<string> GetAvailableAssemblies() | Method | Gets all unique assembly names from registered components. A list of unique assembly names. |
static List<(AssemblyClassDefinition Component, MethodsClass Method)> GetComponentMethods( string componentName = null, bool? hidden = null) | Method | Gets component methods that match specific criteria. The component name to filter by (optional). Filter by visibility (optional). A list of matching MethodsClass objects with their parent component information. |
static int RegisterFromConfigEditor(IConfigEditor configEditor, string componentType = "SkiaComponent") | Method | Registers components from the Beep configuration system. This method should be called after the Beep loader has scanned assemblies. The configuration editor containing the loaded components. The type of components to register (e.g., "SkiaComponent"). The number of components that were registered. |
static List<AssemblyClassDefinition> DiscoverAndRegisterDomainComponents(bool includeSystemAssemblies = false) | Method | Scans the currently loaded AppDomain assemblies for types that inherit from SkiaComponent and registers them into the component registry. If true, will not skip assemblies with common system prefixes. List of AssemblyClassDefinition objects that were discovered and registered. |
static ExtractedComponentResult ExtractComponentDetailed(AssemblyClassDefinition componentDefinition) | Method | Creates a detailed component instance with full metadata initialization. The component definition to instantiate. An ExtractedComponentResult with detailed component information. |
SkiaExtensionHost (class)
Discovers and loads Beep.Skia extension packages from assemblies or a plugin directory, collecting their component types and commands for palette/editor integration.
| Member | Kind | Description |
|---|---|---|
IReadOnlyList<LoadedExtension> Extensions | Property | Loaded extensions (successful and failed). |
IReadOnlyList<ExtensionComponentDescriptor> Components | Property | Component descriptors contributed by all loaded extensions. |
IReadOnlyDictionary<string, Action<SkiaComponent>> Commands | Property | Commands registered by extensions (name → action). |
IReadOnlyList<string> Log | Property | Diagnostic log collected during loading. |
event EventHandler<ExtensionLoadedEventArgs> ExtensionLoaded | Event | Raised after each extension is loaded. |
int LoadFromAssemblies(IEnumerable<Assembly> assemblies) | Method | Loads every ISkiaExtension found in the given assemblies. Returns the number of extensions loaded (including ones that failed initialization). |
int LoadFromDirectory(string directory, string searchPattern = "*.dll") | Method | Loads extensions from every matching assembly in a plugin directory. |
SkiaComponent CreateComponent(string assemblyQualifiedName) | Method | Creates a component instance from an extension component descriptor's type name. |
bool InvokeCommand(string name, SkiaComponent target) | Method | Invokes a registered extension command for the given target component. |
void Clear() | Method | Clears all loaded extensions, components, commands, and the log. |
SkiaTheme (class)
Holds all Material Design 3.0 color tokens for a theme. Supports light and dark mode via IsDark flag.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
SKColor Primary | Property | Gets or sets the primary. |
SKColor OnPrimary | Property | Gets or sets the on primary. |
SKColor PrimaryContainer | Property | Gets or sets the primary container. |
SKColor OnPrimaryContainer | Property | Gets or sets the on primary container. |
SKColor Secondary | Property | Gets or sets the secondary. |
SKColor OnSecondary | Property | Gets or sets the on secondary. |
SKColor SecondaryContainer | Property | Gets or sets the secondary container. |
SKColor OnSecondaryContainer | Property | Gets or sets the on secondary container. |
SKColor Tertiary | Property | Gets or sets the tertiary. |
SKColor OnTertiary | Property | Gets or sets the on tertiary. |
SKColor TertiaryContainer | Property | Gets or sets the tertiary container. |
SKColor OnTertiaryContainer | Property | Gets or sets the on tertiary container. |
SKColor Error | Property | Gets or sets the error. |
SKColor OnError | Property | Gets or sets the on error. |
SKColor ErrorContainer | Property | Gets or sets the error container. |
SKColor OnErrorContainer | Property | Gets or sets the on error container. |
SKColor Surface | Property | Gets or sets the surface. |
SKColor OnSurface | Property | Gets or sets the on surface. |
SKColor SurfaceVariant | Property | Gets or sets the surface variant. |
SKColor OnSurfaceVariant | Property | Gets or sets the on surface variant. |
SKColor SurfaceContainer | Property | Gets or sets the surface container. |
SKColor SurfaceContainerHigh | Property | Gets or sets the surface container high. |
SKColor Outline | Property | Gets or sets the outline. |
SKColor OutlineVariant | Property | Gets or sets the outline variant. |
SKColor CanvasBackground | Property | Gets or sets the canvas background. |
SKColor GridColor | Property | Gets or sets the grid color. |
static SkiaTheme Light | Property | Creates a light theme (default). |
static SkiaTheme Dark | Property | Creates a dark theme with inverted surface/on-surface colors. |
static SkiaTheme HighContrast | Property | High-contrast theme for accessibility. |
static SkiaTheme Nord | Property | Nord theme — cool blue/gray palette. |
static SkiaTheme Dracula | Property | Dracula theme — dark purple/green palette. |
SkiaTheme Clone() | Method | Gets or sets the clone. |
SkiaUtil (class)
Provides utility methods for SkiaSharp operations including geometric transformations, color space conversions, and mathematical calculations.
| Member | Kind | Description |
|---|---|---|
static SKPoint Rotate(SKPoint point, float degrees) | Method | Rotates a point around the origin by the specified number of degrees. The point to rotate. The rotation angle in degrees. The rotated point. |
static SKPoint Add(SKPoint point1, SKPoint point2) | Method | Adds two points together component-wise. The first point. The second point. The sum of the two points. |
static SKPoint Subtract(SKPoint point1, SKPoint point2) | Method | Subtracts the second point from the first point component-wise. The first point. The second point to subtract. The difference between the two points. |
static float CrossProduct(SKPoint v1, SKPoint v2) | Method | Calculates the cross product (also known as the z-component of the 3D cross product) of two 2D vectors. The first vector. The second vector. The cross product value. |
static (float Hue, float Saturation, float Luminosity) ToHsl(this SKColor color) | Method | Converts an SKColor to HSL (Hue, Saturation, Luminosity) color space. The SKColor to convert. A tuple containing Hue (0-360), Saturation (0-1), and Luminosity (0-1). |
static SKColor FromHsl(float hue, float saturation, float luminosity) | Method | Creates an SKColor from HSL (Hue, Saturation, Luminosity) values. The hue component (0-360 degrees). The saturation component (0-1). The luminosity component (0-1). The corresponding SKColor. |
SKKeyModifiers (enum)
Specifies the state of modifier keys on the keyboard.
Slider (class)
A Material Design 3.0 Slider component that allows users to select a value from a range. Supports continuous, discrete, and range slider types.
| Member | Kind | Description |
|---|---|---|
double Value | Property | Gets or sets the current value of the slider. |
double Minimum | Property | Gets or sets the minimum value of the slider. |
double Maximum | Property | Gets or sets the maximum value of the slider. |
double StepSize | Property | Gets or sets the step size for discrete sliders. |
double SecondaryValue | Property | Gets or sets the secondary value for range sliders. |
SliderType SliderType | Property | Gets or sets the type of the slider. |
bool ShowTicks | Property | Gets or sets whether to show tick marks for discrete sliders. |
bool IsHovered | Property | Gets or sets whether the slider is hovered. |
bool IsFocused | Property | Gets or sets whether the slider is focused. |
SKColor TrackColor | Property | Gets or sets the track color. |
SKColor ActiveTrackColor | Property | Gets or sets the active track color. |
SKColor ThumbColor | Property | Gets or sets the thumb color. |
SKColor TickColor | Property | Gets or sets the tick color. |
float TrackHeight | Property | Gets or sets the height of the track. |
float ThumbRadius | Property | Gets or sets the radius of the thumb. |
string Label | Property | Gets or sets the label text for the slider. |
string ValueLabelFormat | Property | Gets or sets the format string for the value label. |
bool ShowValueLabel | Property | Gets or sets whether to show the value label. |
event EventHandler<SliderValueChangedEventArgs> ValueChanged | Event | Occurs when the slider value changes. |
Slider() | Method | Initializes a new instance of the Slider class. |
Slider(double minimum, double maximum, double value = 0) | Method | Initializes a new instance of the Slider class with specified range. The minimum value. The maximum value. The initial value. |
SliderOrientation (enum)
Specifies the orientation of a slider.
SliderStyle (enum)
Specifies the style of a slider.
SliderType (enum)
Specifies the type of slider.
SliderValueChangedEventArgs (class)
Slider value changed event arguments.
Spinner (class)
A spinner component for indicating loading or processing.
| Member | Kind | Description |
|---|---|---|
SpinnerStyle Style | Property | Gets or sets the spinner style. |
SKColor Color | Property | Gets or sets the spinner color. |
float Thickness | Property | Gets or sets the thickness of the spinner lines. |
int Segments | Property | Gets or sets the number of segments in the spinner. |
float Speed | Property | Gets or sets the rotation speed in degrees per frame. |
Spinner() | Method | Initializes a new instance of the Spinner class. |
void Start() | Method | Starts the spinner animation. |
void Stop() | Method | Stops the spinner animation. |
SpinnerStyle (enum)
Specifies the style of a spinner.
SplitButton (class)
A Material Design 3.0 Split Button component that combines a primary action with a dropdown menu of additional options.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text displayed on the primary button. |
string SelectedText | Property | Gets the text of the currently selected menu item. |
SKColor BackgroundColor | Property | Gets or sets the background color of the primary button. |
new SKColor TextColor | Property | Gets or sets the text color of the primary button. |
SKColor DropdownButtonColor | Property | Gets or sets the background color of the dropdown button. |
SKColor DropdownTextColor | Property | Gets or sets the text color of the dropdown button. |
float CornerRadius | Property | Gets or sets the corner radius of the split button. |
ButtonVariant Variant | Property | Gets or sets the button variant (Material Design 3.0). |
string LeadingIcon | Property | Gets or sets the leading icon (SVG path or resource name). |
string DropdownIcon | Property | Gets or sets the dropdown icon. |
bool IsDropdownOpen | Property | Gets or sets whether the dropdown menu is open. |
float SeparatorWidth | Property | Gets or sets the width of the separator between the primary and dropdown buttons. |
SKColor SeparatorColor | Property | Gets or sets the color of the separator between the primary and dropdown buttons. |
SplitButtonItem SelectedItem | Property | Gets the currently selected menu item. |
IReadOnlyList<SplitButtonItem> MenuItems | Property | Gets the collection of menu items. |
event EventHandler<EventArgs> PrimaryButtonClicked | Event | Occurs when the primary button is clicked. |
event EventHandler<EventArgs> DropdownButtonClicked | Event | Occurs when the dropdown button is clicked. |
event EventHandler<SplitButtonItemSelectedEventArgs> ItemSelected | Event | Occurs when a menu item is selected. |
event EventHandler<EventArgs> DropdownStateChanged | Event | Occurs when the dropdown state changes. |
SplitButton() | Method | Initializes a new instance of the SplitButton class. |
SplitButtonItem AddMenuItem(string text, string icon = null) | Method | Adds a menu item to the dropdown. The text for the menu item. The icon for the menu item (optional). The created SplitButtonItem. |
bool RemoveMenuItem(SplitButtonItem item) | Method | Removes a menu item from the dropdown. The menu item to remove. True if the item was removed successfully. |
void ClearMenuItems() | Method | Clears all menu items from the dropdown. |
void SelectItem(SplitButtonItem item) | Method | Selects a menu item. The menu item to select. |
void SelectItem(int index) | Method | Selects a menu item by index. The index of the menu item to select. |
static SplitButton Create(string primaryText, params string[] menuItems) | Method | Creates a new SplitButton instance with the specified menu items. The text for the primary button. The menu items for the dropdown. A new SplitButton instance. |
static SplitButton CreateFilled(string primaryText, params string[] menuItems) | Method | Creates a new SplitButton instance with filled variant. The text for the primary button. The menu items for the dropdown. A new SplitButton instance. |
static SplitButton CreateOutlined(string primaryText, params string[] menuItems) | Method | Creates a new SplitButton instance with outlined variant. The text for the primary button. The menu items for the dropdown. A new SplitButton instance. |
SplitButtonItem (class)
Represents a menu item in the split button dropdown.
SplitButtonItemSelectedEventArgs (class)
Event arguments for split button item selection.
SplitterOrientation (enum)
Specifies the orientation of a splitter.
SplitterStyle (enum)
Specifies the style of a splitter.
StackLayout (class)
A layout manager that arranges components in a stack, either vertically or horizontally.
| Member | Kind | Description |
|---|---|---|
Orientation Orientation | Property | Gets or sets the orientation of the stack. |
float Spacing | Property | Gets or sets the spacing between components. |
StackLayout() { } | Method | Initializes a new instance of the StackLayout class. |
StackLayout(Orientation orientation) | Method | Initializes a new instance of the StackLayout class with specified orientation. The orientation of the stack. |
void Layout(IEnumerable<SkiaComponent> components, SKRect bounds, float padding = 0) | Method | Lays out the specified components within the given bounds. The components to layout. The bounds in which to layout the components. The padding around the layout area. |
StatusBar (class)
A Material Design 3.0 status bar component
| Member | Kind | Description |
|---|---|---|
StatusBarItemCollection Items | Property | Gets the collection of status bar items |
SKColor BackgroundColor | Property | Gets or sets the background color |
SKColor BorderColor | Property | Gets or sets the border color |
float BorderWidth | Property | Gets or sets the border width |
float ItemSpacing | Property | Gets or sets the spacing between items |
bool ShowBorder | Property | Gets or sets whether to show the border |
StatusBar() | Method | Initializes a new instance of the StatusBar class |
StatusBarItem AddItem(string text) | Method | Adds a status bar item with the specified text |
StatusBarItem AddItem(string text, float width) | Method | Adds a status bar item with the specified text and width |
void RemoveItem(StatusBarItem item) | Method | Removes a status bar item |
void ClearItems() | Method | Clears all items from the status bar |
StatusBarItem (class)
Represents an item in a status bar
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the item text |
SKColor TextColor | Property | Gets or sets the text color |
SKColor BackgroundColor | Property | Gets or sets the background color |
float Width | Property | Gets or sets the item width |
TextAlignment TextAlignment | Property | Gets or sets the text alignment |
bool IsVisible | Property | Gets or sets whether the item is visible |
object Tag | Property | Gets or sets the tag object |
StatusBar ParentStatusBar | Property | Gets the parent StatusBar |
StatusBarItem() | Method | Initializes a new instance of the StatusBarItem class |
StatusBarItem(string text) | Method | Initializes a new instance of the StatusBarItem class with text |
StatusBarItemCollection (class)
A collection of StatusBarItem objects
| Member | Kind | Description |
|---|---|---|
StatusBarItemCollection(StatusBar parentStatusBar) | Method | Initializes a new instance of the StatusBarItemCollection class |
void Add(string text) | Method | Adds a StatusBarItem to the collection |
void Add(string text, float width) | Method | Adds a StatusBarItem to the collection with specified properties |
StatusBarStyle (enum)
Specifies the style of a status bar.
SvgImage (class)
A component that displays SVG images with support for scaling and positioning.
| Member | Kind | Description |
|---|---|---|
string SvgSource | Property | Gets or sets the SVG source. Can be a file path, embedded resource, or SVG content string. Supported formats: - File path: "C:\path\to\file.svg" or "relative\path\file.svg" - Embedded resource: "AssemblyName.ResourceName" (e.g., "Beep.Skia.svg.door.svg") - SVG content: Raw SVG XML string |
SvgScaleMode ScaleMode | Property | Gets or sets the scaling mode for the SVG. |
SKSize OriginalSize | Property | Gets the original SVG size. |
SvgImage() | Method | Initializes a new instance of the SvgImage class. |
void LoadEmbeddedResource(string resourceName) | Method | Loads an embedded SVG resource from the current assembly. The name of the embedded resource. |
void LoadEmbeddedResource(string assemblyName, string resourceName) | Method | Loads an embedded SVG resource from the specified assembly. The name of the assembly containing the resource. The name of the embedded resource. |
void LoadEmbeddedResource(Assembly assembly, string resourceName) | Method | Loads an embedded SVG resource from the specified assembly. The assembly containing the resource. The name of the embedded resource. |
SvgImage(string resourceName, bool isEmbedded) : this() | Method | Initializes a new instance of the SvgImage class with an embedded resource from the current assembly. The name of the embedded resource. True if the resource is embedded; false if it's a file path. |
SvgImage(string assemblyName, string resourceName) : this() | Method | Initializes a new instance of the SvgImage class with an embedded resource from the specified assembly. The name of the assembly containing the resource. The name of the embedded resource. |
SvgImage(string svgContent) : this() | Method | Initializes a new instance of the SvgImage class with SVG content. The SVG content as a string. |
SvgScaleMode (enum)
Specifies how the SVG should be scaled within its container.
Swimlane (class)
Represents a single lane (row or column) within a SwimlaneContainer.
| Member | Kind | Description |
|---|---|---|
string Title | Property | Lane header title displayed in the header bar. |
bool IsCollapsed | Property | Whether this lane is currently collapsed. |
List<SkiaComponent> Children | Property | Gets the list of components that belong to this lane. |
object Tag | Property | Optional tag for lane identification. |
override string ToString() | Method | Gets or sets the to string. |
SwimlaneContainer (class)
A swimlane / pool / lane container for diagramming. Supports horizontal (row) and vertical (column) layouts with resizable header areas. Components added as children are automatically positioned within their assigned lane.
| Member | Kind | Description |
|---|---|---|
bool OrientationHorizontal | Property | Gets or sets the orientation of the lanes. True = horizontal rows, false = vertical columns. |
float HeaderSize | Property | Gets or sets the header size (height for horizontal, width for vertical). |
IReadOnlyList<Swimlane> Lanes | Property | Gets the list of lanes in this container. |
bool AllowCollapse | Property | Gets or sets whether lane headers are collapsible. |
float LaneSpacing | Property | Gets or sets the separation between lanes in pixels. |
SwimlaneContainer() | Method | Initializes a new instance of the SwimlaneContainer class. |
Swimlane AddLane(string title) | Method | Adds a new lane with the given title. |
void RemoveLane(Swimlane lane) | Method | Removes a lane and all its children. |
void AddToLane(SkiaComponent component, Swimlane lane) | Method | Adds a component to a specific lane. |
Swimlane GetLaneAtPoint(SKPoint localPoint) | Method | Gets the lane that contains the given point (in component-local coordinates). |
override Dictionary<string, object> GetProperties(bool includeCommon = true, bool includeNodeProperties = true) | Method | |
override void SetPropperties(IDictionary<string, object> properties, bool updateNodeProperties = true, bool applyToPublicSetters = true) | Method | Gets or sets the set propperties. |
Switch (class)
A Material Design 3.0 Switch component that provides a toggle between on and off states.
| Member | Kind | Description |
|---|---|---|
new event EventHandler<SwitchStateChangedEventArgs> StateChanged | Property | Occurs when the switch state changes. |
bool IsChecked | Property | Gets or sets whether the switch is in the checked (on) state. |
bool IsHovered | Property | Gets or sets whether the switch is hovered. |
bool IsPressed | Property | Gets or sets whether the switch is pressed. |
Switch() | Method | Initializes a new instance of the Switch class. |
void Toggle() | Method | Toggles the switch state. |
SwitchStateChangedEventArgs (class)
Event arguments for switch state changes.
TabItem (class)
Represents a tab item in the tabs component.
TableDrawer (class)
Partial class for TableDrawer containing all mouse interaction methods
| Member | Kind | Description |
|---|---|---|
void HandleMouseDown(SKPoint mouseLocation) | Method | Handles mouse down events to initiate drag operations on table cells. The location of the mouse pointer when the button was pressed. |
void HandleMouseMove(SKPoint mouseLocation) | Method | Handles mouse move events to update the position of dragged cells. The current location of the mouse pointer. |
void HandleMouseUp(SKPoint mouseLocation) | Method | Handles mouse up events to complete drag operations and potentially swap cell positions. The location of the mouse pointer when the button was released. |
TableDrawerHelper (class)
Helper class for TableDrawer operations and calculations
| Member | Kind | Description |
|---|---|---|
static SKRect CalculateColumnHeaderRect(int columnIndex, float cellWidth, float headerHeight) | Method | Calculates the rectangle for a column header at the specified index The zero-based index of the column The width of each cell The height of the header The SKRect representing the column header area |
static SKRect CalculateRowHeaderRect(int rowIndex, float cellWidth, float cellHeight, float headerHeight) | Method | Calculates the rectangle for a row header at the specified index The zero-based index of the row The width of each cell The height of each cell The height of the header The SKRect representing the row header area |
static SKRect CalculateCellRect(int rowIndex, int columnIndex, float cellWidth, float cellHeight, float headerHeight) | Method | Calculates the rectangle for a table cell at the specified row and column The zero-based index of the row The zero-based index of the column The width of each cell The height of each cell The height of the header The SKRect representing the cell area |
static SKPaint CreateHeaderPaint() | Method | Creates a paint object for drawing headers with default styling An SKPaint object configured for header drawing |
static SKPaint CreateHeaderTextPaint() | Method | Creates a paint object for drawing header text with default styling An SKPaint object configured for header text drawing |
static SKPaint CreateCellBorderPaint() | Method | Creates a paint object for drawing cell borders with default styling An SKPaint object configured for cell border drawing |
static SKPaint CreateCellTextPaint() | Method | Creates a paint object for drawing cell text with default styling An SKPaint object configured for cell text drawing |
static SKPaint CreateDraggedCellPaint() | Method | Creates a paint object for drawing dragged cells with default styling An SKPaint object configured for dragged cell drawing |
static string GenerateColumnHeaderText(int columnIndex) | Method | Generates a default column header text for the specified column index The zero-based index of the column The header text string |
static string GenerateRowHeaderText(int rowIndex) | Method | Generates a default row header text for the specified row index The zero-based index of the row The header text string |
static string GenerateCellText(int rowIndex, int columnIndex) | Method | Generates default cell content text for the specified row and column The zero-based index of the row The zero-based index of the column The cell content text string |
static int GetRectangleIndexContainingPoint(SKPoint point, SKRect[] rectangles) | Method | Checks if a point is within any of the provided rectangles The point to test The array of rectangles to check against The index of the rectangle containing the point, or -1 if none contain it |
static bool TryGetCellIndexContainingPoint(SKPoint point, SKRect[,] cellRects, out int rowIndex, out int columnIndex) | Method | Checks if a point is within any cell of the provided 2D rectangle array The point to test The 2D array of cell rectangles When this method returns, contains the row index of the cell containing the point When this method returns, contains the column index of the cell containing the point true if the point is within a cell; otherwise, false |
static (float offsetX, float offsetY) CalculateDragOffset(SKRect cellRect, SKPoint mouseLocation) | Method | Calculates the drag offset for a cell being dragged from a specific position The rectangle of the cell being dragged The current mouse location The drag offset as a tuple of (offsetX, offsetY) |
static SKRect UpdateDraggedRectPosition(SKRect originalRect, SKPoint mouseLocation, float dragOffsetX, float dragOffsetY) | Method | Updates the position of a dragged rectangle based on mouse movement The original rectangle before dragging The current mouse location The X offset from the drag start The Y offset from the drag start The updated rectangle position |
TabPosition (enum)
Specifies the position of tabs in a tab control.
Tabs (class)
Material Design 3.0 Tabs component that provides navigation between different views or content sections. Supports both primary and secondary tab variants with smooth animations and proper Material Design 3.0 styling.
| Member | Kind | Description |
|---|---|---|
TabVariant Variant | Property | Gets or sets the variant of the tabs (Primary or Secondary). |
int SelectedIndex | Property | Gets or sets the currently selected tab index. |
TabItem SelectedTab | Property | Gets the currently selected tab item. |
bool IsScrollable | Property | Gets or sets whether the tabs are scrollable. |
IReadOnlyList<TabItem> TabItems | Property | Gets the collection of tab items. |
bool IsHovered | Property | Gets or sets whether the tabs are currently hovered. |
bool IsPressed | Property | Gets or sets whether the tabs are currently pressed. |
event EventHandler<TabSelectionChangedEventArgs> SelectedIndexChanged | Event | Occurs when the selected tab index changes. |
Tabs() | Method | Initializes a new instance of the Tabs class. |
TabItem AddTab(string text) | Method | Adds a new tab item with the specified text. |
TabItem AddTab(string text, string icon) | Method | Adds a new tab item with the specified text and icon. |
bool RemoveTab(TabItem tabItem) | Method | Removes the specified tab item. |
bool RemoveTabAt(int index) | Method | Removes the tab at the specified index. |
void ClearTabs() | Method | Clears all tab items. |
TabSelectionChangedEventArgs (class)
Event arguments for tab selection changes.
TabStyle (enum)
Specifies the style of a tab control.
TabVariant (enum)
Specifies the variant of the tabs component.
TextAlignment (enum)
Specifies the alignment of text within a control.
TextArea (class)
A multi-line text input control.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text in the text area. |
string Placeholder | Property | Gets or sets the placeholder text. |
TextAlignment TextAlignment | Property | Gets or sets the text alignment. |
bool Multiline | Property | Gets or sets whether the text area supports multiple lines. |
bool ReadOnly | Property | Gets or sets whether the text area is read-only. |
int MaxLength | Property | Gets or sets the maximum length of text. |
TextArea() | Method | Initializes a new instance of the TextArea class. |
TextAreaStyle (enum)
Specifies the style of a text area.
TextBox (class)
A Material Design 3.0 text input field component.
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the text content of the text box. |
int SelectionStart | Property | Gets the start index of the current selection (-1 when nothing is selected). |
int SelectionEnd | Property | Gets the end index of the current selection (-1 when nothing is selected). |
bool HasSelection | Property | Gets whether any text is currently selected. |
SKColor SelectionColor | Property | Gets or sets the highlight color used for selected text. |
string SelectedText | Property | Gets the currently selected text (empty when nothing is selected). |
string Placeholder | Property | Gets or sets the placeholder text. |
string Label | Property | Gets or sets the label text displayed above the text box. |
string ErrorMessage | Property | Gets or sets the error message. |
string LeadingIcon | Property | Gets or sets the leading icon SVG. |
string TrailingIcon | Property | Gets or sets the trailing icon SVG. |
TextBoxVariant Variant | Property | Gets or sets the text box variant. |
TextInputType InputType | Property | Gets or sets the input type. |
bool IsReadOnly | Property | Gets or sets whether the text box is read-only. |
bool IsMultiline | Property | Gets or sets whether the text box supports multiline input. |
int MaxLength | Property | Gets or sets the maximum length of text. |
float CornerRadius | Property | Gets or sets the corner radius. |
new SKColor TextColor | Property | Gets or sets the text color. |
SKColor PlaceholderColor | Property | Gets or sets the placeholder color. |
SKColor LabelColor | Property | Gets or sets the label color. |
SKColor BorderColor | Property | Gets or sets the border color. |
SKColor BackgroundColor | Property | Gets or sets the background color. |
float FontSize | Property | Gets or sets the font size. |
bool HasFocus | Property | Gets whether the text box has focus. |
event EventHandler TextChanged | Event | Event raised when text changes. |
event EventHandler GotFocus | Event | Event raised when the text box gains focus. |
event EventHandler LostFocus | Event | Event raised when the text box loses focus. |
TextBox() | Method | Initializes a new instance of the TextBox class. |
TextBox(float width, float height) : this() | Method | Initializes a new instance of the TextBox class with specified dimensions. |
void Focus() | Method | Sets focus to the text box. |
void Blur() | Method | Removes focus from the text box. |
void InsertText(string text) | Method | Inserts text at the current cursor position. |
void DeleteText(bool forward = false) | Method | Deletes text at the current cursor position. |
void MoveCursor(int delta) | Method | Moves the cursor. |
void SelectAll() | Method | Selects all text. |
void ClearSelection() | Method | Clears the selection. |
TextBoxStyle (enum)
Specifies the style of a text box.
TextBoxVariant (enum)
Material Design 3.0 text box variants.
TextInputType (enum)
Text input types.
TextPosition (enum)
Specifies the position of text relative to other elements.
ThemeManager (class)
Central theme manager that controls the active theme across all diagram components. Components read theme tokens from ThemeManager.Current.
| Member | Kind | Description |
|---|---|---|
static SkiaTheme Current | Property | Gets or sets the current active theme. Setting this fires ThemeChanged. |
static event EventHandler ThemeChanged | Property | Fires when the active theme changes. Components subscribe to redraw. |
static void ApplyTheme(string name) | Method | Applies a named theme. Built-in names: Light, Dark, HighContrast, Nord, Dracula. |
static IReadOnlyList<string> BuiltInThemes | Property | Gets a list of built-in theme names. |
ThumbStyle (enum)
Specifies the style of a thumb.
TimePicker (class)
A Material Design 3.0 Time Picker component that allows users to select times.
| Member | Kind | Description |
|---|---|---|
event EventHandler<DateTime> TimeSelected | Event | Occurs when the selected time changes. |
event EventHandler DialogOpened | Event | Occurs when the time picker dialog opens. |
event EventHandler DialogClosed | Event | Occurs when the time picker dialog closes. |
DateTime SelectedTime | Property | Gets or sets the currently selected time. |
bool Use24HourFormat | Property | Gets or sets whether to use 24-hour format. |
new SKColor TextColor | Property | Gets or sets the text color. |
SKColor AccentColor | Property | Gets or sets the accent color for selected times. |
TimePickerMode Mode | Property | Gets or sets the time picker mode. |
TimePicker() | Method | Initializes a new instance of the TimePicker class. |
TimePicker(float width, float height) : this() | Method | Initializes a new instance of the TimePicker class with specified dimensions. The width of the time picker. The height of the time picker. |
void ToggleTimePicker() | Method | Toggles the time picker dialog visibility. |
void OpenTimePicker() | Method | Opens the time picker dialog. |
void CloseTimePicker() | Method | Closes the time picker dialog. |
TimePickerMode (enum)
Time picker display modes.
TimePickerStyle (enum)
Specifies the style of a time picker.
TimerTriggeredEventArgs (class)
Event arguments for timer triggered events.
| Member | Kind | Description |
|---|---|---|
DateTime TriggerTime | Property | Gets or sets the time when the timer triggered. |
int ExecutionCount | Property | Gets or sets the execution count. |
Model.ExecutionContext Context | Property | Gets or sets the execution context. |
Dictionary<string, object> TriggerData | Property | Gets or sets additional trigger data. |
TimerTriggerNode (class)
Automation node that triggers workflow execution on a scheduled timer basis. Supports various timing patterns including intervals, cron expressions, and one-time execution.
| Member | Kind | Description |
|---|---|---|
TimerTriggerNode() | Method | Initializes a new instance of the TimerTriggerNode class. |
event EventHandler<TimerTriggeredEventArgs> TimerTriggered | Event | Event raised when the timer triggers workflow execution. |
TimerTriggerMode TriggerType | Property | Gets or sets the type of timer trigger (Interval, Cron, OneTime). |
TimeSpan Interval | Property | Gets or sets the interval for interval-based triggers. |
string CronExpression | Property | Gets or sets the cron expression for cron-based triggers. |
DateTime? StartTime | Property | Gets or sets the start time for the trigger schedule. |
DateTime? EndTime | Property | Gets or sets the end time for the trigger schedule. |
bool IsTimerEnabled | Property | Gets or sets whether the timer trigger is enabled. |
int MaxExecutions | Property | Gets or sets the maximum number of executions (-1 for unlimited). |
int ExecutionCount | Property | Gets the current execution count. |
DateTime LastExecution | Property | Gets the time of the last execution. |
DateTime NextExecution | Property | Gets the time of the next scheduled execution. |
bool IsRunning | Property | Gets whether the timer is currently running. |
override string Description | Property | Gets the description of what this automation node does. |
override NodeType NodeType | Property | Gets the type of this automation node. |
override Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Initializes the timer trigger node with the specified configuration. The configuration parameters for the node. Token to cancel the initialization. A task representing the initialization operation. |
override async Task<ValidationResult> ValidateAsync(Model.ExecutionContext inputData, CancellationToken cancellationToken = default) | Method | Validates the current configuration for this timer trigger node. The input data to validate (not used for trigger nodes). Token to cancel the validation. A task containing the validation result. |
override Task<NodeResult> ExecuteAsync(Model.ExecutionContext context, CancellationToken cancellationToken = default) | Method | Executes the timer trigger and returns trigger information. Note: This method is called by the timer, not directly by workflow execution. The execution context. Token to cancel the execution. A task containing the execution result. |
override Dictionary<string, object> GetInputSchema() | Method | Gets the schema defining the input parameters this node expects. Trigger nodes typically don't require input data. A dictionary describing the input schema. |
override Dictionary<string, object> GetOutputSchema() | Method | Gets the schema defining the output parameters this node produces. A dictionary describing the output schema. |
void StartTimer() | Method | Starts the timer based on the current configuration. |
void StopTimer() | Method | Stops the timer. |
ToggleButton (class)
A Material Design 3.0 toggle button component
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the button text |
bool Checked | Property | Gets or sets whether the toggle button is checked |
SKColor CheckedBackgroundColor | Property | Gets or sets the background color when checked |
SKColor UncheckedBackgroundColor | Property | Gets or sets the background color when unchecked |
SKColor CheckedTextColor | Property | Gets or sets the text color when checked |
SKColor UncheckedTextColor | Property | Gets or sets the text color when unchecked |
SKColor BorderColor | Property | Gets or sets the border color |
float BorderWidth | Property | Gets or sets the border width |
float CornerRadius | Property | Gets or sets the corner radius |
TextAlignment TextAlignment | Property | Gets or sets the text alignment |
event EventHandler CheckedChanged | Event | Occurs when the checked state changes |
ToggleButton() | Method | Initializes a new instance of the ToggleButton class |
ToggleButtonStyle (enum)
Specifies the style of a toggle button.
ToolBar (class)
A Material Design 3.0 tool bar component
| Member | Kind | Description |
|---|---|---|
ToolBarItemCollection Items | Property | Gets the collection of tool bar items |
SKColor BackgroundColor | Property | Gets or sets the background color |
SKColor BorderColor | Property | Gets or sets the border color |
float BorderWidth | Property | Gets or sets the border width |
float ItemSpacing | Property | Gets or sets the spacing between items |
bool ShowBorder | Property | Gets or sets whether to show the border |
ToolBar() | Method | Initializes a new instance of the ToolBar class |
ToolBarItem AddItem(string text) | Method | Adds a tool bar item with the specified text |
ToolBarItem AddItem(string text, float width) | Method | Adds a tool bar item with the specified text and width |
void RemoveItem(ToolBarItem item) | Method | Removes a tool bar item |
void ClearItems() | Method | Clears all items from the tool bar |
ToolBarItem (class)
Represents an item in a tool bar
| Member | Kind | Description |
|---|---|---|
string Text | Property | Gets or sets the item text |
string Tooltip | Property | Gets or sets the tooltip text |
SKColor TextColor | Property | Gets or sets the text color |
SKColor BackgroundColor | Property | Gets or sets the background color |
SKColor HoverBackgroundColor | Property | Gets or sets the hover background color |
float Width | Property | Gets or sets the item width |
bool IsVisible | Property | Gets or sets whether the item is visible |
bool IsEnabled | Property | Gets or sets whether the item is enabled |
object Tag | Property | Gets or sets the tag object |
bool IsHovered | Property | Gets whether the item is currently hovered |
bool IsPressed | Property | Gets whether the item is currently pressed |
ToolBar ParentToolBar | Property | Gets the parent ToolBar |
event EventHandler Click | Event | Occurs when the item is clicked |
ToolBarItem() | Method | Initializes a new instance of the ToolBarItem class |
ToolBarItem(string text) | Method | Initializes a new instance of the ToolBarItem class with text |
virtual void PerformClick() | Method | Raises the Click event |
ToolBarItemCollection (class)
A collection of ToolBarItem objects
| Member | Kind | Description |
|---|---|---|
ToolBarItemCollection(ToolBar parentToolBar) | Method | Initializes a new instance of the ToolBarItemCollection class |
void Add(string text) | Method | Adds a ToolBarItem to the collection |
void Add(string text, float width) | Method | Adds a ToolBarItem to the collection with specified properties |
ToolBarOrientation (enum)
Specifies the orientation of a tool bar.
ToolBarStyle (enum)
Specifies the style of a tool bar.
ToolTipStyle (enum)
Specifies the style of a tool tip.
TrackBarOrientation (enum)
Specifies the orientation of a track bar.
TrackBarStyle (enum)
Specifies the style of a track bar.
TreeViewStyle (enum)
Specifies the style of a tree view.
TriggerBase (class)
Shared base for workflow triggers: identity, state, events, and activation bookkeeping. Disposing a trigger stops it, so hosts that abandon a running trigger do not leak timers, file watchers, or background loops.
| Member | Kind | Description |
|---|---|---|
string Id | Property | Gets or sets the id. |
abstract string Name | Property | Gets or sets the name. |
virtual string Description | Property | Gets or sets the description. |
abstract TriggerType TriggerType | Property | Gets or sets the trigger type. |
bool IsActive | Property | Gets or sets the is active. |
bool IsEnabled | Property | Gets or sets the is enabled. |
Dictionary<string, object> Configuration | Property | Gets or sets the configuration. |
string WorkflowId | Property | Gets or sets the workflow id. |
DateTime? LastActivated | Property | Gets or sets the last activated. |
long ActivationCount | Property | Gets or sets the activation count. |
event EventHandler<TriggerEventArgs> Triggered | Event | Raised when triggered changes. |
event EventHandler<TriggerErrorEventArgs> ErrorOccurred | Event | Raised when error occurred changes. |
virtual Task<bool> InitializeAsync(Dictionary<string, object> configuration, CancellationToken cancellationToken = default) | Method | Gets or sets the initialize async. |
abstract Task<bool> StartAsync(CancellationToken cancellationToken = default) | Method | |
abstract Task<bool> StopAsync(CancellationToken cancellationToken = default) | Method | |
virtual Task<ValidationResult> ValidateAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the validate async. |
virtual Task<bool> TestAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the test async. |
void Dispose() | Method | Stops the trigger and releases its resources. Safe to call multiple times. |
virtual Dictionary<string, object> GetConfigurationSchema() | Method | |
virtual Task ActivateAsync(Dictionary<string, object> testData = null, CancellationToken cancellationToken = default) | Method | Gets or sets the activate async. |
TriggerConfirmationEventArgs (class)
Event arguments for trigger confirmation requests.
| Member | Kind | Description |
|---|---|---|
string Message | Property | Gets or sets the confirmation message. |
bool IsConfirmed | Property | Gets or sets whether the trigger was confirmed. |
bool IsResponseReceived | Property | Gets or sets whether a response has been received. |
void Confirm() | Method | Confirms the trigger activation. |
void Cancel() | Method | Cancels the trigger activation. |
TypefaceCache (class)
Process-wide cache of SKTypeface instances. Font matching is comparatively expensive and components resolve typefaces while drawing, so instances are created once per (family, weight, width, slant) and reused for the lifetime of the process. Cached instances are intentionally never disposed.
| Member | Kind | Description |
|---|---|---|
const string DefaultFamily = "Segoe UI" | Constant | Default font family used when no family is supplied. |
static SKTypeface Get(string family, SKFontStyle style) | Method | Gets a cached typeface for the family and style, falling back to the platform default when the family cannot be resolved. |
static SKTypeface Get(string family) | Method | Gets a cached typeface for the family in the normal style. |
static SKTypeface Get(string family, SKFontStyleWeight weight, SKFontStyleWidth width, SKFontStyleSlant slant) | Method | Gets a cached typeface using explicit style parts (mirrors the four-argument SKTypeface.FromFamilyName overload). |
static SKTypeface Default | Property | The cached default typeface. |
static int CachedCount | Property | Number of distinct typefaces currently cached (diagnostics/tests). |
UnconnectedPortRule (class)
Detects connection lines where endpoints are not actually connected to ports.
| Member | Kind | Description |
|---|---|---|
string Name | Property | Gets or sets the name. |
string Description | Property | Gets or sets the description. |
IEnumerable<DiagramIssue> Validate(IReadOnlyList<SkiaComponent> components, IReadOnlyList<IConnectionLine> lines) | Method | Gets or sets the validate. |
UserRecord (class)
JSON-friendly user record (color stored as 0xAARRGGBB).
| Member | Kind | Description |
|---|---|---|
string Id | Property | Gets or sets the id. |
string DisplayName | Property | Gets or sets the display name. |
string Email | Property | Gets or sets the email. |
uint Color | Property | Gets or sets the color. |
WorkflowCanvas (class)
Visual workflow designer canvas that provides drag-drop functionality, connection management, and workflow execution controls for automation components.
| Member | Kind | Description |
|---|---|---|
event EventHandler<NodeSelectedEventArgs> NodeSelected | Event | Event raised when a node is selected. |
event EventHandler<ConnectionCreatedEventArgs> ConnectionCreated | Event | Event raised when a connection is created. |
new event EventHandler<ConnectionRemovedEventArgs> ConnectionRemoved | Property | Event raised when a connection is removed. |
event EventHandler<WorkflowExecutionStateChangedEventArgs> ExecutionStateChanged | Event | Event raised when workflow execution state changes. |
event EventHandler<NodeAddedEventArgs> NodeAdded | Event | Event raised when a node is added to the canvas. |
event EventHandler<NodeRemovedEventArgs> NodeRemoved | Event | Event raised when a node is removed from the canvas. |
IReadOnlyList<AutomationNode> AutomationNodes | Property | Gets the collection of automation nodes in the workflow. |
IReadOnlyList<WorkflowConnection> Connections | Property | Gets the collection of connections between nodes. |
AutomationNode SelectedNode | Property | Gets or sets the currently selected node. |
float ZoomLevel | Property | Gets or sets the zoom level of the canvas. |
SKPoint PanOffset | Property | Gets or sets the pan offset of the canvas. |
bool ShowGrid | Property | Gets or sets whether to show the grid background. |
float GridSize | Property | Gets or sets the grid size. |
WorkflowExecutionState ExecutionState | Property | Gets the current workflow execution state. |
Dictionary<string, object> WorkflowVariables | Property | Gets or sets the workflow variables. |
WorkflowCanvas() | Method | Initializes a new instance of the WorkflowCanvas class. |
void AddNode(AutomationNode node, SKPoint position) | Method | Adds an automation node to the canvas. The node to add. The position to place the node. |
void RemoveNode(AutomationNode node) | Method | Removes an automation node from the canvas. The node to remove. |
AutomationNode GetNodeAtPosition(SKPoint position) | Method | Gets the node at the specified position. The position to check. The node at the position, or null if none found. |
void ArrangeNodesInGrid(float spacing = 150f) | Method | Arranges nodes automatically in a grid layout. |
void CreateConnection(AutomationNode fromNode, AutomationNode toNode, ConnectionPoint fromPoint, ConnectionPoint toPoint) | Method | Creates a connection between two nodes. The source node. The target node. The source connection point. The target connection point. |
void RemoveConnection(WorkflowConnection connection) | Method | Removes a connection. The connection to remove. |
WorkflowConnection GetConnectionAtPosition(SKPoint position, float tolerance = 5f) | Method | Gets the connection at the specified position. The position to check. The tolerance for hit detection. The connection at the position, or null if none found. |
SKPoint ScreenToCanvas(SKPoint screenPoint) | Method | Converts screen coordinates to canvas coordinates. The screen point. The canvas point. |
SKPoint CanvasToScreen(SKPoint canvasPoint) | Method | Converts canvas coordinates to screen coordinates. The canvas point. The screen point. |
void OnMouseWheel(SKPoint point, float delta) | Method | Handles mouse wheel events for zooming. The mouse position. The wheel delta. |
WorkflowConnection (class)
Represents a connection between two automation nodes.
| Member | Kind | Description |
|---|---|---|
AutomationNode FromNode | Property | Gets or sets the source node. |
AutomationNode ToNode | Property | Gets or sets the target node. |
ConnectionPoint FromPoint | Property | Gets or sets the source connection point. |
ConnectionPoint ToPoint | Property | Gets or sets the target connection point. |
bool IsActive | Property | Gets or sets whether the connection is currently active (data flowing). |
Dictionary<string, object> Metadata | Property | Gets or sets additional connection metadata. |
WorkflowEngine (class)
Basic implementation of IWorkflowEngine that executes automation node graphs. Traverses nodes in dependency order (topological sort via connection lines), calling each IAutomationNode's InitializeAsync/ValidateAsync/ExecuteAsync in sequence.
| Member | Kind | Description |
|---|---|---|
WorkflowEngine() | Method | Initializes a new instance of the WorkflowEngine class. |
string EngineId | Property | Gets or sets the engine id. |
bool IsRunning | Property | Gets or sets the is running. |
IReadOnlyCollection<WorkflowDefinition> LoadedWorkflows | Property | Gets or sets the loaded workflows. |
IReadOnlyCollection<WorkflowExecution> ActiveExecutions | Property | Gets or sets the active executions. |
event EventHandler<WorkflowExecutionEventArgs> WorkflowStarted | Event | Raised when workflow started changes. |
event EventHandler<WorkflowExecutionEventArgs> WorkflowCompleted | Event | Raised when workflow completed changes. |
event EventHandler<WorkflowExecutionEventArgs> WorkflowFailed | Event | Raised when workflow failed changes. |
event EventHandler<WorkflowExecutionEventArgs> WorkflowPaused | Event | Raised when workflow paused changes. |
event EventHandler<WorkflowExecutionEventArgs> WorkflowResumed | Event | Raised when workflow resumed changes. |
event EventHandler<WorkflowExecutionEventArgs> WorkflowCancelled | Event | Raised when workflow cancelled changes. |
Task StartAsync(CancellationToken cancellationToken = default) | Method | Gets or sets the start async. |
Task StopAsync(bool graceful = true, CancellationToken cancellationToken = default) | Method | Gets or sets the stop async. |
Task<bool> LoadWorkflowAsync(WorkflowDefinition workflow, CancellationToken cancellationToken = default) | Method | Gets or sets the load workflow async. |
Task<bool> UnloadWorkflowAsync(string workflowId, CancellationToken cancellationToken = default) | Method | Gets or sets the unload workflow async. |
Task<WorkflowResult> ExecuteWorkflowAsync( string workflowId, Dictionary<string, object> inputData = null, ExecutionPriority priority = ExecutionPriority.Normal, CancellationToken cancellationToken = default) | Method | Gets or sets the execute workflow async. |
async Task<WorkflowResult> ExecuteWorkflowAsync( string workflowId, ExecutionContext context, CancellationToken cancellationToken = default) | Method | Gets or sets the execute workflow async. |
Task<bool> PauseExecutionAsync(string executionId, CancellationToken cancellationToken = default) | Method | Gets or sets the pause execution async. |
Task<bool> ResumeExecutionAsync(string executionId, CancellationToken cancellationToken = default) | Method | Gets or sets the resume execution async. |
Task<bool> CancelExecutionAsync(string executionId, CancellationToken cancellationToken = default) | Method | Gets or sets the cancel execution async. |
WorkflowExecution GetExecutionStatus(string executionId) | Method | Gets or sets the get execution status. |
Task<IEnumerable<WorkflowExecution>> GetExecutionHistoryAsync( string workflowId, int limit = 100, CancellationToken cancellationToken = default) | Method | Gets or sets the get execution history async. |
async Task<ValidationResult> ValidateWorkflowAsync(WorkflowDefinition workflow, CancellationToken cancellationToken = default) | Method | Gets or sets the validate workflow async. |
void RegisterNodeType(string nodeType, Func<IAutomationNode> factory) | Method | Gets or sets the register node type. |
bool UnregisterNodeType(string nodeType) | Method | Gets or sets the unregister node type. |
IEnumerable<string> GetRegisteredNodeTypes() | Method | Gets or sets the get registered node types. |
void RegisterDefaults() | Method | Gets or sets the register defaults. |
WorkflowExecutionApi (class)
JSON-friendly facade over WorkflowExecutionService. Every method returns an ApiResponse, so an HTTP handler (ASP.NET, HttpListener, Azure Functions, ...) can map routes directly to these calls and serialize the response with ToJson.
| Member | Kind | Description |
|---|---|---|
WorkflowExecutionApi(WorkflowExecutionService service) | Method | Initializes a new instance of the WorkflowExecutionApi class. |
WorkflowExecutionService Service | Property | Gets or sets the service. |
ApiResponse PublishDiagram(string diagramJson, string workflowName = null) | Method | Publishes a diagram (serialized DiagramDto) as an executable workflow. Only automation-node components are included. |
ApiResponse ListWorkflows() | Method | Gets or sets the list workflows. |
ApiResponse Submit(string workflowId, string submittedBy = null, string inputsJson = null) | Method | Submits a job for a published workflow; inputsJson is an optional JSON object. |
ApiResponse GetJob(string jobId) | Method | Gets or sets the get job. |
ApiResponse ListJobs(string state = null, int limit = 50) | Method | Gets or sets the list jobs. |
ApiResponse Cancel(string jobId) | Method | Gets or sets the cancel. |
ApiResponse Pause(string jobId) | Method | Gets or sets the pause. |
ApiResponse Resume(string jobId) | Method | Gets or sets the resume. |
string ToJson(ApiResponse response) | Method | Serializes a response envelope for transport. |
WorkflowExecutionService (class)
Transport-agnostic execution service for published workflows: submit jobs with inputs, queue them with bounded concurrency, query status, pause/resume/cancel, and inspect results. A REST layer (or any other transport) can be placed on top of this service.
| Member | Kind | Description |
|---|---|---|
WorkflowExecutionService(int maxConcurrency = 2, WorkflowEngine engine = null) | Method | Initializes a new instance of the WorkflowExecutionService class. |
int MaxConcurrency | Property | Maximum number of jobs that may run at the same time. |
WorkflowEngine Engine | Property | The underlying workflow engine. |
event EventHandler<JobStateChangedEventArgs> JobStateChanged | Event | Raised on every job state transition. |
IReadOnlyList<WorkflowDefinition> Workflows | Property | Published workflows available for submission. |
void Publish(WorkflowDefinition workflow) | Method | Publishes (or replaces) a workflow so it can be submitted for execution. |
bool RemoveWorkflow(string workflowId) | Method | Gets or sets the remove workflow. |
WorkflowDefinition GetWorkflow(string workflowId) | Method | Gets or sets the get workflow. |
ExecutionJob Submit(string workflowId, string submittedBy = "anonymous", IDictionary<string, object> inputs = null) | Method | Submits a job for the given published workflow. Returns null when the workflow is unknown. The job starts as soon as a concurrency slot is available. |
ExecutionJob GetJob(string jobId) | Method | Gets or sets the get job. |
IReadOnlyList<ExecutionJob> GetJobs(JobState? state = null, int limit = 50) | Method | Lists jobs, newest first, optionally filtered by state. |
bool Cancel(string jobId) | Method | Cancels a queued or running job. Returns false when it already finished. |
bool Pause(string jobId) | Method | Pauses a running job. |
bool Resume(string jobId) | Method | Resumes a paused job. |
bool WaitForCompletion(string jobId, TimeSpan timeout) | Method | Waits until a job reaches a terminal state, or the timeout elapses. |
void Dispose() | Method | Gets or sets the dispose. |
WorkflowExecutionState (enum)
Workflow execution states.
WorkflowExecutionStateChangedEventArgs (class)
Event arguments for execution state change events.
| Member | Kind | Description |
|---|---|---|
WorkflowExecutionState OldState | Property | Gets or sets the old state. |
WorkflowExecutionState NewState | Property | Gets or sets the new state. |
WorkflowHttpRequest (class)
A transport-neutral HTTP request passed to WorkflowRequestRouter.
| Member | Kind | Description |
|---|---|---|
string Method | Property | Gets or sets the method. |
string Path | Property | Gets or sets the path. |
Dictionary<string, string> Query | Property | Gets or sets the query. |
string Body | Property | Gets or sets the body. |
WorkflowHttpRequest(string method, string path, string query = null, string body = null) | Method | Initializes a new instance of the WorkflowHttpRequest class. |
string GetQuery(string key) | Method | Gets a query value, or null. |
static Dictionary<string, string> ParseQueryString(string query) | Method | Parses a URL query string (without the leading '?') into a case-insensitive map. |
WorkflowHttpResponse (class)
HTTP-shaped result produced by the router.
| Member | Kind | Description |
|---|---|---|
int StatusCode | Property | Gets or sets the status code. |
ApiResponse Body | Property | Gets or sets the body. |
static WorkflowHttpResponse From(ApiResponse response) | Method | Gets or sets the from. |
WorkflowRequestRouter (class)
Maps HTTP routes onto WorkflowExecutionApi. Adapters (HttpListener, ASP.NET, Azure Functions) only need to translate their request/response types. Routes: GET /health → service status GET /api/workflows → published workflows POST /api/workflows?name=... → publish a diagram DTO (body) as a workflow GET /api/jobs?state=&limit= → list jobs POST /api/jobs?workflowId=&submittedBy= → submit a job (body = inputs JSON object) GET /api/jobs/{id} → job detail POST /api/jobs/{id}/cancel → cancel a job POST /api/jobs/{id}/pause → pause a job POST /api/jobs/{id}/resume → resume a job
| Member | Kind | Description |
|---|---|---|
WorkflowRequestRouter(WorkflowExecutionApi api) | Method | Initializes a new instance of the WorkflowRequestRouter class. |
WorkflowHttpResponse Route(WorkflowHttpRequest request) | Method | Gets or sets the route. |
static string[] SplitPath(string path) | Method | Splits a path into lowercase segments without empty entries. |