Blender  V3.3
List of all members
blender::ed::outliner::OverrideRNAPathTreeBuilder Class Reference

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 animation_visualization_mothion_path.frame_end becomes:

  • Animation Visualization

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:

  • A single override may add (and in future remove) multiple collection items. So all operations of the override have to be considered.
  • The order of collection items may matter (e.g. for modifiers), so if collection items are added/removed, we want to show all other collection items too, in the right order.
  • If the override is inside some collection item, the collection item has to be built, but the RNA path iterator doesn't
 OverrideRNAPathTreeBuilder (SpaceOutliner &space_outliner)
 
void build_path (TreeElement &parent, TreeElementOverridesData &override_data, short &index)
 

Detailed Description

Definition at line 29 of file tree_element_overrides.cc.

Constructor & Destructor Documentation

◆ OverrideRNAPathTreeBuilder()

blender::ed::outliner::OverrideRNAPathTreeBuilder::OverrideRNAPathTreeBuilder ( SpaceOutliner space_outliner)

Definition at line 283 of file tree_element_overrides.cc.

Member Function Documentation

◆ build_path()

void blender::ed::outliner::OverrideRNAPathTreeBuilder::build_path ( TreeElement parent,
TreeElementOverridesData override_data,
short &  index 
)

The documentation for this class was generated from the following file: