Blender V4.3
tree_element_rna.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include <limits>
12
13#include "RNA_types.hh"
14
15#include "tree_element.hh"
16
17struct PointerRNA;
18
19namespace blender::ed::outliner {
20
25 protected:
26 constexpr static int max_index = std::numeric_limits<short>::max();
28
29 public:
30 TreeElementRNACommon(TreeElement &legacy_te, PointerRNA &rna_ptr);
31 bool expand_poll(const SpaceOutliner &) const override;
32
33 const PointerRNA &get_pointer_rna() const;
38 virtual PropertyRNA *get_property_rna() const;
39
40 bool is_rna_valid() const;
41};
42
43/* -------------------------------------------------------------------- */
44
46 public:
47 TreeElementRNAStruct(TreeElement &legacy_te, PointerRNA &rna_ptr);
48 void expand(SpaceOutliner &space_outliner) const override;
49};
50
51/* -------------------------------------------------------------------- */
52
54 private:
55 PropertyRNA *rna_prop_ = nullptr;
56
57 public:
58 TreeElementRNAProperty(TreeElement &legacy_te, PointerRNA &rna_ptr, int index);
59 void expand(SpaceOutliner &space_outliner) const override;
60
61 PropertyRNA *get_property_rna() const override;
62};
63
64/* -------------------------------------------------------------------- */
65
67 public:
68 TreeElementRNAArrayElement(TreeElement &legacy_te, PointerRNA &rna_ptr, int index);
69
70 PropertyRNA *get_property_rna() const override;
71};
72
73} // namespace blender::ed::outliner
TreeElementRNAArrayElement(TreeElement &legacy_te, PointerRNA &rna_ptr, int index)
bool expand_poll(const SpaceOutliner &) const override
virtual PropertyRNA * get_property_rna() const
TreeElementRNACommon(TreeElement &legacy_te, PointerRNA &rna_ptr)
void expand(SpaceOutliner &space_outliner) const override
TreeElementRNAProperty(TreeElement &legacy_te, PointerRNA &rna_ptr, int index)
PropertyRNA * get_property_rna() const override
TreeElementRNAStruct(TreeElement &legacy_te, PointerRNA &rna_ptr)
void expand(SpaceOutliner &space_outliner) const override