Phase 6 updates

Phase 6 · Slice 37 ·

MultiColumnListView

  • Column (name, title, icon, widths with Unity's defaults, visible, sortable, stretchable, optional, resizable, comparison, makeCell, bindCell, unbindCell, destroyCell, makeHeader, bindHeader, templates) and Columns (primary column, stretch mode, ReorderDisplay changing only the order shown), SortColumnDescription(s), SortDirection, ColumnSortingMode.
  • MultiColumnListView with MultiColumnListViewController and MultiColumnController: the header inside the scroll view (a header column per visible column in the order shown, with its sort indicator, icon and title, and resize handles, the last hidden), rows of a cell per visible column, fixed columns at their width (within minimum and maximum) and stretchable ones sharing the rest.
  • Default sorting orders the rows by the sorted columns' comparisons (descending reversed, then the source's order): ids are the source's indices, bindCell gets them, and selection works by the shown order; descriptions changing re-sort and raise columnSortingChanged. Clicking a sortable header sorts by it (again: the other way; shift adds it).
  • Length writes zero pixels as 0, as Unity's does.
  • Checked by ui_toolkit_multi_column (6000.3): column and collection defaults, the list's, header's and rows' structures, cells and their widths and places, sorting, ids, selection, events, a hidden column and a reordered display.
  • Not yet: resizing columns by dragging, the header's context menu (ContextualMenuPopulateEvent), MultiColumnTreeView, Custom sorting beyond the event.
  • Next: MultiColumnTreeView; TreeView's view controller.