plough library

Classes

Graph
A core data structure that provides the foundation for graph visualization through GraphView.
GraphCircle
A circular node shape.
GraphConnectionGeometry
Manages geometric relationships between connected nodes.
GraphConnectionPoints
Defines the connection points between nodes for link calculation and rendering.
GraphCustomLayoutStrategy
A layout strategy that enables custom node positioning through a delegate pattern.
GraphCustomLayoutStrategyDelegate
Interface for implementing custom graph layout algorithms.
GraphDefaultLinkRenderer
A comprehensive default link widget used by GraphLinkViewBehavior.
GraphDefaultLinkRendererStyle
Controls link appearance with colors and dimensions that automatically update with state changes. Customizable properties include arrow styles and line thickness.
GraphDefaultNodeRenderer
A highly customizable default node widget used by GraphNodeViewBehavior.
GraphDefaultNodeRendererStyle
Controls node appearance with color and dimension options that automatically update based on interaction states.
GraphEntity
The fundamental interface defining a graph entity within the visualization system.
GraphForceDirectedLayoutStrategy
A physics-based layout strategy using a force-directed algorithm.
GraphId
A unique identifier for graph elements.
GraphLayoutStrategy
The base class for graph layout algorithms.
Manages connections between graph nodes with support for directionality, routing, and visual styling. Extends GraphEntity with link-specific functionality.
GraphLinkViewBehavior
Controls the visualization and interaction behavior of graph links.
GraphManualLayoutStrategy
A layout strategy for manual node positioning.
GraphNode
Core component of graph visualization that manages visual properties, animation states, and interaction behaviors. Extends GraphEntity with node-specific functionality.
GraphNodeLayoutPosition
Holds position information for a node in the graph layout system.
GraphNodeViewBehavior
Controls how nodes are rendered and how they interact with user input.
GraphNodeViewGeometry
Defines a node's layout bounds for rendering and hit testing.
GraphOrderManager
A utility class for managing the ordering of graph entities.
GraphRandomLayoutStrategy
A layout strategy that positions nodes randomly within the available space.
GraphRectangle
A rectangular node shape.
GraphShape
An interface for defining node shapes in the graph.
GraphTooltip
GraphTooltipBehavior
Controls the display and behavior of tooltips for graph entities.
GraphTreeLayoutStrategy
A layout strategy that arranges nodes in a hierarchical tree structure.
GraphView
The main widget for displaying a graph.
GraphViewBehavior
Coordinates the visual representation and interaction handling of a graph.
GraphViewDefaultBehavior
A default implementation of graph view behavior with standard visualization features.
Plough
Singleton class that manages the global settings of the Plough library.

Enums

GraphDefaultNodeRendererShape
Shape options available for nodes in the default renderer.
GraphIdType
Identifies the type of graph element an ID belongs to.
GraphLayoutPositionOrigin
Defines the reference point for manual node positioning.
GraphLinkDirection
The direction of a link between nodes.
GraphLinkRouting
Specifies how links connect between nodes.
GraphTooltipPosition
Specifies where tooltips appear relative to their target entities.
GraphTooltipTriggerMode
Defines when tooltips should be displayed in response to user interactions.
GraphTreeLayoutDirection
Specifies the direction in which the tree should expand.

Typedefs

GraphDefaultNodeRendererWidgetBuilder = Widget Function(BuildContext context, Graph graph, GraphNode node, Widget? child)
A builder function type for customizing node rendering.
GraphLinkWidgetBuilder = Widget Function(BuildContext context, Graph graph, GraphLink link, Widget sourceView, Widget targetView, GraphLinkRouting routing, GraphConnectionGeometry geometry, Widget? child)
A function type for building link widgets.
GraphLinkWidgetThicknessGetter = double Function(BuildContext context, Graph graph, GraphLink link, Widget sourceView, Widget targetView)
A function type for dynamically calculating link thickness.
GraphNodeWidgetBuilder = Widget Function(BuildContext context, Graph graph, GraphNode node, Widget? child)
A function type for building node widgets.
GraphTooltipWidgetBuilder = Widget Function(BuildContext context, GraphEntity entity)
A builder for creating tooltip widgets for graph entities.
GraphTreeLayoutRootNodeSelector = GraphId Function(Iterable<GraphNode> nodes)
Callback for selecting the root node of the tree layout.
GraphTreeLayoutSiblingNodeComparator = int Function(GraphNode a, GraphNode b)
Callback for determining the order of sibling nodes in the tree.