28 broadcastCallback.owner =
this;
39 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
41 changeListeners.add (listener);
49 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
51 changeListeners.remove (listener);
52 anyListeners = changeListeners.size() > 0;
59 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
61 changeListeners.clear();
68 broadcastCallback.triggerAsyncUpdate();
74 JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
76 broadcastCallback.cancelPendingUpdate();
82 broadcastCallback.handleUpdateNowIfNeeded();
85 void ChangeBroadcaster::callListeners()
91 ChangeBroadcaster::ChangeBroadcasterCallback::ChangeBroadcasterCallback()
96 void ChangeBroadcaster::ChangeBroadcasterCallback::handleAsyncUpdate()
98 jassert (owner !=
nullptr);
99 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.