#include "dmtool/DMObject.hpp"#include "libecs.hpp"


Go to the source code of this file.
Namespaces | |
| namespace | libecs |
Classes | |
| class | libecs::PropertiedClass |
| Common base class for classes with PropertySlots. More... | |
Defines | |
| #define | LIBECS_DM_CLASS(CLASSNAME, BASE) |
| #define | LIBECS_DM_OBJECT_ABSTRACT(CLASSNAME) |
| #define | LIBECS_DM_OBJECT(CLASSNAME, DMTYPE) |
| #define | LIBECS_DM_BASECLASS(CLASSNAME) DM_BASECLASS( CLASSNAME ) |
| #define | LIBECS_DM_INIT(CLASSNAME, DMTYPE) |
| #define | LIBECS_DM_INIT_STATIC(CLASSNAME, DMTYPE) |
| #define | LIBECS_DM_OBJECT_DEF(CLASSNAME, DMTYPE) |
| #define | LIBECS_DM_OBJECT_DEF_ABSTRACT(CLASSNAME) |
| #define | LIBECS_DM_EXPOSE_PROPERTYINTERFACE(CLASSNAME) |
| #define | INHERIT_PROPERTIES(BASECLASS) |
| #define | CLASS_DESCRIPTION(DESCRIPTION) CLASS_INFO( "Description", DESCRIPTION ) |
| #define | NOMETHOD NULLPTR |
| #define | CLASSINFO_TRUE 1 |
| #define | CLASSINFO_FALSE 0 |
| #define | METHODFLAG(METHODPTR, NULLVALUE) METHODFLAG2( METHODPTR, NULLVALUE ) |
| #define | METHODFLAG2(METHODPTR, NULLVALUE) ( # METHODPTR == # NULLVALUE ? CLASSINFO_FALSE : CLASSINFO_TRUE ) |
| #define | CLASS_INFO(FIELDNAME, FIELDVALUE) PropertyInterface<TT>::setInfoField( String ( FIELDNAME ), String( FIELDVALUE ) ) |
| macro for setting class Info string Info is expected as PropertyName, Value both Strings Property descriptor strings | |
| #define | CLASSPROPERTY_INFO(PROPERTYNAME, TYPE, SETMETHOD, GETMETHOD, SAVEMETHOD, LOADMETHOD) |
| macro for setting Property class info PropertyName, Type, set_flag, get_flag, save_flag, load_flag | |
| #define | PROPERTYSLOT(TYPE, NAME, SETMETHOD, GETMETHOD) |
| #define | PROPERTYSLOT_LOAD_SAVE(TYPE, NAME, SETMETHOD, GETMETHOD, LOADMETHOD, SAVEMETHOD) |
| #define | PROPERTYSLOT_NO_LOAD_SAVE(TYPE, NAME, SETMETHOD, GETMETHOD) |
| #define | PROPERTYSLOT_SET_GET(TYPE, NAME) |
| #define | PROPERTYSLOT_SET(TYPE, NAME) |
| #define | PROPERTYSLOT_GET(TYPE, NAME) |
| #define | PROPERTYSLOT_SET_GET_NO_LOAD_SAVE(TYPE, NAME) |
| #define | PROPERTYSLOT_SET_NO_LOAD_SAVE(TYPE, NAME) |
| #define | PROPERTYSLOT_GET_NO_LOAD_SAVE(TYPE, NAME) |
| #define | LIBECS_DM_DEFINE_PROPERTIES() |
| #define | SET_SLOT(TYPE, METHODNAME) void METHODNAME( libecs::Param<TYPE>::type value ) |
| #define | GET_SLOT(TYPE, METHODNAME) const TYPE METHODNAME() const |
| #define | SET_SLOT_DEF(TYPE, METHODNAME, CLASS) SET_SLOT( TYPE, CLASS::METHODNAME ) |
| #define | GET_SLOT_DEF(TYPE, METHODNAME, CLASS) GET_SLOT( TYPE, CLASS::METHODNAME ) |
| #define | SET_METHOD(TYPE, NAME) SET_SLOT( TYPE, set ## NAME ) |
| #define | GET_METHOD(TYPE, NAME) GET_SLOT( TYPE, get ## NAME ) |
| #define | LOAD_METHOD(TYPE, NAME) SET_SLOT( TYPE, load ## NAME ) |
| #define | SAVE_METHOD(TYPE, NAME) GET_SLOT( TYPE, save ## NAME ) |
| #define | SET_METHOD_DEF(TYPE, NAME, CLASS) SET_SLOT_DEF( TYPE, set ## NAME, CLASS ) |
| #define | GET_METHOD_DEF(TYPE, NAME, CLASS) GET_SLOT_DEF( TYPE, get ## NAME, CLASS ) |
| #define | LOAD_METHOD_DEF(TYPE, NAME, CLASS) SET_SLOT_DEF( TYPE, load ## NAME, CLASS ) |
| #define | SAVE_METHOD_DEF(TYPE, NAME, CLASS) GET_SLOT_DEF( TYPE, save ## NAME, CLASS ) |
| #define | SIMPLE_GET_METHOD(TYPE, NAME) |
| #define | SIMPLE_SET_METHOD(TYPE, NAME) |
| #define | SIMPLE_SET_GET_METHOD(TYPE, NAME) |
| #define | NULLSET_SPECIALIZATION(TYPE) template <> ECELL_API void PropertiedClass::nullSet<TYPE>( Param<TYPE>::type ) |
| #define | NULLGET_SPECIALIZATION(TYPE) template <> ECELL_API const TYPE PropertiedClass::nullGet<TYPE>() const |
Functions | |
| libecs::NULLSET_SPECIALIZATION (Real) | |
| libecs::NULLSET_SPECIALIZATION (Integer) | |
| libecs::NULLSET_SPECIALIZATION (String) | |
| libecs::NULLSET_SPECIALIZATION (Polymorph) | |
| libecs::NULLGET_SPECIALIZATION (Real) | |
| libecs::NULLGET_SPECIALIZATION (Integer) | |
| libecs::NULLGET_SPECIALIZATION (String) | |
| libecs::NULLGET_SPECIALIZATION (Polymorph) | |
| #define CLASSPROPERTY_INFO | ( | PROPERTYNAME, | |||
| TYPE, | |||||
| SETMETHOD, | |||||
| GETMETHOD, | |||||
| SAVEMETHOD, | |||||
| LOADMETHOD | ) |
Value:
PropertyInterface<TT>::setPropertyInfoField( String( PROPERTYNAME ), String( TYPE ), \
METHODFLAG(SETMETHOD, NULLPTR ), METHODFLAG( GETMETHOD, NULLPTR ), \
METHODFLAG( SAVEMETHOD, NULLPTR ), METHODFLAG( LOADMETHOD, NULLPTR ) )
| #define INHERIT_PROPERTIES | ( | BASECLASS | ) |
Value:
BASECLASS::initializePropertyInterface( Type2Type<TT>() );\
CLASS_INFO( "Baseclass", # BASECLASS )
| #define LIBECS_DM_CLASS | ( | CLASSNAME, | |||
| BASE | ) |
Value:
DECLARE_CLASS( CLASSNAME );\ class CLASSNAME\ :\ public BASE
| #define LIBECS_DM_DEFINE_PROPERTIES | ( | ) |
Value:
template<class TT>\ static void initializePropertyInterface( Type2Type<TT> )
For internal use only.
| #define LIBECS_DM_EXPOSE_PROPERTYINTERFACE | ( | CLASSNAME | ) |
For internal use only.
| #define LIBECS_DM_INIT | ( | CLASSNAME, | |||
| DMTYPE | ) |
Value:
DM_INIT( CLASSNAME, DMTYPE )\ LIBECS_DM_INIT_STATIC( CLASSNAME, DMTYPE )
| #define LIBECS_DM_INIT_STATIC | ( | CLASSNAME, | |||
| DMTYPE | ) |
Value:
template class PropertyInterface<CLASSNAME>;\ libecs::PropertyInterface<CLASSNAME> CLASSNAME::thePropertyInterface
| #define LIBECS_DM_OBJECT | ( | CLASSNAME, | |||
| DMTYPE | ) |
Value:
DM_OBJECT( CLASSNAME, DMTYPE );\ LIBECS_DM_OBJECT_DEF( CLASSNAME, DMTYPE );\ LIBECS_DM_EXPOSE_PROPERTYINTERFACE( CLASSNAME );\ LIBECS_DM_DEFINE_PROPERTIES()
| #define LIBECS_DM_OBJECT_ABSTRACT | ( | CLASSNAME | ) |
Value:
LIBECS_DM_OBJECT_DEF_ABSTRACT( CLASSNAME );\ LIBECS_DM_EXPOSE_PROPERTYINTERFACE( CLASSNAME );\ LIBECS_DM_DEFINE_PROPERTIES()
| #define LIBECS_DM_OBJECT_DEF | ( | CLASSNAME, | |||
| DMTYPE | ) |
Value:
typedef DMTYPE _LIBECS_DMTYPE_;\
LIBECS_DM_OBJECT_DEF_ABSTRACT( CLASSNAME )
For internal use only.
| #define LIBECS_DM_OBJECT_DEF_ABSTRACT | ( | CLASSNAME | ) |
Value:
typedef CLASSNAME _LIBECS_CLASS_;\ virtual StringLiteral getClassName() const { return XSTR( CLASSNAME ); }
| #define PROPERTYSLOT | ( | TYPE, | |||
| NAME, | |||||
| SETMETHOD, | |||||
| GETMETHOD | ) |
Value:
PropertyInterface<TT>::registerPropertySlot( # NAME,\
new ConcretePropertySlot<TT,TYPE>( SETMETHOD, GETMETHOD ) );\
CLASSPROPERTY_INFO( # NAME, # TYPE, SETMETHOD, GETMETHOD, SETMETHOD, GETMETHOD )
| #define PROPERTYSLOT_GET | ( | TYPE, | |||
| NAME | ) |
Value:
PROPERTYSLOT( TYPE, NAME,\
NULLPTR,\
& _LIBECS_CLASS_::get ## NAME )
| #define PROPERTYSLOT_GET_NO_LOAD_SAVE | ( | TYPE, | |||
| NAME | ) |
Value:
PROPERTYSLOT_NO_LOAD_SAVE( TYPE, NAME,\
NULLPTR,\
& _LIBECS_CLASS_::get ## NAME )
| #define PROPERTYSLOT_LOAD_SAVE | ( | TYPE, | |||
| NAME, | |||||
| SETMETHOD, | |||||
| GETMETHOD, | |||||
| LOADMETHOD, | |||||
| SAVEMETHOD | ) |
Value:
PropertyInterface<TT>::registerPropertySlot( # NAME,\
new LoadSaveConcretePropertySlot<TT,TYPE>( SETMETHOD, GETMETHOD,\
LOADMETHOD, SAVEMETHOD ) );\
CLASSPROPERTY_INFO( # NAME, # TYPE, SETMETHOD, GETMETHOD, SAVEMETHOD, LOADMETHOD )
| #define PROPERTYSLOT_NO_LOAD_SAVE | ( | TYPE, | |||
| NAME, | |||||
| SETMETHOD, | |||||
| GETMETHOD | ) |
Value:
PROPERTYSLOT_LOAD_SAVE( TYPE, NAME, SETMETHOD, GETMETHOD,\
NULLPTR, NULLPTR )
| #define PROPERTYSLOT_SET | ( | TYPE, | |||
| NAME | ) |
Value:
PROPERTYSLOT( TYPE, NAME,\
& _LIBECS_CLASS_::set ## NAME,\
NULLPTR )
| #define PROPERTYSLOT_SET_GET | ( | TYPE, | |||
| NAME | ) |
Value:
PROPERTYSLOT( TYPE, NAME,\
& _LIBECS_CLASS_::set ## NAME,\
& _LIBECS_CLASS_::get ## NAME )
| #define PROPERTYSLOT_SET_GET_NO_LOAD_SAVE | ( | TYPE, | |||
| NAME | ) |
Value:
PROPERTYSLOT_NO_LOAD_SAVE( TYPE, NAME,\
& _LIBECS_CLASS_::set ## NAME,\
& _LIBECS_CLASS_::get ## NAME )
| #define PROPERTYSLOT_SET_NO_LOAD_SAVE | ( | TYPE, | |||
| NAME | ) |
Value:
PROPERTYSLOT_NO_LOAD_SAVE( TYPE, NAME,\
& _LIBECS_CLASS_::set ## NAME,\
NULLPTR )
| #define SIMPLE_GET_METHOD | ( | TYPE, | |||
| NAME | ) |
Value:
GET_METHOD( TYPE, NAME )\
{\
return NAME;\
}
| #define SIMPLE_SET_GET_METHOD | ( | TYPE, | |||
| NAME | ) |
Value:
SIMPLE_SET_METHOD( TYPE, NAME )\ SIMPLE_GET_METHOD( TYPE, NAME )
| #define SIMPLE_SET_METHOD | ( | TYPE, | |||
| NAME | ) |
Value:
SET_METHOD( TYPE, NAME )\
{\
NAME = value;\
}
1.5.5