Blender  V3.3
tree_element_overrides.hh
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include "RNA_types.h"
10 
11 #include "BLI_string_ref.hh"
12 
13 #include "tree_element.hh"
14 
15 struct ID;
18 
19 namespace blender::ed::outliner {
20 
22  ID &id;
26 
28 
29  /* In case the property references a specific operation. Only used for collection overrides
30  * currently, where a single override may add/remove multiple collection items (only add
31  * currently). */
33 };
34 
36  public:
37  ID &id;
38 
39  public:
40  TreeElementOverridesBase(TreeElement &legacy_te, ID &id);
41 
42  void expand(SpaceOutliner &) const override;
43 
44  StringRefNull getWarning() const override;
45 };
46 
53  public:
56 
59 
60  public:
62 
63  StringRefNull getWarning() const override;
64 
65  bool isCollectionOperation() const;
66 };
67 
78  std::unique_ptr<IDOverrideLibraryPropertyOperation> operation_;
79 
80  public:
82  TreeElementOverridesData &override_data);
83 
87  std::optional<BIFIconID> getIcon() const override;
88 
89  private:
90  std::optional<PointerRNA> get_collection_ptr() const;
91 };
92 
93 } // namespace blender::ed::outliner
#define final(a, b, c)
Definition: BLI_hash.h:21
TreeElementOverridesBase(TreeElement &legacy_te, ID &id)
TreeElementOverridesPropertyOperation(TreeElement &legacy_te, TreeElementOverridesData &override_data)
TreeElementOverridesProperty(TreeElement &legacy_te, TreeElementOverridesData &override_data)
Definition: DNA_ID.h:368
IDOverrideLibraryPropertyOperation * operation