Table of Contents

Class EdgeRendererRegistry

Namespace
FlowGraph.Avalonia.Rendering.EdgeRenderers
Assembly
FlowGraph.Avalonia.dll

Registry for custom edge renderers. Maps edge type strings to renderer implementations.

public class EdgeRendererRegistry
Inheritance
EdgeRendererRegistry
Inherited Members

Examples

var registry = new EdgeRendererRegistry();

// Register specific type
registry.Register("sequence-message", new SequenceMessageRenderer());

// Register wildcard pattern
registry.Register("swimlane-*", new SwimlaneEdgeRenderer());

// Set default renderer
registry.SetDefault(new OrthogonalEdgeRenderer());

Remarks

The registry uses a hierarchical lookup strategy: 1. Exact match on edge's custom type (e.g., "sequence-message") 2. Prefix match with wildcard (e.g., "sequence-*" matches "sequence-message") 3. Fall back to default renderer

Edge type is determined from the edge's Type property when set to Custom, combined with a custom type string stored in edge metadata.

Methods

Clear()

Clears all registered custom renderers.

public void Clear()

GetRenderer(Edge)

Gets the appropriate renderer for an edge.

public IEdgeRenderer? GetRenderer(Edge edge)

Parameters

edge Edge

The edge to get a renderer for.

Returns

IEdgeRenderer

The matching renderer, or null to use built-in rendering.

GetRendererByKey(string)

Gets a renderer for a specific string type key. This allows Pro features to use custom type strings without modifying core Edge.

public IEdgeRenderer? GetRendererByKey(string typeKey)

Parameters

typeKey string

The custom type key.

Returns

IEdgeRenderer

The registered renderer, or null if not found.

HasRenderer(string)

Checks if a custom renderer is registered for the given edge type.

public bool HasRenderer(string edgeType)

Parameters

edgeType string

The edge type to check.

Returns

bool

True if a custom renderer exists.

Register(string, IEdgeRenderer)

Registers a renderer for a specific edge type.

public void Register(string edgeType, IEdgeRenderer renderer)

Parameters

edgeType string

The edge type string to match.

renderer IEdgeRenderer

The renderer to use for this type.

SetDefault(IEdgeRenderer?)

Sets the default renderer used when no specific match is found.

public void SetDefault(IEdgeRenderer? renderer)

Parameters

renderer IEdgeRenderer

The default renderer, or null to use built-in rendering.

Unregister(string)

Unregisters a renderer for a specific edge type.

public bool Unregister(string edgeType)

Parameters

edgeType string

The edge type to unregister.

Returns

bool

True if the renderer was removed, false if not found.