graph_flow library

Classes

CanvasLayout
Configuration of how a GraphCanvas should render Connections and its background. Is used for GraphCanvas as its drawing style and does not affect how Nodes or Ports are drawn.
ConnectionModel
Connection between two ports of two nodes. Contains the sources sourceNodeId+sourcePortId and the targets targetNodeId+targetPortId.
DataConnectionPainter
A high-performance painter that draws connections and animated dots. Uses the Visualizer to determine selected and highlighting aspects of its connections. The animation uses one global instance to allow performant animation of all connection indicators.
GraphCanvas
The main interactive canvas for the node graph.
GraphModel
GraphModel represents a standard directed Graph. It contains Nodes (nodeModels) and their Connections (connectionModels). Every Node in this Graph is an element of NodeModel containing a unique Id and several PortModel to indicate what type of information to receive or transmit. Methods for the addition of Nodes, connecting Ports etc are provided in this class.
GraphVisualiser
A GraphVisualiser sits on top of a GraphModel (the data) and keeps track of everything that is purely visual or interactive: where each node is drawn, which nodes are selected or hovered, which port is currently being connected, and the state of the marquee (rubber-band) selection.
GridPainter
A CustomPainter that draws an extended grid.
GridWidget
A StatelessWidget that renders a grid background using a CustomPaint.
NodeModel
NodeModel represents a node/vertices in a Graph.
NodeViewState
The state of a visual node element. The NodeVisual uses this to render and react to changes properly. Contains a reference to model, position, size and the PortViewStates of ports. If paintOrder is 0 it is considered standard node. With paintOrder 1 it will be drawn above the other nodes.
NodeVisual
The Widget to render a NodeViewState. Does only contain:
PortModel
PortModel represents a point of connection for a Node. Ports can either be input, output or inout. Stores the Properties:
PortViewState
Represents the state for PortVisual containing localOffset, the ports parent nodeId and the reference to PortModel.
PortVisual
The Widget for the PortViewState Objects Rendering. Does only contain:
PositionSnapper
Snaps a position to a defined granularity. Global attribute granularity can be defined for snapping behaviour of the nodes on a canvas. Setting it to 0 disables snapping.

Enums

ConnectionShape
Defines the drawing type of the connection. Either bezier or direct supported.
PortDirection