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.
- GraphLink
- 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.