Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
CGUISimpleSetting< T > Class Template Reference

Wraps a T. More...

#include <CGUISetting.h>

Inheritance diagram for CGUISimpleSetting< T >:
Collaboration diagram for CGUISimpleSetting< T >:

Public Member Functions

template<typename... Args>
 CGUISimpleSetting (IGUIObject *pObject, const CStr &name, Args &&... args)
 
 NONCOPYABLE (CGUISimpleSetting)
 
 CGUISimpleSetting (CGUISimpleSetting &&)=default
 
CGUISimpleSettingoperator= (CGUISimpleSetting &&)=delete
 
 operator const T & () const
 
const Toperator* () const
 
const Toperator-> () const
 
TGetMutable ()
 'Uglified' getter when you want direct access without triggering messages. More...
 
void Set (T value, bool sendMessage)
 'Uglified' operator=, so that SendMessage is explicit. More...
 
- Public Member Functions inherited from IGUISetting
 NONCOPYABLE (IGUISetting)
 
 IGUISetting (const CStr &name, IGUIObject *owner)
 
bool FromString (const CStrW &value, const bool sendMessage)
 Parses the given string and assigns to the setting value. More...
 
bool FromJSVal (const ScriptRequest &rq, JS::HandleValue value, const bool sendMessage)
 Parses the given JS::Value using Script::FromJSVal and assigns it to the setting data. More...
 
virtual void ToJSVal (const ScriptRequest &rq, JS::MutableHandleValue value)=0
 Converts the setting data to a JS::Value using Script::ToJSVal. More...
 

Protected Member Functions

bool DoFromString (const CStrW &value) override
 
bool DoFromJSVal (const ScriptRequest &rq, JS::HandleValue value) override
 
void ToJSVal (const ScriptRequest &rq, JS::MutableHandleValue value) override
 Converts the setting data to a JS::Value using Script::ToJSVal. More...
 
- Protected Member Functions inherited from IGUISetting
 IGUISetting (IGUISetting &&other)
 
IGUISettingoperator= (IGUISetting &&other)=delete
 
virtual ~IGUISetting ()=default
 
virtual bool DoFromString (const CStrW &value)=0
 
virtual bool DoFromJSVal (const ScriptRequest &rq, JS::HandleValue value)=0
 
virtual void OnSettingChange (const CStr &setting, bool sendMessage)
 Triggers the IGUIObject logic when a setting changes. More...
 
const CStr & GetName () const
 Return the name of the setting, from JS. More...
 

Protected Attributes

T m_Setting
 
- Protected Attributes inherited from IGUISetting
IGUIObjectm_Object
 The object that stores this setting. More...
 

Detailed Description

template<typename T>
class CGUISimpleSetting< T >

Wraps a T.

Makes sure the appropriate setting functions are called when modifying T, and likewise makes sure that JS/xml settings affect T appropriately, while being as transparent as possible to use from C++ code.

Constructor & Destructor Documentation

◆ CGUISimpleSetting() [1/2]

template<typename T >
template<typename... Args>
CGUISimpleSetting< T >::CGUISimpleSetting ( IGUIObject pObject,
const CStr &  name,
Args &&...  args 
)
inline

◆ CGUISimpleSetting() [2/2]

template<typename T >
CGUISimpleSetting< T >::CGUISimpleSetting ( CGUISimpleSetting< T > &&  )
default

Member Function Documentation

◆ DoFromJSVal()

template<typename T >
bool CGUISimpleSetting< T >::DoFromJSVal ( const ScriptRequest rq,
JS::HandleValue  value 
)
overrideprotectedvirtual

Implements IGUISetting.

◆ DoFromString()

template<typename T >
bool CGUISimpleSetting< T >::DoFromString ( const CStrW &  value)
overrideprotectedvirtual

Implements IGUISetting.

◆ GetMutable()

template<typename T >
T & CGUISimpleSetting< T >::GetMutable ( )
inline

'Uglified' getter when you want direct access without triggering messages.

◆ NONCOPYABLE()

template<typename T >
CGUISimpleSetting< T >::NONCOPYABLE ( CGUISimpleSetting< T )

◆ operator const T &()

template<typename T >
CGUISimpleSetting< T >::operator const T & ( ) const
inline

◆ operator*()

template<typename T >
const T & CGUISimpleSetting< T >::operator* ( ) const
inline

◆ operator->()

template<typename T >
const T * CGUISimpleSetting< T >::operator-> ( ) const
inline

◆ operator=()

template<typename T >
CGUISimpleSetting & CGUISimpleSetting< T >::operator= ( CGUISimpleSetting< T > &&  )
delete

◆ Set()

template<typename T >
void CGUISimpleSetting< T >::Set ( T  value,
bool  sendMessage 
)
inline

'Uglified' operator=, so that SendMessage is explicit.

◆ ToJSVal()

template<typename T >
void CGUISimpleSetting< T >::ToJSVal ( const ScriptRequest rq,
JS::MutableHandleValue  value 
)
overrideprotectedvirtual

Converts the setting data to a JS::Value using Script::ToJSVal.

Implements IGUISetting.

Member Data Documentation

◆ m_Setting

template<typename T >
T CGUISimpleSetting< T >::m_Setting
protected

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