rttimacros.h

来自「这是VCF框架的代码」· C头文件 代码 · 共 502 行 · 第 1/2 页

H
502
字号
										values, \										enumNames,description ); \													\#define _property_enum_labeled_(type,propName,getFunc,setFunc, lower, upper, count, enumNames, description) \	VCF::registerEnumPropertyWithLabels<type>( tmpClassName, VCF::String(propName), \									    (VCF::TypedEnumProperty<type>::GetFunction)&RttiClassType::getFunc, \										(VCF::TypedEnumProperty<type>::SetFunction)&RttiClassType::setFunc, \										lower, \										upper, \										count, \										enumNames,description ); \													\#define _property_enum_ro_(type,propName,getFunc,lower, upper, description) \	VCF::registerEnumReadOnlyProperty<type>( tmpClassName, VCF::String(propName), \												(VCF::TypedEnumProperty<type>::GetFunction)&RttiClassType::getFunc, \												lower, \												upper,description); \												        \#define _property_enum_labeled_ro_(type,propName,getFunc,lower, upper, count, enumNames, description) \	VCF::registerEnumReadOnlyPropertyWithLabels<type>( tmpClassName, VCF::String(propName), \									            (TypedEnumProperty<type>::GetFunction)&RttiClassType::getFunc, \												lower, \												upper, \												count, \												enumNames,description ); \												             \#define _procedure_(method) \	{\	typedef  void ( RttiClassType::* _T_##RttiClassType##method )(void); \	VCF::registerVoidMethodArg0<RttiClassType,_T_##RttiClassType##method>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, "" );\	}\	\#define _procedure1_(method,argType, argTypeDesc) \	{\	typedef  void ( RttiClassType::* _T_##RttiClassType##method )(argType); \	VCF::registerVoidMethodArg1<RttiClassType,_T_##RttiClassType##method, argType>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _procedure2_(method,argType1,argType2,argTypeDesc) \	{\	typedef  void ( RttiClassType::* _T_##RttiClassType##method )(argType1,argType2); \	VCF::registerVoidMethodArg2<RttiClassType,_T_##RttiClassType##method,argType1, argType2>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _procedure3_(method,argType1,argType2,argType3,argTypeDesc) \	{\	typedef  void ( RttiClassType::* _T_##RttiClassType##method )(argType1,argType2,argType3); \	VCF::registerVoidMethodArg3<RttiClassType,_T_##RttiClassType##method,argType1, argType2, argType3>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _procedure4_(method,argType1,argType2,argType3,argType4,argTypeDesc) \	{\	typedef  void ( RttiClassType::* _T_##RttiClassType##method )(argType1,argType2,argType3,argType4); \	VCF::registerVoidMethodArg4<RttiClassType,_T_##RttiClassType##method,argType1, argType2, argType3, argType4>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _procedure5_(method,argType1,argType2,argType3,argType4,argType5,argTypeDesc) \	{\	typedef  void ( RttiClassType::* _T_##RttiClassType##method )(argType1,argType2,argType3,argType4,argType5); \	VCF::registerVoidMethodArg5<RttiClassType,_T_##RttiClassType##method,argType1, argType2, argType3, argType4, argType5>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _procedure6_(method,argType1,argType2,argType3,argType4,argType5,argType6,argTypeDesc) \	{\	typedef  void ( RttiClassType::* _T_##RttiClassType##method )(argType1,argType2,argType3,argType4,argType5); \	VCF::registerVoidMethodArg6<RttiClassType,_T_##RttiClassType##method,argType1, argType2, argType3, argType4, argType5, argType6>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _function_(method,returnType) \	{\	typedef  returnType ( RttiClassType::* _T_##RttiClassType##method )(); \	VCF::registerMethod0Return<RttiClassType,_T_##RttiClassType##method,returnType>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String("") ); \	}\	  \#define _function1_(method,returnType,argType,argTypeDesc) \	{\	typedef  returnType ( RttiClassType::* _T_##RttiClassType##method )(argType); \	VCF::registerMethod1Return<RttiClassType,_T_##RttiClassType##method,returnType,argType>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _function2_(method,returnType,argType1,argType2,argTypeDesc) \	{\	typedef  returnType ( RttiClassType::* _T_##RttiClassType##method )(argType1, argType2); \	VCF::registerMethod2Return<RttiClassType,_T_##RttiClassType##method,returnType, argType1, argType2>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _function3_(method,returnType,argType1,argType2,argType3,argTypeDesc) \	{\	typedef  returnType ( RttiClassType::* _T_##RttiClassType##method )(argType1, argType2,argType3); \	VCF::registerMethod3Return<RttiClassType,_T_##RttiClassType##method,returnType, argType1, argType2, argType3>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _function4_(method,returnType,argType1,argType2,argType3,argType4,argTypeDesc) \	{\	typedef  returnType ( RttiClassType::* _T_##RttiClassType##method )(argType1, argType2,argType3,argType4); \	VCF::registerMethod4Return<RttiClassType,_T_##RttiClassType##method,returnType, argType1, argType2, argType3, argType4>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _function5_(method,returnType,argType1,argType2,argType3,argType4,argType5,argTypeDesc) \	{\	typedef  returnType ( RttiClassType::* _T_##RttiClassType##method )(argType1, argType2,argType3,argType4,argType5); \	VCF::registerMethod5Return<RttiClassType,_T_##RttiClassType##method,returnType, argType1, argType2, argType3, argType4, argType5>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#define _function6_(method,returnType,argType1,argType2,argType3,argType4,argType5,argType6,argTypeDesc) \	{\	typedef  returnType ( RttiClassType::* _T_##RttiClassType##method )(argType1, argType2,argType3,argType4,argType5,argType6); \	VCF::registerMethod6Return<RttiClassType,_T_##RttiClassType##method,returnType, argType1, argType2, argType3, argType4, argType5, argType6>( NULL, tmpClassName, VCF::String(#method), &RttiClassType:: method, VCF::String(argTypeDesc) ); \	}\	  \#else//No RTTI defined!#define _class_rtti_(classType,superClassName,classID)#define _class_rtti_end_ #define _class_abstract_rtti_(classType,superClassName,classID) #define _interface_rtti_(InterfaceType,SuperInterfaceName,InterfaceID) #define _interface_rtti_end_ #define _implements_( InterfaceType, interfaceID, superInterfaceClassName ) #define _field_(FieldType,Field)#define _field_obj_(FieldType,Field)#define _event_(handlerClassName,EventType,DelegateID) #define _abstract_event_(handlerClassName,EventType,DelegateID) #define _property_( type, propName, getFunc, setFunc, description )#define _property_ro_( type, propName, getFunc, description ) #define _property_typef_( type, propName, getFunc, setFunc, typeName, description ) #define _property_typef_ro_( type, propName, getFunc, typeName, description )#define _property_object_( type, propName, getFunc, setFunc, description )#define _property_object_ro_( type, propName, getFunc, description )#define _property_object_ref_( type, propName, getFunc, setFunc, description )#define _property_object_ref_ro_( type, propName, getFunc, description ) #define _property_enum_(type,propName,getFunc,setFunc, lower, upper, description) #define _property_enumset_(propName,getFunc,setFunc, count, values, enumNames, description) #define _property_enumset_ro_(propName,getFunc, count, values, enumNames, description) #define _property_enum_labeled_(type,propName,getFunc,setFunc, lower, upper, count, enumNames, description) #define _property_enum_ro_(type,propName,getFunc,lower, upper, description) #define _property_enum_labeled_ro_(type,propName,getFunc,lower, upper, count, enumNames, description)#define _procedure_(method)#define _procedure1_(method,argType, argTypeDesc)#define _procedure2_(method,argType1,argType2,argTypeDesc)#define _procedure3_(method,argType1,argType2,argType3,argTypeDesc)#define _procedure4_(method,argType1,argType2,argType3,argType4,argTypeDesc)#define _procedure5_(method,argType1,argType2,argType3,argType4,argType5,argTypeDesc) #define _procedure6_(method,argType1,argType2,argType3,argType4,argType5,argType6,argTypeDesc) #define _function_(method,returnType) #define _function1_(method,returnType,argType,argTypeDesc) #define _function2_(method,returnType,argType1,argType2,argTypeDesc) #define _function3_(method,returnType,argType1,argType2,argType3,argTypeDesc) #define _function4_(method,returnType,argType1,argType2,argType3,argType4,argTypeDesc) #define _function5_(method,returnType,argType1,argType2,argType3,argType4,argType5,argTypeDesc) #define _function6_(method,returnType,argType1,argType2,argType3,argType4,argType5,argType6,argTypeDesc) #endif/***CVS Log info*$Log$*Revision 1.3  2006/04/07 02:35:35  ddiego*initial checkin of merge from 0.6.9 dev branch.**Revision 1.2.2.2  2006/04/05 03:35:59  ddiego*post cvs crash updates.**Revision 1.2.2.1  2005/09/12 03:47:05  ddiego*more prop editor updates.**Revision 1.2  2005/07/09 23:15:04  ddiego*merging in changes from devmain-0-6-7 branch.**Revision 1.1.2.1  2005/03/06 23:13:29  ddiego*overhaul of RTTI macros. this includes changes to various examples to accommadate the new changes.**/#endif // _VCF_RTTIMACROS_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?