Module item_tree

Module item_tree 

Source
Expand description

This module contains the ItemTree and code that helps navigating it

Macros§

ItemTreeVTable_static
Instantiate a static ItemTreeVTable for a given type and implements vtable::HasStaticVTable<ItemTreeVTable> for it.
ItemVisitorVTable_static
Instantiate a static ItemVisitorVTable for a given type and implements vtable::HasStaticVTable<ItemVisitorVTable> for it.

Structs§

IndexRange
A range of indices
ItemRc
A ItemRc is holding a reference to a ItemTree containing the item, and the index of this item
ItemTreeNodeArray
The ItemTreeNodeArray provides tree walking code for the physical ItemTree stored in a ItemTree without stitching any inter-ItemTree links together!
ItemTreeTO
Invariant, same as vtable::Inner: vtable and ptr has to be valid and ptr an instance matching the vtable
ItemTreeVTable
A ItemTree is representing an unit that is allocated together
ItemVisitorTO
Invariant, same as vtable::Inner: vtable and ptr has to be valid and ptr an instance matching the vtable
ItemVisitorVTable
Object to be passed in visit_item_children method of the ItemTree.
ItemWeak
A Weak reference to an item that can be constructed from an ItemRc.
VisitChildrenResult
The return value of the ItemTree::visit_children_item function

Enums§

ItemTreeNode
The item tree is an array of ItemTreeNode representing a static tree of items within a ItemTree.
ItemVisitorResult
ParentItemTraversalMode
TraversalOrder

Traits§

ItemTree
A ItemTree is representing an unit that is allocated together Note: Was generated from the #[vtable] macro on ItemTreeVTable
ItemVisitor
Object to be passed in visit_item_children method of the ItemTree. Note: Was generated from the #[vtable] macro on ItemVisitorVTable

Functions§

register_item_tree
Call init() on the ItemVTable for each item of the ItemTree.
unregister_item_tree
Free the backend graphics resources allocated by the ItemTree’s items.
visit_item_tree
Visit the children within an array of ItemTreeNode
visit_items
Visit each items recursively

Type Aliases§

ItemTreeRc
Type alias to the commonly used VRc<ItemTreeVTable, Dyn>>
ItemTreeRef
Alias for vtable::VRef<ItemTreeVTable> which represent a pointer to a dyn ItemTree with the associated vtable
ItemTreeRefPin
Type alias to the commonly used Pin<VRef<ItemTreeVTable>>>
ItemTreeWeak
Type alias to the commonly used VWeak<ItemTreeVTable, Dyn>>
ItemVisitorRefMut
Type alias to vtable::VRefMut<ItemVisitorVTable>