TreeNodeScope class
An implementation of InheritedWidget to manage the state of TreeNodes throughout the subtree of this widget.
Each TreeNode in the TreeView have its own TreeNodeScope widget to make it possible to update (expand / collapse) the node attached to this widget from anywhere in it's subtree.
This implementation also makes it possible to have constant constructors in NodeWidget or any widget chosen as an entry of TreeView to improve performance as it usually doesn't need to be rebuilt when the nodes around it change.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- ProxyWidget
- InheritedWidget
- TreeNodeScope
Constructors
- TreeNodeScope({Key? key, required TreeNode node, required TreeViewTheme theme, bool isExpanded = false, bool shouldRefresh = false, required Widget child})
- Creates a TreeNodeScope.
Properties
- child → Widget
-
The widget below this widget in the tree.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- indentation → double
-
Calculates the amount of indentation of this node.
depth * [indent]no setter - isExpanded → bool
-
Whether TreeNodeScope.node is currently expanded or not.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- node → TreeNode
-
The TreeNode provided to the widget subtree of this TreeNodeScope.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- theme → TreeViewTheme
-
The instance of TreeViewTheme that controls the theme of the TreeView.
final
Methods
-
collapse(
BuildContext context) → void - Notifies TreeViewController to collapse this node.
-
createElement(
) → InheritedElement -
Inflates this configuration to a concrete instance.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
expand(
BuildContext context) → void - Notifies TreeViewController to expand this node.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toggleExpanded(
BuildContext context) → void - Toggles isExpanded to the opposite state.
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
-
updateShouldNotify(
covariant TreeNodeScope oldWidget) → bool -
Whether the framework should notify widgets that inherit from this widget.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
of(
BuildContext context) → TreeNodeScope -
Finds the nearest TreeNodeScope and subscribes
contextto state changes.