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 + -
显示快捷键?