71 explicit Value (
const var& initialValue);
98 void setValue (
const var& newValue);
107 Value& operator= (
const var& newValue);
120 void referTo (
const Value& valueToReferTo);
124 bool refersToSameSourceAs (
const Value& other)
const;
130 bool operator== (
const Value& other)
const;
136 bool operator!= (
const Value& other)
const;
154 virtual void valueChanged (
Value& value) = 0;
168 void addListener (
Listener* listener);
171 void removeListener (
Listener* listener);
190 virtual var getValue()
const = 0;
195 virtual void setValue (
const var& newValue) = 0;
203 void sendChangeMessage (
bool dispatchSynchronously);
211 void handleAsyncUpdate()
override;
213 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
ValueSource)
231 void callListeners();
232 void removeFromListenerList();
240 explicit Value (
void*) =
delete;
#define JUCE_API
This macro is added to all JUCE public class declarations.
A variant class, that can be used to hold a range of primitive values.
Has a callback method that is triggered asynchronously.
Receives callbacks when a Value object changes.
Holds a set of objects and can invoke a member function callback on each object in the set with a sin...
Used internally by the Value class as the base class for its shared value objects.
Represents a shared variant value.
The base class for streams that write data to some kind of destination.
Holds a set of unique primitive objects, such as ints or doubles.
ValueSource & getValueSource() noexcept
Returns the ValueSource that this value is referring to.
A smart-pointer class which points to a reference-counted object.
A base class which provides methods for reference-counting.