|
Blender V4.3
|
#include <tree_element.hh>
Inherited by blender::ed::outliner::TreeElementAnimData, blender::ed::outliner::TreeElementBone, blender::ed::outliner::TreeElementBoneCollection, blender::ed::outliner::TreeElementBoneCollectionBase, blender::ed::outliner::TreeElementCollectionBase, blender::ed::outliner::TreeElementConstraint, blender::ed::outliner::TreeElementConstraintBase, blender::ed::outliner::TreeElementDeformGroup, blender::ed::outliner::TreeElementDeformGroupBase, blender::ed::outliner::TreeElementDriverBase, blender::ed::outliner::TreeElementEditBone, blender::ed::outliner::TreeElementGPencilEffect, blender::ed::outliner::TreeElementGPencilEffectBase, blender::ed::outliner::TreeElementGPencilLayer, blender::ed::outliner::TreeElementGreasePencilNode, blender::ed::outliner::TreeElementID, blender::ed::outliner::TreeElementLabel, blender::ed::outliner::TreeElementLayerCollection, blender::ed::outliner::TreeElementLinkedNodeTree, blender::ed::outliner::TreeElementLinkedObject, blender::ed::outliner::TreeElementModifier, blender::ed::outliner::TreeElementModifierBase, blender::ed::outliner::TreeElementNLA, blender::ed::outliner::TreeElementNLAAction, blender::ed::outliner::TreeElementNLATrack, blender::ed::outliner::TreeElementOverridesBase, blender::ed::outliner::TreeElementOverridesProperty, blender::ed::outliner::TreeElementParticleSystem, blender::ed::outliner::TreeElementPoseBase, blender::ed::outliner::TreeElementPoseChannel, blender::ed::outliner::TreeElementRNACommon, blender::ed::outliner::TreeElementSceneObjectsBase, blender::ed::outliner::TreeElementSequence, blender::ed::outliner::TreeElementSequenceStrip, blender::ed::outliner::TreeElementSequenceStripDuplicate, blender::ed::outliner::TreeElementViewCollectionBase, blender::ed::outliner::TreeElementViewLayer, and blender::ed::outliner::TreeElementViewLayerBase.
Public Member Functions | |
| virtual | ~AbstractTreeElement ()=default |
| virtual bool | expand_poll (const SpaceOutliner &) const |
| TreeElement & | get_legacy_element () |
| virtual StringRefNull | get_warning () const |
| virtual std::optional< BIFIconID > | get_icon () const |
| void | print_path () |
Static Public Member Functions | |
| static std::unique_ptr< AbstractTreeElement > | create_from_type (int type, TreeElement &legacy_te, ID *owner_id, void *create_data) |
| static void | uncollapse_by_default (TreeElement *legacy_te) |
Protected Member Functions | |
| AbstractTreeElement (TreeElement &legacy_te) | |
| virtual void | expand (SpaceOutliner &) const |
| TreeElement * | add_element (ListBase *lb, ID *owner_id, void *create_data, TreeElement *parent, short type, short index, const bool expand=true) const |
Protected Attributes | |
| TreeElement & | legacy_te_ |
| AbstractTreeDisplay * | display_ |
Friends | |
| class | AbstractTreeDisplay |
| void | tree_element_expand (const AbstractTreeElement &tree_element, SpaceOutliner &space_outliner) |
Definition at line 29 of file tree_element.hh.
|
virtualdefault |
|
inlineprotected |
Definition at line 103 of file tree_element.hh.
|
protected |
See AbstractTreeDisplay::add_element() (which this forwards to).
Definition at line 240 of file tree_element.cc.
References blender::ed::outliner::AbstractTreeDisplay::add_element(), BLI_assert_msg, display_, and expand().
Referenced by blender::ed::outliner::TreeElementAnimData::expand(), blender::ed::outliner::TreeElementBoneCollection::expand(), blender::ed::outliner::TreeElementBoneCollectionBase::expand(), blender::ed::outliner::TreeElementDeformGroupBase::expand(), blender::ed::outliner::TreeElementDriverBase::expand(), blender::ed::outliner::TreeElementGPencilEffect::expand(), blender::ed::outliner::TreeElementGPencilEffectBase::expand(), blender::ed::outliner::TreeElementGreasePencilNode::expand(), blender::ed::outliner::TreeElementIDArmature::expand(), blender::ed::outliner::TreeElementModifier::expand(), blender::ed::outliner::TreeElementModifierBase::expand(), blender::ed::outliner::TreeElementNLA::expand(), blender::ed::outliner::TreeElementNLATrack::expand(), blender::ed::outliner::TreeElementPoseBase::expand(), blender::ed::outliner::TreeElementRNAProperty::expand(), blender::ed::outliner::TreeElementRNAStruct::expand(), blender::ed::outliner::TreeElementSceneObjectsBase::expand(), blender::ed::outliner::TreeElementSequence::expand(), blender::ed::outliner::TreeElementViewLayerBase::expand(), and blender::ed::outliner::TreeElementID::expand_animation_data().
|
static |
Definition at line 51 of file tree_element.cc.
References blender::ed::outliner::TreeElementID::create_from_id(), blender::ed::outliner::TreeElement::index, TSE_ANIM_DATA, TSE_BONE, TSE_BONE_COLLECTION, TSE_BONE_COLLECTION_BASE, TSE_CONSTRAINT, TSE_CONSTRAINT_BASE, TSE_DEFGROUP, TSE_DEFGROUP_BASE, TSE_DRIVER_BASE, TSE_EBONE, TSE_GENERIC_LABEL, TSE_GP_LAYER, TSE_GPENCIL_EFFECT, TSE_GPENCIL_EFFECT_BASE, TSE_GREASE_PENCIL_NODE, TSE_LAYER_COLLECTION, TSE_LIBRARY_OVERRIDE, TSE_LIBRARY_OVERRIDE_BASE, TSE_LIBRARY_OVERRIDE_OPERATION, TSE_LINKED_NODE_TREE, TSE_LINKED_OB, TSE_LINKED_PSYS, TSE_MODIFIER, TSE_MODIFIER_BASE, TSE_NLA, TSE_NLA_ACTION, TSE_NLA_TRACK, TSE_POSE_BASE, TSE_POSE_CHANNEL, TSE_R_LAYER, TSE_R_LAYER_BASE, TSE_RNA_ARRAY_ELEM, TSE_RNA_PROPERTY, TSE_RNA_STRUCT, TSE_SCENE_COLLECTION_BASE, TSE_SCENE_OBJECTS_BASE, TSE_SEQ_STRIP, TSE_SEQUENCE, TSE_SEQUENCE_DUP, TSE_SOME_ID, and TSE_VIEW_COLLECTION_BASE.
Referenced by blender::ed::outliner::AbstractTreeDisplay::add_element().
|
inlineprotectedvirtual |
Let the type add its own children.
Reimplemented in blender::ed::outliner::TreeElementAnimData, blender::ed::outliner::TreeElementBoneCollection, blender::ed::outliner::TreeElementBoneCollectionBase, blender::ed::outliner::TreeElementCollectionBase, blender::ed::outliner::TreeElementDeformGroupBase, blender::ed::outliner::TreeElementDriverBase, blender::ed::outliner::TreeElementGPencilEffect, blender::ed::outliner::TreeElementGPencilEffectBase, blender::ed::outliner::TreeElementGreasePencilNode, blender::ed::outliner::TreeElementID, blender::ed::outliner::TreeElementIDArmature, blender::ed::outliner::TreeElementIDCollection, blender::ed::outliner::TreeElementIDCurve, blender::ed::outliner::TreeElementIDGPLegacy, blender::ed::outliner::TreeElementIDGreasePencil, blender::ed::outliner::TreeElementIDLineStyle, blender::ed::outliner::TreeElementIDMesh, blender::ed::outliner::TreeElementIDMetaBall, blender::ed::outliner::TreeElementIDObject, blender::ed::outliner::TreeElementIDScene, blender::ed::outliner::TreeElementIDTexture, blender::ed::outliner::TreeElementModifier, blender::ed::outliner::TreeElementModifierBase, blender::ed::outliner::TreeElementNLA, blender::ed::outliner::TreeElementNLATrack, blender::ed::outliner::TreeElementOverridesBase, blender::ed::outliner::TreeElementPoseBase, blender::ed::outliner::TreeElementRNAProperty, blender::ed::outliner::TreeElementRNAStruct, blender::ed::outliner::TreeElementSceneObjectsBase, blender::ed::outliner::TreeElementSequence, and blender::ed::outliner::TreeElementViewLayerBase.
Definition at line 108 of file tree_element.hh.
Referenced by add_element().
|
inlinevirtual |
Check if the type is expandable in current context.
Reimplemented in blender::ed::outliner::TreeElementID, blender::ed::outliner::TreeElementRNACommon, and blender::ed::outliner::TreeElementSequence.
Definition at line 55 of file tree_element.hh.
|
virtual |
Define the icon to be displayed for this element. If this returns an icon, this will be displayed. Otherwise, tree_element_get_icon() may still determine an icon. By default no value is returned (#std::nullopt).
All elements should be ported to use this over tree_element_get_icon().
Reimplemented in blender::ed::outliner::TreeElementLabel, and blender::ed::outliner::TreeElementOverridesPropertyOperation.
Definition at line 217 of file tree_element.cc.
|
inline |
Definition at line 60 of file tree_element.hh.
References legacy_te_.
|
virtual |
By letting this return a warning message, the tree element will display a warning icon with the message in the tooltip.
Reimplemented in blender::ed::outliner::TreeElementIDLibrary, blender::ed::outliner::TreeElementOverridesBase, and blender::ed::outliner::TreeElementOverridesProperty.
Definition at line 212 of file tree_element.cc.
Referenced by blender::ed::outliner::outliner_draw_get_warning_tree_element(), and blender::ed::outliner::outliner_draw_get_warning_tree_element_subtree().
| void blender::ed::outliner::AbstractTreeElement::print_path | ( | ) |
Debugging helper: Print effective path of this tree element, constructed out of the TreeElement.name of each element. E.g.:
Definition at line 222 of file tree_element.cc.
References legacy_te_, blender::ed::outliner::TreeElement::name, and blender::ed::outliner::TreeElement::parent.
|
static |
Expand this tree element if it is displayed for the first time (as identified by its tree-store element).
Static for now to allow doing this from the legacy tree element.
Definition at line 233 of file tree_element.cc.
References TREESTORE.
Referenced by blender::ed::outliner::TreeDisplayOverrideLibraryHierarchies::build_tree().
|
friend |
Definition at line 42 of file tree_element.hh.
|
friend |
Definition at line 258 of file tree_element.cc.
|
protected |
Reference back to the tree display used for building this tree.
Definition at line 40 of file tree_element.hh.
Referenced by add_element().
|
protected |
Reference back to the owning legacy TreeElement. Most concrete types need access to this, so storing here. Eventually the type should be replaced by AbstractTreeElement and derived types.
Definition at line 36 of file tree_element.hh.
Referenced by blender::ed::outliner::TreeElementAnimData::expand(), blender::ed::outliner::TreeElementBoneCollection::expand(), blender::ed::outliner::TreeElementBoneCollectionBase::expand(), blender::ed::outliner::TreeElementCollectionBase::expand(), blender::ed::outliner::TreeElementDeformGroupBase::expand(), blender::ed::outliner::TreeElementDriverBase::expand(), blender::ed::outliner::TreeElementGPencilEffect::expand(), blender::ed::outliner::TreeElementGPencilEffectBase::expand(), blender::ed::outliner::TreeElementGreasePencilNode::expand(), blender::ed::outliner::TreeElementIDArmature::expand(), blender::ed::outliner::TreeElementIDCollection::expand(), blender::ed::outliner::TreeElementIDObject::expand(), blender::ed::outliner::TreeElementModifier::expand(), blender::ed::outliner::TreeElementModifierBase::expand(), blender::ed::outliner::TreeElementNLA::expand(), blender::ed::outliner::TreeElementNLATrack::expand(), blender::ed::outliner::TreeElementOverridesBase::expand(), blender::ed::outliner::TreeElementPoseBase::expand(), blender::ed::outliner::TreeElementRNAProperty::expand(), blender::ed::outliner::TreeElementRNAStruct::expand(), blender::ed::outliner::TreeElementSceneObjectsBase::expand(), blender::ed::outliner::TreeElementSequence::expand(), blender::ed::outliner::TreeElementViewLayerBase::expand(), blender::ed::outliner::TreeElementID::expand_animation_data(), blender::ed::outliner::TreeElementID::expand_poll(), get_legacy_element(), blender::ed::outliner::TreeElementRNAArrayElement::get_property_rna(), print_path(), blender::ed::outliner::TreeElementID::TreeElementID(), blender::ed::outliner::TreeElementLabel::TreeElementLabel(), blender::ed::outliner::TreeElementRNAArrayElement::TreeElementRNAArrayElement(), blender::ed::outliner::TreeElementRNAProperty::TreeElementRNAProperty(), blender::ed::outliner::TreeElementRNAStruct::TreeElementRNAStruct(), blender::ed::outliner::TreeElementSequenceStrip::TreeElementSequenceStrip(), blender::ed::outliner::TreeElementSequenceStripDuplicate::TreeElementSequenceStripDuplicate(), and blender::ed::outliner::TreeElementViewLayerBase::TreeElementViewLayerBase().