MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / setTree

Method setTree

Source/UIComponents/CtrlrPanel/CtrlrPanelComponentProperties.cpp:76–477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74}
75
76void CtrlrPanelComponentProperties::setTree (const ValueTree &_treeToEdit, const bool force)
77{
78 if (_treeToEdit == treeToEdit && force == false)
79 {
80 return;
81 }
82
83 ScopedPointer <XmlElement> xml(propertyPanel->getOpennessState().release());
84 if (treeToEdit.hasType(Ids::panel))
85 {
86 panelPropertyOpennessState = *xml;
87 }
88 else if (treeToEdit.hasType(Ids::modulator))
89 {
90 modulatorPropertyOpennessState = *xml;
91 }
92
93 treeToEdit = _treeToEdit;
94
95 /** Panel properties **/
96 if (treeToEdit.hasType (Ids::panel))
97 {
98 Array <PropertyComponent*> panelProperties;
99 Array <PropertyComponent*> panelEditorProperties;
100 Array <PropertyComponent*> panelMidiProperties;
101 Array <PropertyComponent*> panelOSCProperties;
102
103 for (int i=0; i<treeToEdit.getNumProperties(); i++)
104 {
105 if (treeToEdit.getPropertyName(i) == Ids::uiPanelImageResource)
106 {
107 panelProperties.add
108 (
109 getIDManager().createComponentForProperty
110 ( treeToEdit.getPropertyName(i),
111 treeToEdit,
112 &owner.getOwner(),
113 &resourceList,
114 &resourceList
115 )
116 );
117 }
118 else if (treeToEdit.getPropertyName(i) == Ids::panelMidiInputDevice)
119 {
120 panelMidiProperties.add
121 (
122 getIDManager().createComponentForProperty
123 (
124 treeToEdit.getPropertyName(i),
125 treeToEdit,
126 &owner.getOwner(),
127 &midiInputDevices,
128 &midiInputDevices
129 )
130 );
131 }
132 else if (treeToEdit.getPropertyName(i) == Ids::panelMidiOutputDevice)
133 {

Callers

nothing calls this directly

Calls 13

getOpennessStateMethod · 0.80
getPropertyNameMethod · 0.80
getNumChildrenMethod · 0.80
releaseMethod · 0.45
addMethod · 0.45
getOwnerMethod · 0.45
startsWithMethod · 0.45
toStringMethod · 0.45
isValidMethod · 0.45
clearMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected