+ wxConstructorBridge* klass::ms_constructor = &constructor##klass ; \
+ const wxChar *klass::ms_constructorProperties[] = { wxT(#v0) , wxT(#v1) , wxT(#v2) , wxT(#v3) , wxT(#v4) } ; \
+ const int klass::ms_constructorPropertiesCount = 5;
+
+// 6 params
+
+template<typename Class,
+typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
+struct wxConstructorBridge_6 : public wxConstructorBridge
+{
+ void Create(wxObject * &o, wxxVariant *args)
+ {
+ Class *obj = dynamic_cast<Class*>(o);
+ obj->Create(
+ args[0].wxTEMPLATED_MEMBER_CALL(Get , T0) ,
+ args[1].wxTEMPLATED_MEMBER_CALL(Get , T1) ,
+ args[2].wxTEMPLATED_MEMBER_CALL(Get , T2) ,
+ args[3].wxTEMPLATED_MEMBER_CALL(Get , T3) ,
+ args[4].wxTEMPLATED_MEMBER_CALL(Get , T4) ,
+ args[5].wxTEMPLATED_MEMBER_CALL(Get , T5)
+ );
+ }
+};
+
+#define wxCONSTRUCTOR_6(klass,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5) \
+ wxConstructorBridge_6<klass,t0,t1,t2,t3,t4,t5> constructor##klass ; \
+ wxConstructorBridge* klass::ms_constructor = &constructor##klass ; \
+ const wxChar *klass::ms_constructorProperties[] = { wxT(#v0) , wxT(#v1) , wxT(#v2) , wxT(#v3) , wxT(#v4) , wxT(#v5) } ; \
+ const int klass::ms_constructorPropertiesCount = 6;
+
+// direct constructor version
+
+template<typename Class,
+typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
+struct wxDirectConstructorBridge_6 : 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) ,
+ args[3].wxTEMPLATED_MEMBER_CALL(Get , T3) ,
+ args[4].wxTEMPLATED_MEMBER_CALL(Get , T4) ,
+ args[5].wxTEMPLATED_MEMBER_CALL(Get , T5)
+ );
+ }
+};
+
+#define wxDIRECT_CONSTRUCTOR_6(klass,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5) \
+ wxDirectConstructorBridge_6<klass,t0,t1,t2,t3,t4,t5> constructor##klass ; \
+ wxConstructorBridge* klass::ms_constructor = &constructor##klass ; \
+ const wxChar *klass::ms_constructorProperties[] = { wxT(#v0) , wxT(#v1) , wxT(#v2) , wxT(#v3) , wxT(#v4) , wxT(#v5) } ; \
+ const int klass::ms_constructorPropertiesCount = 6;
+
+// 7 params
+
+template<typename Class,
+typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
+struct wxConstructorBridge_7 : public wxConstructorBridge
+{
+ void Create(wxObject * &o, wxxVariant *args)
+ {
+ Class *obj = dynamic_cast<Class*>(o);
+ obj->Create(
+ args[0].wxTEMPLATED_MEMBER_CALL(Get , T0) ,
+ args[1].wxTEMPLATED_MEMBER_CALL(Get , T1) ,
+ args[2].wxTEMPLATED_MEMBER_CALL(Get , T2) ,
+ args[3].wxTEMPLATED_MEMBER_CALL(Get , T3) ,
+ args[4].wxTEMPLATED_MEMBER_CALL(Get , T4) ,
+ args[5].wxTEMPLATED_MEMBER_CALL(Get , T5) ,
+ args[6].wxTEMPLATED_MEMBER_CALL(Get , T6)
+ );
+ }
+};
+
+#define wxCONSTRUCTOR_7(klass,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6) \
+ wxConstructorBridge_7<klass,t0,t1,t2,t3,t4,t5,t6> constructor##klass ; \
+ wxConstructorBridge* klass::ms_constructor = &constructor##klass ; \
+ const wxChar *klass::ms_constructorProperties[] = { wxT(#v0) , wxT(#v1) , wxT(#v2) , wxT(#v3) , wxT(#v4) , wxT(#v5) , wxT(#v6) } ; \
+ const int klass::ms_constructorPropertiesCount = 7;
+
+// 8 params
+
+template<typename Class,
+typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
+struct wxConstructorBridge_8 : public wxConstructorBridge
+{
+ void Create(wxObject * &o, wxxVariant *args)
+ {
+ Class *obj = dynamic_cast<Class*>(o);
+ obj->Create(
+ args[0].wxTEMPLATED_MEMBER_CALL(Get , T0) ,
+ args[1].wxTEMPLATED_MEMBER_CALL(Get , T1) ,
+ args[2].wxTEMPLATED_MEMBER_CALL(Get , T2) ,
+ args[3].wxTEMPLATED_MEMBER_CALL(Get , T3) ,
+ args[4].wxTEMPLATED_MEMBER_CALL(Get , T4) ,
+ args[5].wxTEMPLATED_MEMBER_CALL(Get , T5) ,
+ args[6].wxTEMPLATED_MEMBER_CALL(Get , T6) ,
+ args[7].wxTEMPLATED_MEMBER_CALL(Get , T7)
+ );
+ }
+};