1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-22 01:34:21 +00:00

Added a getUndoManager() method to CachedValue and ValueWithDefault and made CachedValue weak referenceable

This commit is contained in:
ed 2018-12-18 12:33:43 +00:00
parent f67d2e01be
commit c29eea44e3
3 changed files with 12 additions and 9 deletions

View file

@ -144,11 +144,6 @@ public:
expect (t["testkey"] == var());
}
beginTest ("reset value");
{
}
}
};

View file

@ -181,11 +181,14 @@ public:
/** Returns the property ID of the referenced property. */
const Identifier& getPropertyID() const noexcept { return targetProperty; }
/** Returns the UndoManager that is being used. */
UndoManager* getUndoManager() noexcept { return undoManager; }
private:
//==============================================================================
ValueTree targetTree;
Identifier targetProperty;
UndoManager* undoManager;
UndoManager* undoManager = nullptr;
Type defaultValue;
Type cachedValue;
@ -199,13 +202,15 @@ private:
void valueTreeChildOrderChanged (ValueTree&, int, int) override {}
void valueTreeParentChanged (ValueTree&) override {}
//==============================================================================
JUCE_DECLARE_WEAK_REFERENCEABLE (CachedValue)
JUCE_DECLARE_NON_COPYABLE (CachedValue)
};
//==============================================================================
template <typename Type>
inline CachedValue<Type>::CachedValue() : undoManager (nullptr) {}
inline CachedValue<Type>::CachedValue() {}
template <typename Type>
inline CachedValue<Type>::CachedValue (ValueTree& v, const Identifier& i, UndoManager* um)

View file

@ -41,7 +41,7 @@ class ValueWithDefault
public:
//==============================================================================
/** Creates an unitialised ValueWithDefault. Initialise it using one of the referTo() methods. */
ValueWithDefault() : undoManager (nullptr) {}
ValueWithDefault() {}
/** Creates an ValueWithDefault object. The default value will be an empty var. */
ValueWithDefault (ValueTree& tree, const Identifier& propertyID, UndoManager* um)
@ -181,6 +181,9 @@ public:
/** Returns the property ID of the referenced property. */
Identifier& getPropertyID() noexcept { return targetProperty; }
/** Returns the UndoManager that is being used. */
UndoManager* getUndoManager() noexcept { return undoManager; }
//==============================================================================
ValueWithDefault& operator= (const ValueWithDefault& other)
{
@ -194,7 +197,7 @@ private:
//==============================================================================
ValueTree targetTree;
Identifier targetProperty;
UndoManager* undoManager;
UndoManager* undoManager = nullptr;
var defaultValue;
String delimiter;