-wxClassInfo wxObject::sm_classwxObject((wxChar *) wxT("wxObject"), (wxChar *) NULL, (wxChar *) NULL, (int ) sizeof(wxObject), (wxObjectConstructorFn) NULL);
-wxClassInfo* wxClassInfo::sm_first = (wxClassInfo *) NULL;
-wxHashTable* wxClassInfo::sm_classTable = (wxHashTable*) NULL;
-
-/*
- * wxWindows root object.
- */
-
-wxObject::wxObject()
-{
- m_refData = (wxObjectRefData *) NULL;
-#if wxUSE_SERIAL
- m_serialObj = (wxObject_Serialize *)NULL;
+#if wxUSE_EXTENDED_RTTI
+const wxClassInfo* wxObject::sm_classParentswxObject[] = { NULL } ;
+ wxObject* wxVariantToObjectConverterwxObject ( wxxVariant &data )
+{ return data.Get<wxObject*>() ; }
+ wxObject* wxVariantOfPtrToObjectConverterwxObject ( wxxVariant &data )
+{ return &data.Get<wxObject>() ; }
+ wxxVariant wxObjectToVariantConverterwxObject ( wxObject *data )
+ { return wxxVariant( dynamic_cast<wxObject*> (data) ) ; }
+ wxClassInfo wxObject::sm_classwxObject(sm_classParentswxObject , wxT("") , wxT("wxObject"),
+ (int) sizeof(wxObject), \
+ (wxObjectConstructorFn) 0 ,
+ (wxPropertyInfo*) NULL,(wxHandlerInfo*) NULL,0 , 0 ,
+ 0 , wxVariantOfPtrToObjectConverterwxObject , wxVariantToObjectConverterwxObject , wxObjectToVariantConverterwxObject);
+ template<> void wxStringReadValue(const wxString & , wxObject * & ){assert(0) ;}
+ template<> void wxStringWriteValue(wxString & , wxObject* const & ){assert(0) ;}
+ template<> void wxStringReadValue(const wxString & , wxObject & ){assert(0) ;}
+ template<> void wxStringWriteValue(wxString & , wxObject const & ){assert(0) ;}
+ template<> const wxTypeInfo* wxGetTypeInfo( wxObject ** )
+ { static wxClassTypeInfo s_typeInfo(wxT_OBJECT_PTR , &wxObject::sm_classwxObject) ; return &s_typeInfo ; }
+ template<> const wxTypeInfo* wxGetTypeInfo( wxObject * )
+ { static wxClassTypeInfo s_typeInfo(wxT_OBJECT , &wxObject::sm_classwxObject) ; return &s_typeInfo ; }
+#else
+wxClassInfo wxObject::sm_classwxObject( wxT("wxObject"), 0, 0,
+ (int) sizeof(wxObject),
+ (wxObjectConstructorFn) 0 );