GL Studio C++ Runtime API
|
#include <gls_metadata_attributes.h>
Public Member Functions | |
DistiAttributeAlias (CallbackMethodCallerBase *callback, const AttributeName &name, const AttributeName &originalName, DistiAttribDict *dict) | |
virtual bool | OkToWrite () const override |
virtual bool | ValueChanged () override |
virtual void | ResetValueChanged () override |
virtual std::string | ValueString () override |
virtual void | ValueString (const std::string &s) override |
virtual long | ValueInt () override |
virtual void | ValueInt (long val) override |
virtual double | ValueFloat () override |
virtual void | ValueFloat (double val) override |
virtual std::ostream & | WriteValue (std::ostream &outstr) override |
virtual std::istream & | ReadValue (std::istream &instr) override |
virtual bool | operator== (const DistiAttributeBase &r) override |
virtual CallbackID | RegisterObserver (AttributeObserver *callback) override |
virtual void | UnregisterObserver (CallbackID id) override |
virtual void | NotifyObservers () override |
Public Member Functions inherited from DistiAttributeBase | |
DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage) | |
virtual DistiAttributeBase & | operator= (const DistiAttributeBase &oldClass) |
const AttributeName & | Name () const |
AttributeName & | Name () |
bool | LocalStorage () const |
virtual bool | Copyable () const |
virtual bool | OkToWrite () const |
virtual bool | ValueChanged () |
virtual void | ResetValueChanged () |
virtual std::string | ValueString () |
virtual void | ValueString (const std::string &s) |
virtual long | ValueInt () |
virtual void | ValueInt (long val) |
virtual double | ValueFloat () |
virtual void | ValueFloat (double val) |
virtual void | CallCallback () |
Calls callback CallType3 if it has been set. | |
virtual std::ostream & | WriteValue (std::ostream &outstr)=0 |
virtual std::istream & | ReadValue (std::istream &instr)=0 |
virtual bool | operator== (const DistiAttributeBase &r) |
template<class valType > | |
DistiAttributeBase & | operator<< (const valType &val) |
template<class valType > | |
DistiAttributeBase & | operator>> (valType &val) |
virtual CallbackID | RegisterObserver (AttributeObserver *observer) |
virtual void | UnregisterObserver (CallbackID id) |
virtual void | NotifyObservers () |
Public Member Functions inherited from WeakReferenceableMixin | |
void | AddWeakReference (WeakReference *weakRef) override |
void | NotifyWeakReferenceDestroyed (WeakReference *ref) override |
virtual void | AddWeakReference (WeakReference *weakRef)=0 |
virtual void | NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0 |
Protected Attributes | |
AttributeName | _originalAttribName |
Name of the original attribute that this alias points to. | |
DistiAttribDict * | _dictionary |
The dictionary containing the original attribute. | |
Protected Attributes inherited from DistiAttributeBase | |
AttributeName | _name |
CallbackMethodCallerBase * | _callback |
ScopedPtr< DistiAttributeObserverList > | _observerList |
bool | _localStorage |
Protected Attributes inherited from WeakReferenceableMixin | |
DynamicArray< WeakReference * > * | _weakRefs |
Additional Inherited Members | |
Public Types inherited from DistiAttributeBase | |
typedef unsigned int | CallbackID |
Type for unique identifiers. | |
Protected Member Functions inherited from WeakReferenceableMixin | |
WeakReferenceableMixin () | |
virtual | ~WeakReferenceableMixin () |
Give an alternate name to an existing attribute. This is used for compatability mostly. i.e. GlsTextBox "String" as an alias of "Text".
|
inline |
Constructor
callback | The method function pointer to call back. |
name | The name to be given to this alias. |
originalName | The name of the original attribute to link to. |
dict | The attribute dictionary containing the original attribute. |
|
overridevirtual |
Triggers all observers to have their callbacks called. Typically called by the class that owns the DistiAttributeBase
Reimplemented from DistiAttributeBase.
|
overridevirtual |
This SHOULD be overriden by any derived objects that may not be ready to write at any point. The reason for this is the data is often written "NAME: VALUE". If Value is not available, we don't want to write "NAME: " first, so before writing "NAME: ", OkToWrite() can be called to see if it will have a valid value.
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Compares name and value.
r | The attribute to compare. |
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to read the data from the stream. The value read could be encoded for being read from a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for encoding the value themselves, or using WriteValue which should perform encoding to maintain symmetry.
instr | The stream to read from. |
Implements DistiAttributeBase.
|
overridevirtual |
Register a callback that is called when the value of the attribute changes. If multiple oservers are registered, they will be notified in the order they registered. DistiAttributeBase takes ownership of the observer and will delete it.
observer | the observer to notify. It is automatically unregistered and destroyed when it becomes invalid. |
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Saves the current value for later comparison by ValueChanged().
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Unregister an observer
id | the id returned when the observer was registered |
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Allows for faster access to floating-point types than the more generic stream operators.
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Allows for faster access to floating-point types than the more generic stream operator.
val | The new double value to set. |
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Allows for faster access to integer types than the more generic stream operators.
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Allows for faster access to integer types than the more generic stream operator.
val | The new integer value to set. |
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Here in the base class it uses WriteValue(). If this particular attribute's underlying type is a string, this returns the unencoded value, suitable for users. If a file encoded value is required, call WriteValue instead.
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Sets the value from a std::string argument. Here in the base class it uses ReadValue(). If this particular attribute's underlying type is a string, this should not be set to an encoded value. If needing to set from an encoded value, call ReadValue instead.
s | The string value to set. |
Reimplemented from DistiAttributeBase.
|
overridevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to write the data to the stream. The value written could be encoded for writing to a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for decoding the value themselves, or using ReadValue which should perform decoding to maintain symmetry.
outstr | The stream to write to. |
Implements DistiAttributeBase.