simple<Data> static method
TreeView<Data, TreeNode<Data> >
simple<Data>({
- Key? key,
- required TreeNodeWidgetBuilder<
TreeNode< builder,Data> > - required TreeNode<
Data> tree, - ExpansionBehavior expansionBehavior = ExpansionBehavior.none,
- Indentation? indentation,
- AutoScrollController? scrollController,
- ExpansionIndicatorBuilder? expansionIndicatorBuilder,
- ValueSetter<
TreeNode< ? onItemTap,Data> > - bool? primary,
- ScrollPhysics? physics,
- EdgeInsetsGeometry? padding,
- bool shrinkWrap = false,
- bool showRootNode = true,
- bool focusToNewNode = true,
- TreeReadyCallback<
Data, TreeNode< ? onTreeReady,Data> > - Animation<
double> ? animation,
The default implementation of TreeView that uses a TreeNode internally, which is based on the Map data structure for maintaining the children states. The TreeNode does not allow insertion and removal of items at index positions. This allows for more efficient insertion and retrieval of items at child nodes, as child items can be readily accessed using the map keys.
The complexity for accessing child nodes in TreeView.simple is simply O(node_level). e.g. for path './.level1/level2', complexity is simply O(2).
** See code in example/lib/samples/treeview/treeview_modification_sample.dart **
See also:
- For a TreeView that allows for insertion and removal of items at index positions, use the alternate TreeView.indexed.
- For using an object that extends the TreeNode instead of using TreeNode
directly, used the TreeView.simpleTyped which allows for typed objects
to be returned in the
builder
Implementation
static TreeView<Data, TreeNode<Data>> simple<Data>({
Key? key,
required TreeNodeWidgetBuilder<TreeNode<Data>> builder,
required final TreeNode<Data> tree,
ExpansionBehavior expansionBehavior = ExpansionBehavior.none,
Indentation? indentation,
AutoScrollController? scrollController,
ExpansionIndicatorBuilder? expansionIndicatorBuilder,
ValueSetter<TreeNode<Data>>? onItemTap,
bool? primary,
ScrollPhysics? physics,
EdgeInsetsGeometry? padding,
bool shrinkWrap = false,
bool showRootNode = true,
bool focusToNewNode = true,
TreeReadyCallback<Data, TreeNode<Data>>? onTreeReady,
Animation<double>? animation,
}) =>
TreeView._(
key: key,
builder: builder,
tree: tree,
expansionBehavior: expansionBehavior,
indentation: indentation,
expansionIndicatorBuilder:
expansionIndicatorBuilder ?? _defExpansionIndicatorBuilder,
scrollController: scrollController,
onItemTap: onItemTap,
primary: primary,
physics: physics,
padding: padding,
shrinkWrap: shrinkWrap,
showRootNode: showRootNode,
onTreeReady: onTreeReady,
focusToNewNode: focusToNewNode,
animation: animation,
);