28 broadcastCallback.owner =
this;
41 changeListeners.add (listener);
51 changeListeners.remove (listener);
52 anyListeners = changeListeners.size() > 0;
61 changeListeners.clear();
68 broadcastCallback.triggerAsyncUpdate();
76 broadcastCallback.cancelPendingUpdate();
82 broadcastCallback.handleUpdateNowIfNeeded();
85void ChangeBroadcaster::callListeners()
87 changeListeners.call ([
this] (
ChangeListener&
l) {
l.changeListenerCallback (
this); });
91ChangeBroadcaster::ChangeBroadcasterCallback::ChangeBroadcasterCallback()
96void ChangeBroadcaster::ChangeBroadcasterCallback::handleAsyncUpdate()
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.
#define JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED
This macro is used to catch unsafe use of functions which expect to only be called on the message thr...
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...