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();
82void ChangeBroadcaster::callListeners()
88ChangeBroadcaster::ChangeBroadcasterCallback::ChangeBroadcasterCallback()
93void ChangeBroadcaster::ChangeBroadcasterCallback::handleAsyncUpdate()
95 jassert (owner !=
nullptr);
96 owner->callListeners();
void sendChangeMessage()
Causes an asynchronous change message to be sent to all the registered listeners.
virtual ~ChangeBroadcaster()
Destructor.
ChangeBroadcaster() noexcept
Creates an ChangeBroadcaster.
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 removeAllChangeListeners()
Removes all listeners from the list.
void sendSynchronousChangeMessage()
Sends a synchronous change message to all the registered listeners.
void dispatchPendingMessages()
If a change message has been sent but not yet dispatched, this will call sendSynchronousChangeMessage...
Receives change event callbacks that are sent out by a ChangeBroadcaster.
virtual void changeListenerCallback(ChangeBroadcaster *source)=0
Your subclass should implement this method to receive the callback.