Used internally by the Value class as the base class for its shared value objects. More...
#include <juce_Value.h>
Public Member Functions | |
ValueSource () | |
~ValueSource () override | |
virtual var | getValue () const =0 |
Returns the current value of this object. | |
virtual void | setValue (const var &newValue)=0 |
Changes the current value. | |
void | sendChangeMessage (bool dispatchSynchronously) |
Delivers a change message to all the listeners that are registered with this value. | |
Public Member Functions inherited from ReferenceCountedObject | |
void | incReferenceCount () noexcept |
Increments the object's reference count. | |
void | decReferenceCount () noexcept |
Decreases the object's reference count. | |
bool | decReferenceCountWithoutDeleting () noexcept |
Decreases the object's reference count. | |
int | getReferenceCount () const noexcept |
Returns the object's current reference count. | |
Protected Attributes | |
SortedSet< Value * > | valuesWithListeners |
Additional Inherited Members | |
Protected Member Functions inherited from ReferenceCountedObject | |
ReferenceCountedObject ()=default | |
Creates the reference-counted object (with an initial ref count of zero). | |
ReferenceCountedObject (const ReferenceCountedObject &) noexcept | |
Copying from another object does not affect this one's reference-count. | |
ReferenceCountedObject (ReferenceCountedObject &&) noexcept | |
Copying from another object does not affect this one's reference-count. | |
ReferenceCountedObject & | operator= (const ReferenceCountedObject &) noexcept |
Copying from another object does not affect this one's reference-count. | |
ReferenceCountedObject & | operator= (ReferenceCountedObject &&) noexcept |
Copying from another object does not affect this one's reference-count. | |
virtual | ~ReferenceCountedObject () |
Destructor. | |
void | resetReferenceCount () noexcept |
Resets the reference count to zero without deleting the object. | |
Used internally by the Value class as the base class for its shared value objects.
The Value class is essentially a reference-counted pointer to a shared instance of a ValueSource object. If you're feeling adventurous, you can create your own custom ValueSource classes to allow Value objects to represent your own custom data items.
Value::ValueSource::ValueSource | ( | ) |
|
override |
|
pure virtual |
Returns the current value of this object.
|
pure virtual |
Changes the current value.
This must also trigger a change message if the value actually changes.
void Value::ValueSource::sendChangeMessage | ( | bool | dispatchSynchronously | ) |
Delivers a change message to all the listeners that are registered with this value.
If dispatchSynchronously is true, the method will call all the listeners before returning; otherwise it'll dispatch a message and make the call later.