Phase 6 updates

Phase 6 · Slice 34 ·

TreeView

  • BaseTreeView and TreeView over the virtualized collection view: SetRootItems with TreeViewItemData, rows of the items whose parents are all expanded (itemsSource), each a row element with an indent per depth, a toggle styled as a foldout's (hidden without children; turning it on expands, after clearing the selection, as Unity's does) and the item makeItem made, which bindItem gets.
  • ExpandItem, CollapseItem (with all children, with or without refreshing the rows), ExpandRootItems, ExpandAll, CollapseAll, IsExpanded and itemExpandedChanged (id -1 for all); ids, parents, children and data by index and id; GetTreeCount, GetRootIds; AddItem and TryRemoveItem; selection by id (SetSelectionById expands the hidden item's parents, nearest first), kept across rows changing (cleared, with its events, when its items are hidden), selectedIds as ids, GetSelectedItems.
  • VisualElement.parent is the element an element was added to (a scroll view for its content's children), as Unity's: collection views add their items to their scroll view.
  • Checked by ui_toolkit_tree_view (6000.3): row structure and styles, the rows through expanding and collapsing in every form, events, ids and data, selection by id, adding and removing, and a toggle turned on.
  • Not yet: TreeView's viewController (TreeViewController), Foldout, MultiColumnListView and MultiColumnTreeView, reordering.
  • Next: Foldout; reorderable lists.