TreeModel<T> constructor
TreeModel<T> ({
- required Iterable<
TreeItem< items,T> > - int height = 0,
- int width = 0,
- int indentSize = 2,
- int mouseWheelDelta = 3,
- String? initialSelectedId,
- TreeKeyMap? keyMap,
- TreeStyles? styles,
Implementation
TreeModel({
required Iterable<TreeItem<T>> items,
this.height = 0,
this.width = 0,
this.indentSize = 2,
this.mouseWheelDelta = 3,
String? initialSelectedId,
TreeKeyMap? keyMap,
TreeStyles? styles,
}) : assert(height >= 0),
assert(width >= 0),
assert(indentSize >= 2),
assert(mouseWheelDelta > 0),
keyMap = keyMap ?? TreeKeyMap(),
styles = styles ?? TreeStyles(),
_items = List.unmodifiable(items) {
_validateUniqueIds(_items);
_seedExpansion(_items);
final projected = _projectRows();
final requestedIndex = initialSelectedId == null
? -1
: projected.indexWhere((row) => row.item.id == initialSelectedId);
_cursor = requestedIndex >= 0
? requestedIndex
: _firstSelectableIndex(projected);
_clampState();
}