X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/644cb5372c67d2bd246729257b936bd0aa85b882..196a75d48d1076cfa0922720c1b840d495fe2f3d:/include/wx/object.h diff --git a/include/wx/object.h b/include/wx/object.h index 4b70945219..e24fc89e1c 100644 --- a/include/wx/object.h +++ b/include/wx/object.h @@ -19,7 +19,8 @@ #include "wx/memory.h" -class WXDLLIMPEXP_BASE wxObject; +class WXDLLIMPEXP_FWD_BASE wxObject; +class WXDLLIMPEXP_FWD_BASE wxString; #ifndef wxUSE_EXTENDED_RTTI #define wxUSE_EXTENDED_RTTI 0 @@ -64,12 +65,12 @@ class WXDLLIMPEXP_BASE wxObject; // conditional compilation // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxClassInfo; -class WXDLLIMPEXP_BASE wxHashTable; -class WXDLLIMPEXP_BASE wxObject; -class WXDLLIMPEXP_BASE wxPluginLibrary; -class WXDLLIMPEXP_BASE wxObjectRefData; -class WXDLLIMPEXP_BASE wxHashTable_Node; +class WXDLLIMPEXP_FWD_BASE wxClassInfo; +class WXDLLIMPEXP_FWD_BASE wxHashTable; +class WXDLLIMPEXP_FWD_BASE wxObject; +class WXDLLIMPEXP_FWD_BASE wxPluginLibrary; +class WXDLLIMPEXP_FWD_BASE wxObjectRefData; +class WXDLLIMPEXP_FWD_BASE wxHashTable_Node; // ---------------------------------------------------------------------------- // wxClassInfo @@ -79,8 +80,8 @@ typedef wxObject *(*wxObjectConstructorFn)(void); class WXDLLIMPEXP_BASE wxClassInfo { - friend class WXDLLIMPEXP_BASE wxObject; - friend wxObject *wxCreateDynamicObject(const wxChar *name); + friend class WXDLLIMPEXP_FWD_BASE wxObject; + friend WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxString& name); public: wxClassInfo( const wxChar *className, const wxClassInfo *baseInfo1, @@ -117,7 +118,7 @@ public: { return m_objectConstructor; } static const wxClassInfo *GetFirst() { return sm_first; } const wxClassInfo *GetNext() const { return m_next; } - static wxClassInfo *FindClass(const wxChar *className); + static wxClassInfo *FindClass(const wxString& className); // Climb upwards through inheritance hierarchy. // Dual inheritance is catered for. @@ -157,7 +158,7 @@ protected: DECLARE_NO_COPY_CLASS(wxClassInfo) }; -WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name); +WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxString& name); // ---------------------------------------------------------------------------- // Dynamic class macros @@ -407,7 +408,7 @@ inline void* wxCheckCast(void *ptr) class WXDLLIMPEXP_BASE wxObjectRefData { - friend class WXDLLIMPEXP_BASE wxObject; + friend class WXDLLIMPEXP_FWD_BASE wxObject; public: wxObjectRefData() : m_count(1) { } @@ -593,7 +594,7 @@ inline wxObject *wxCheckDynamicCast(wxObject *obj, wxClassInfo *classInfo) #if wxUSE_EXTENDED_RTTI class WXDLLIMPEXP_BASE wxDynamicObject : public wxObject { - friend class WXDLLIMPEXP_BASE wxDynamicClassInfo ; + friend class WXDLLIMPEXP_FWD_BASE wxDynamicClassInfo ; public: // instantiates this object with an instance of its superclass wxDynamicObject(wxObject* superClassInstance, const wxDynamicClassInfo *info) ;