|
Blender V4.3
|
Helper to build a hierarchy from an RNA path. | |
Builds a nice hierarchy representing the nested structs of the override property's RNA path using UI names and icons. For example
Paths are merged so that each RNA sub-path is only represented once in the tree. So there is some finicky path building going on to create a path -> tree-element map. This is more complicated than you'd think it needs to be. Mostly because of RNA collection overrides:
| |
| OverrideRNAPathTreeBuilder (SpaceOutliner &space_outliner) | |
| void | build_path (TreeElement &parent, TreeElementOverridesData &override_data, short &index) |
Definition at line 34 of file tree_element_overrides.cc.
| blender::ed::outliner::OverrideRNAPathTreeBuilder::OverrideRNAPathTreeBuilder | ( | SpaceOutliner & | space_outliner | ) |
Definition at line 306 of file tree_element_overrides.cc.
| void blender::ed::outliner::OverrideRNAPathTreeBuilder::build_path | ( | TreeElement & | parent, |
| TreeElementOverridesData & | override_data, | ||
| short & | index ) |
Definition at line 311 of file tree_element_overrides.cc.
References blender::ed::outliner::AbstractTreeDisplay::add_element(), BLI_listbase_clear(), blender::ed::outliner::TreeElementOverridesData::id, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), blender::ed::outliner::TreeElement::next, blender::ed::outliner::TreeElementOverridesData::override_property, blender::ed::outliner::TreeElementOverridesData::override_rna_prop, blender::ed::outliner::TreeElementOverridesData::override_rna_ptr, PROP_COLLECTION, RNA_id_pointer_create(), IDOverrideLibraryProperty::rna_path, RNA_path_append(), RNA_path_resolve_elements(), RNA_property_collection_lookup_index(), RNA_property_type(), RNA_struct_name_get_alloc(), blender::ed::outliner::TreeElement::subtree, and TSE_LIBRARY_OVERRIDE.
Referenced by blender::ed::outliner::TreeElementOverridesBase::expand().