MixedTreeView
Similar to TreeView, but this is better suited to trees, where each item in the tree structure contains different types of data.
For example, you may have a MixedTreeView which shows the structure of a document, and an item in the tree could be a page, a layer, text, an image, meta-data...
I is the base class of MixedTreeItem. If each node has no common attributes or behaviour, then I may be MixedTreeItem itself.
Properties
The base class Node has no children, so this is an empty list.
At a later date, MixedTreeView may support variable size cells, and a negative number would indicate that each cell has its own custom height. But for now, this should always be set to greater than zero (either directly in code, or via the scene's Theme).
Functions
Prints the root node, and then all descendant MixedTreeItem.children for MixedTreeItems which are expanded. i.e. The MixedTreeItems that are visible if you scroll from the top of the MixedTreeView to the bottom, plus the root node (even when showRoot == true).
Prints the tree starting at the root, and descending into all descendant TreeItem.children.
Expands all ancestor TreeItems, and repositions the vertical scroll bar, if needed, so that item is available, and then scroll the tree to make it visible.
By default, MixedTreeViews have an arbitrary prefHeight. Set evalPrefHeight, or add the MixedTreeView to a layout control which will allocate a sensible area regardless of evalPrefWidth.
By default, MixedTreeViews have an arbitrary prefWidth. Set evalPrefWidth, or add the MixedTreeView to a layout control which will allocate a sensible area regardless of evalPrefWidth.