mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-19 01:04:20 +00:00
Added ListenerList class and changed some components to use it for their listener dispatching. Sorted out bug in popup menus and win32 mouse wheel.
This commit is contained in:
parent
b974203d0f
commit
2676bb02f2
42 changed files with 1815 additions and 1867 deletions
|
|
@ -162,23 +162,13 @@ ValueTree::SharedObject::~SharedObject()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
void ValueTree::deliverPropertyChangeMessage (ValueTree& tree, const var::identifier& property)
|
||||
{
|
||||
for (int i = listeners.size(); --i >= 0;)
|
||||
{
|
||||
ValueTree::Listener* const l = listeners[i];
|
||||
if (l != 0)
|
||||
l->valueTreePropertyChanged (tree, property);
|
||||
}
|
||||
}
|
||||
|
||||
void ValueTree::SharedObject::sendPropertyChangeMessage (ValueTree& tree, const var::identifier& property)
|
||||
{
|
||||
for (int i = valueTreesWithListeners.size(); --i >= 0;)
|
||||
{
|
||||
ValueTree* const v = valueTreesWithListeners[i];
|
||||
if (v != 0)
|
||||
v->deliverPropertyChangeMessage (tree, property);
|
||||
v->listeners.call (&ValueTree::Listener::valueTreePropertyChanged, tree, property);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -194,23 +184,13 @@ void ValueTree::SharedObject::sendPropertyChangeMessage (const var::identifier&
|
|||
}
|
||||
}
|
||||
|
||||
void ValueTree::deliverChildChangeMessage (ValueTree& tree)
|
||||
{
|
||||
for (int i = listeners.size(); --i >= 0;)
|
||||
{
|
||||
ValueTree::Listener* const l = listeners[i];
|
||||
if (l != 0)
|
||||
l->valueTreeChildrenChanged (tree);
|
||||
}
|
||||
}
|
||||
|
||||
void ValueTree::SharedObject::sendChildChangeMessage (ValueTree& tree)
|
||||
{
|
||||
for (int i = valueTreesWithListeners.size(); --i >= 0;)
|
||||
{
|
||||
ValueTree* const v = valueTreesWithListeners[i];
|
||||
if (v != 0)
|
||||
v->deliverChildChangeMessage (tree);
|
||||
v->listeners.call (&ValueTree::Listener::valueTreeChildrenChanged, tree);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -226,16 +206,6 @@ void ValueTree::SharedObject::sendChildChangeMessage()
|
|||
}
|
||||
}
|
||||
|
||||
void ValueTree::deliverParentChangeMessage (ValueTree& tree)
|
||||
{
|
||||
for (int i = listeners.size(); --i >= 0;)
|
||||
{
|
||||
ValueTree::Listener* const l = listeners[i];
|
||||
if (l != 0)
|
||||
l->valueTreeParentChanged (tree);
|
||||
}
|
||||
}
|
||||
|
||||
void ValueTree::SharedObject::sendParentChangeMessage()
|
||||
{
|
||||
ValueTree tree (this);
|
||||
|
|
@ -252,7 +222,7 @@ void ValueTree::SharedObject::sendParentChangeMessage()
|
|||
{
|
||||
ValueTree* const v = valueTreesWithListeners[i];
|
||||
if (v != 0)
|
||||
v->deliverParentChangeMessage (tree);
|
||||
v->listeners.call (&ValueTree::Listener::valueTreeParentChanged, tree);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -651,7 +621,7 @@ void ValueTree::addListener (Listener* listener)
|
|||
|
||||
void ValueTree::removeListener (Listener* listener)
|
||||
{
|
||||
listeners.removeValue (listener);
|
||||
listeners.remove (listener);
|
||||
|
||||
if (listeners.size() == 0 && object != 0)
|
||||
object->valueTreesWithListeners.removeValue (this);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue