plugins library
Plugin system - events, plugins, and built-in plugins.
Events
Events are organized by category in the events/ subdirectory:
- Node events: NodeAdded, NodeRemoved, NodeMoved, etc.
- Connection events: ConnectionAdded, ConnectionRemoved
- Selection events: SelectionChanged
- Viewport events: ViewportChanged
- Drag events: NodeDragStarted, ConnectionDragStarted, etc.
- Hover events: NodeHoverChanged, PortHoverChanged, etc.
- Lifecycle events: GraphCleared, GraphLoaded
- Batch events: BatchStarted, BatchEnded
- LOD events: LODLevelChanged
Plugin System
- NodeFlowPlugin - Base class for plugins
- PluginRegistry - Registry for managing plugins
Built-in Plugins
- AutoPanPlugin - Autopan near viewport edges
- DebugPlugin - Debug overlay visualizations
- LodPlugin - Level of Detail visibility based on zoom
- MinimapPlugin - Minimap state and highlighting
- StatsPlugin - Reactive graph statistics
Classes
- AutoPanPlugin
- Plugin for managing autopan behavior during drag operations.
-
AutopanZoneDebugLayer<
T> - Debug layer that visualizes the autopan edge zones.
- BatchEnded
- Marks the end of a batch operation.
- BatchStarted
- Marks the start of a batch operation.
- ConnectionAdded
- Emitted when a connection is added to the graph.
- ConnectionDragEnded
- Emitted when connection drag ends (connected or cancelled).
- ConnectionDragStarted
- Emitted when connection creation begins (dragging from a port).
- ConnectionHoverChanged
- Emitted when hover state changes on a connection.
- ConnectionRemoved
- Emitted when a connection is removed from the graph.
- DebugPlugin
- Plugin for managing debug visualization overlays.
- DebugTheme
- Theme configuration for debug visualizations.
- DetailVisibility
- Configuration that defines which visual elements should be rendered at a given Level of Detail.
- GraphCleared
- Emitted when the graph is cleared.
- GraphEvent
- Base class for all graph events emitted by NodeFlowController.
- GraphLoaded
- Emitted when a graph is loaded (replacing current content).
- LODLevelChanged
- Emitted when the LOD visibility level changes.
- LodPlugin
- Level of Detail (LOD) plugin that provides reactive visibility settings based on the viewport zoom level.
-
MinimapPainter<
T> - Custom painter for rendering the minimap visualization.
- MinimapPlugin
- Minimap plugin for managing minimap state and behavior.
- MinimapTheme
- Theme configuration for the minimap visual appearance.
-
NodeAdded<
T> - Emitted when a node is added to the graph.
-
NodeDataChanged<
T> - Emitted when a node's data changes.
- NodeDragEnded
- Emitted when a node drag operation ends.
- NodeDragStarted
- Emitted when a node drag operation starts.
-
NodeFlowMinimap<
T> - A minimap widget that provides an overview of the entire node flow graph.
- NodeFlowPlugin
- Interface for plugins that add behavior and state to the node flow editor.
-
NodeGroupChanged<
T> - Emitted when a node's group membership changes.
- NodeHoverChanged
- Emitted when hover state changes on a node.
-
NodeLockChanged<
T> - Emitted when a node's lock state changes.
-
NodeMoved<
T> - Emitted when a node's position changes.
-
NodeRemoved<
T> - Emitted when a node is removed from the graph.
-
NodeResized<
T> - Emitted when a node's size changes.
-
NodeVisibilityChanged<
T> - Emitted when a node's visibility changes.
-
NodeZIndexChanged<
T> - Emitted when a node's z-index changes.
- PluginRegistry
- Registry that manages plugin instances.
- PortHoverChanged
- Emitted when hover state changes on a port.
- ResizeEnded
- Emitted when a resize operation ends.
- ResizeStarted
- Emitted when a resize operation starts.
- SelectionChanged
- Emitted when the selection changes.
- SnapPlugin
- A plugin that manages snap behavior through a delegate chain.
-
SpatialIndexDebugLayer<
T> - Debug layer that visualizes the spatial index grid.
- SpatialIndexDebugPainter
- Debug painter that visualizes the spatial index grid.
- StatsPlugin
- Reactive graph statistics plugin.
- ViewportChanged
- Emitted when the viewport changes (pan or zoom).
Enums
- DebugMode
- Debug visualization mode for NodeFlow.
- MinimapPosition
- Position options for minimap placement.
Extensions
-
AutoPanPluginAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the autopan plugin.
-
DebugPluginAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the debug plugin.
-
LodPluginAccess
on NodeFlowController<
T, dynamic> - Dart extension providing convenient access to LOD functionality.
-
MinimapControllerExtension
on NodeFlowController<
T, dynamic> - Extension adding minimap navigation functionality to NodeFlowController.
-
MinimapPluginAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the minimap plugin.
-
SnapPluginAccess
on NodeFlowController<
T, dynamic> - Extension to access the snap plugin from a controller.
-
StatsPluginAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the stats plugin.