Krotos Modules 3
Loading...
Searching...
No Matches
CustomParameterTree.h
Go to the documentation of this file.
1namespace krotos
2{
3 //==============================================================================
14 class CustomParameterTree : public ValueTree::Listener
15 {
16 public:
20 CustomParameterTree(const Identifier& type, UndoManager* undoManager = nullptr);
21
27 CustomParameterTree(ValueTree customTree, UndoManager* undoManager = nullptr);
28
31
33 ~CustomParameterTree() override;
34
37
43 bool operator==(const CustomParameterTree& other) const;
44
46 bool isValid() const;
47
49 void setUndoManager(UndoManager* um) { m_undoManager = um; }
50
52 UndoManager* getUndoManager() const { return m_undoManager; }
53
55 const ValueTree& getParameterTree() const { return m_parameterTree; }
56
58 const Identifier getType() const { return m_parameterTree.getType(); };
59
66 void addChild(const ValueTree& child, int index = -1);
67
72 ValueTree getChild(int index) const;
73
79 ValueTree getChildWithName(const Identifier& type) const;
80
83 void removeChild(const ValueTree& child);
84
88 void removeAllChildren() { m_parameterTree.removeAllChildren(m_undoManager); };
89
90 // =============================
93 std::function<void(ValueTree& treeWhosePropertyHasChanged, const Identifier& property)> propertyChanged;
94
96 std::function<void(ValueTree& parentTree, ValueTree& childWhichHasBeenAdded)> childAdded;
97
99 std::function<void(ValueTree& parentTree, ValueTree& childWhichHasBeenRemoved,
100 int indexFromWhichChildWasRemoved)>
102
103 // =============================
104 virtual void valueTreePropertyChanged(ValueTree& treeWhosePropertyHasChanged,
105 const Identifier& property) override;
106
107 virtual void valueTreeChildAdded(ValueTree& parentTree, ValueTree& childWhichHasBeenAdded) override;
108
109 virtual void valueTreeChildRemoved(ValueTree& parentTree, ValueTree& childWhichHasBeenRemoved,
110 int indexFromWhichChildWasRemoved) override;
111
112 protected:
114
115 private:
116 UndoManager* m_undoManager{nullptr};
117
118 JUCE_LEAK_DETECTOR(CustomParameterTree)
119 };
120} // namespace krotos
Definition CustomParameterTree.h:15
~CustomParameterTree() override
Definition CustomParameterTree.cpp:21
void removeChild(const ValueTree &child)
Definition CustomParameterTree.cpp:52
bool isValid() const
Definition CustomParameterTree.cpp:45
virtual void valueTreeChildRemoved(ValueTree &parentTree, ValueTree &childWhichHasBeenRemoved, int indexFromWhichChildWasRemoved) override
Definition CustomParameterTree.cpp:79
ValueTree getChildWithName(const Identifier &type) const
Definition CustomParameterTree.cpp:56
CustomParameterTree(const Identifier &type, UndoManager *undoManager=nullptr)
Definition CustomParameterTree.cpp:3
UndoManager * getUndoManager() const
Definition CustomParameterTree.h:52
CustomParameterTree & operator=(const CustomParameterTree &other)
Definition CustomParameterTree.cpp:23
std::function< void(ValueTree &parentTree, ValueTree &childWhichHasBeenAdded)> childAdded
Definition CustomParameterTree.h:96
ValueTree m_parameterTree
Definition CustomParameterTree.h:113
std::function< void(ValueTree &treeWhosePropertyHasChanged, const Identifier &property)> propertyChanged
Definition CustomParameterTree.h:93
std::function< void(ValueTree &parentTree, ValueTree &childWhichHasBeenRemoved, int indexFromWhichChildWasRemoved)> childRemoved
Definition CustomParameterTree.h:101
void removeAllChildren()
Removes all children from the tree.
Definition CustomParameterTree.h:88
const ValueTree & getParameterTree() const
Definition CustomParameterTree.h:55
const Identifier getType() const
Definition CustomParameterTree.h:58
UndoManager * m_undoManager
Definition CustomParameterTree.h:116
bool operator==(const CustomParameterTree &other) const
Definition CustomParameterTree.cpp:35
ValueTree getChild(int index) const
Definition CustomParameterTree.cpp:54
void setUndoManager(UndoManager *um)
Definition CustomParameterTree.h:49
virtual void valueTreeChildAdded(ValueTree &parentTree, ValueTree &childWhichHasBeenAdded) override
Definition CustomParameterTree.cpp:71
void addChild(const ValueTree &child, int index=-1)
Definition CustomParameterTree.cpp:47
virtual void valueTreePropertyChanged(ValueTree &treeWhosePropertyHasChanged, const Identifier &property) override
Definition CustomParameterTree.cpp:62
Definition AirAbsorptionFilter.cpp:2