SkillTreeDelegate<EdgeType, NodeType, IdType extends Object, GraphType extends Graph<EdgeType, NodeType, IdType>> class abstract

A delegate decides the layout to be used for the skill tree

This takes inspiration from but does not extend or implement MultiChildLayoutDelegate as that class is specific to a CustomMultiChildLayout does is not "delegated" any real work other than holding layout config.

Implementers

Constructors

SkillTreeDelegate({Listenable? relayout})
Creates a layout delegate.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

layoutEdges(BoxConstraints constraints, SkillNodeLayout<NodeType, IdType> skillNodeLayout, GraphType graph, List<EdgeDetails<EdgeType, NodeType, IdType>> edgeChildrenDetails, List<NodeDetails<NodeType, IdType>> nodeChildrenDetails) → void
We need to layout edges. However, an edge is not a direct RenderObject. Instead, it is a MultiChildRenderObject. Therefore, we must position the edges first based off the nodes.
layoutNodes(BoxConstraints constraints, GraphType graph, List<NodeDetails<NodeType, IdType>> nodeChildrenDetails) SkillNodeLayout<NodeType, IdType>
Returns information about the size and position of the nodes
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldRelayout(covariant SkillTreeDelegate<EdgeType, NodeType, IdType, GraphType> oldDelegate) bool
Override this method to return true when the children need to be laid out.
toString() String
Override this method to include additional information in the debugging data printed by debugDumpRenderTree and friends.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited