Package limn.components.tree


@NullMarked package limn.components.tree
The tree: an outline over children the application provides.

Tree is one column of rows at a depth — an indent, a disclosure triangle where a row can open, and the application's own cell widget. Rows are realized only where the viewport reaches, as ListView's and Table's are, and the order they are walked in is a traversal of what is expanded rather than a list.

The application keeps its nodes. A tree is given roots and a model that answers what a node's children are, whether it can have any at all, and — when they are not known yet — a Work that fetches them, so a directory or a remote catalogue can open a row before it can name what is inside it.

Columns are not here: a TreeTable is a widget still to come, and the day it arrives is the day the anchor walk this package copies from ListView and Table collapses into one engine the three of them share.

  • Class
    Description
    Tree<T>
    An outline over children the application provides: one column of rows at a depth, each with an indent, a disclosure triangle where it can open, and the application's own cell widget.
    Something was dropped on this tree.
    What the tree asks the application about its own data.
    Nodes of this tree were dragged to another place in it.