GL Studio C++ Runtime API
DistiAttributeEnum< containerClass, setType, getType > Class Template Reference

#include <disti_metadata.h>

Inheritance diagram for DistiAttributeEnum< containerClass, setType, getType >:
DistiAttributeBase WeakReferenceableMixin WeakReferenceable

Public Types

typedef void(containerClass::* SetMethodType) (setType)
 Typedef for the set method function pointer.
 
typedef getType(containerClass::* GetMethodType) ()
 Typedef for the get method function pointer.
 
- Public Types inherited from DistiAttributeBase
typedef unsigned int CallbackID
 Type for unique identifiers.
 

Public Member Functions

 DistiAttributeEnum (containerClass *object, SetMethodType setMethod, GetMethodType getMethod, const AttributeName &name)
 
virtual long ValueInt () override
 
virtual void ValueInt (long val) override
 
virtual DistiAttributeBaseoperator= (const DistiAttributeBase &oldClass) override
 
virtual std::ostream & WriteValue (std::ostream &outstr) override
 
int EnumToInt (std::string &string)
 
virtual std::istream & ReadValue (std::istream &instr) override
 
- Public Member Functions inherited from DistiAttributeBase
 DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage)
 
virtual DistiAttributeBaseoperator= (const DistiAttributeBase &oldClass)
 
const AttributeNameName () const
 
AttributeNameName ()
 
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 >
DistiAttributeBaseoperator<< (const valType &val)
 
template<class valType >
DistiAttributeBaseoperator>> (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
 

Public Attributes

DistiAttributeEnumDefList_pairList
 A list of name value pairs describing the enumeration.
 
containerClass * _object
 Object that contains the attribute.
 
SetMethodType _setMethod
 Set method member function pointer.
 
GetMethodType _getMethod
 Get method member function pointer.
 

Additional Inherited Members

- Protected Member Functions inherited from WeakReferenceableMixin
 WeakReferenceableMixin ()
 
virtual ~WeakReferenceableMixin ()
 
- Protected Attributes inherited from DistiAttributeBase
AttributeName _name
 
CallbackMethodCallerBase_callback
 
ScopedPtr< DistiAttributeObserverList > _observerList
 
bool _localStorage
 
- Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * _weakRefs
 

Detailed Description

template<class containerClass, class setType, class getType>
class disti::DistiAttributeEnum< containerClass, setType, getType >

A Disti Attribute which reads and writes enumerations.

Constructor & Destructor Documentation

◆ DistiAttributeEnum()

DistiAttributeEnum ( containerClass *  object,
SetMethodType  setMethod,
GetMethodType  getMethod,
const AttributeName name 
)
inline

Create a new DistiAttributeEnum object, able to convert string and int enum values between one another.

Parameters
objectThe object containing the enumeration.
setMethodThe set method pointer for the property.
getMethodThe get method pointer for the property.
nameThe name of the attribute to contain the enumeration.

Member Function Documentation

◆ EnumToInt()

int EnumToInt ( std::string &  string)
inline

Return the associated integer value with the enumeration string.

Parameters
stringThe string whose enum value is to be returned.
Returns
The enumeration value, 0 if the string isn't present in the list.

◆ operator=()

virtual DistiAttributeBase & operator= ( const DistiAttributeBase oldClass)
inlineoverridevirtual

Assignment operator.

Parameters
oldClassThe attribute to assign to.
Returns
The resulting attribute (this).

Reimplemented from DistiAttributeBase.

◆ ReadValue()

virtual std::istream & ReadValue ( std::istream &  instr)
inlineoverridevirtual

Read from the stream, and store it in this attribute.

Parameters
instrThe stream to read from.
Returns
The stream in its updated state.

Implements DistiAttributeBase.

◆ ValueInt() [1/2]

virtual long ValueInt ( )
inlineoverridevirtual
Returns
The integer value via the underlying get method.

Reimplemented from DistiAttributeBase.

◆ ValueInt() [2/2]

virtual void ValueInt ( long  val)
inlineoverridevirtual

Set the integer value via the underlying set method.

Parameters
valThe new integer value to set.

Reimplemented from DistiAttributeBase.

◆ WriteValue()

virtual std::ostream & WriteValue ( std::ostream &  outstr)
inlineoverridevirtual

Write this attribute's string value to the stream.

Parameters
outstrThe stream to write to.
Returns
The stream in its updated state.

Implements DistiAttributeBase.


The documentation for this class was generated from the following file: