X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/395b5a7626496b9d0f218654fc66ecd457d8037d..54aa3821fc7c1df012efc5e5dd4a09ab5ed8d90d:/include/wx/xti.h diff --git a/include/wx/xti.h b/include/wx/xti.h index 87da89c741..302b6605ae 100644 --- a/include/wx/xti.h +++ b/include/wx/xti.h @@ -13,10 +13,6 @@ #ifndef _WX_XTIH__ #define _WX_XTIH__ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "xti.h" -#endif - // We want to support properties, event sources and events sinks through // explicit declarations, using templates and specialization to make the // effort as painless as possible. @@ -693,7 +689,7 @@ private : wxString m_name ; } ; -#include +#include "wx/dynarray.h" WX_DECLARE_OBJARRAY_WITH_DECL(wxxVariant, wxxVariantArray, class WXDLLIMPEXP_BASE); @@ -1403,6 +1399,28 @@ struct wxConstructorBridge_3 : public wxConstructorBridge const wxChar *klass::ms_constructorProperties[] = { wxT(#v0) , wxT(#v1) , wxT(#v2) } ; \ const int klass::ms_constructorPropertiesCount = 3 ; +// direct constructor version + +template +struct wxDirectConstructorBridge_3 : public wxDirectConstructorBrigde +{ + void Create(wxObject * &o, wxxVariant *args) + { + o = new Class( + args[0].wxTEMPLATED_MEMBER_CALL(Get , T0) , + args[1].wxTEMPLATED_MEMBER_CALL(Get , T1) , + args[2].wxTEMPLATED_MEMBER_CALL(Get , T2) + ); + } +}; + +#define wxDIRECT_CONSTRUCTOR_3(klass,t0,v0,t1,v1,t2,v2) \ + wxDirectConstructorBridge_3 constructor##klass ; \ + wxConstructorBridge* klass::ms_constructor = &constructor##klass ; \ + const wxChar *klass::ms_constructorProperties[] = { wxT(#v0) , wxT(#v1) , wxT(#v2) } ; \ + const int klass::ms_constructorPropertiesCount = 3; + // 4 params template void wxArrayCollectionToVariantArray( const coll } -#endif +#endif // _WX_XTIH__