void sendChildOrderChangedMessage (int oldIndex, int newIndex) { ValueTree tree (this); for (ValueTree::SharedObject* t = this; t != nullptr; t = t->parent) t->callListeners (&ValueTree::Listener::valueTreeChildOrderChanged, tree, oldIndex, newIndex); }
void sendPropertyChangeMessage (const Identifier& property) { ValueTree tree (this); for (ValueTree::SharedObject* t = this; t != nullptr; t = t->parent) t->callListeners (&ValueTree::Listener::valueTreePropertyChanged, tree, property); }
void sendChildRemovedMessage (ValueTree child, int index) { ValueTree tree (this); for (ValueTree::SharedObject* t = this; t != nullptr; t = t->parent) t->callListeners (&ValueTree::Listener::valueTreeChildRemoved, tree, child, index); }
void sendPropertyChangeMessage (const Identifier& property, ValueTree::Listener* listenerToExclude = nullptr) { ValueTree tree (this); for (ValueTree::SharedObject* t = this; t != nullptr; t = t->parent) if (listenerToExclude == nullptr) t->callListeners (&ValueTree::Listener::valueTreePropertyChanged, tree, property); else t->callListenersExcluding (listenerToExclude, &ValueTree::Listener::valueTreePropertyChanged, tree, property); }