28 broadcastCallback.owner =
this;
39 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
41 changeListeners.add (listener);
48 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
50 changeListeners.remove (listener);
57 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
59 changeListeners.clear();
64 if (changeListeners.size() > 0)
65 broadcastCallback.triggerAsyncUpdate();
71 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
73 broadcastCallback.cancelPendingUpdate();
79 broadcastCallback.handleUpdateNowIfNeeded();
82 void ChangeBroadcaster::callListeners()
88 ChangeBroadcaster::ChangeBroadcasterCallback::ChangeBroadcasterCallback()
93 void ChangeBroadcaster::ChangeBroadcasterCallback::handleAsyncUpdate()
95 jassert (owner !=
nullptr);
96 owner->callListeners();
virtual ~ChangeBroadcaster()
Destructor.
void addChangeListener(ChangeListener *listener)
Registers a listener to receive change callbacks from this broadcaster.
void removeChangeListener(ChangeListener *listener)
Unregisters a listener from the list.
void sendSynchronousChangeMessage()
Sends a synchronous change message to all the registered listeners.
ChangeBroadcaster() noexcept
Creates an ChangeBroadcaster.
Receives change event callbacks that are sent out by a ChangeBroadcaster.
void sendChangeMessage()
Causes an asynchronous change message to be sent to all the registered listeners. ...
virtual void changeListenerCallback(ChangeBroadcaster *source)=0
Your subclass should implement this method to receive the callback.
void removeAllChangeListeners()
Removes all listeners from the list.
void dispatchPendingMessages()
If a change message has been sent but not yet dispatched, this will call sendSynchronousChangeMessage...