X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f8855e47254a28f5141524b3aaaac03c2944e997..0c7e0a87719f1034c8a9b3e748f5e0ca1cdaeb13:/include/wx/object.h?ds=sidebyside diff --git a/include/wx/object.h b/include/wx/object.h index 17e4682d6d..dfb88a48c6 100644 --- a/include/wx/object.h +++ b/include/wx/object.h @@ -17,7 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#include "wx/defs.h" #include "wx/memory.h" class WXDLLIMPEXP_BASE wxObject; @@ -65,7 +64,8 @@ public: ~wxClassInfo(); - wxObject *CreateObject() { return m_objectConstructor ? (*m_objectConstructor)() : 0; } + wxObject *CreateObject() const { return m_objectConstructor ? (*m_objectConstructor)() : 0; } + bool IsDynamic() const { return (NULL != m_objectConstructor); } const wxChar *GetClassName() const { return m_className; } const wxChar *GetBaseClassName1() const @@ -98,7 +98,6 @@ public: // Cleans up hash table used for fast searching. wxDEPRECATED( static void CleanUpClasses() ); #endif - static void CleanUp(); public: const wxChar *m_className; @@ -471,17 +470,8 @@ public: // destroy a reference void UnRef(); - - // Reserved for future use - virtual void ReservedObjectFunc1() {} - virtual void ReservedObjectFunc2() {} - virtual void ReservedObjectFunc3() {} - virtual void ReservedObjectFunc4() {} - virtual void ReservedObjectFunc5() {} - virtual void ReservedObjectFunc6() {} - virtual void ReservedObjectFunc7() {} - virtual void ReservedObjectFunc8() {} - virtual void ReservedObjectFunc9() {} + // Make sure this object has only one reference + void UnShare() { AllocExclusive(); } protected: // ensure that our data is not shared with anybody else: if we have no @@ -489,7 +479,7 @@ protected: // it is copied using CloneRefData(), otherwise nothing is done void AllocExclusive(); - // both methods must be implemented if Unshare() is used, not pure virtual + // both methods must be implemented if AllocExclusive() is used, not pure virtual // only because of the backwards compatibility reasons // create a new m_refData @@ -513,7 +503,7 @@ class WXDLLIMPEXP_BASE wxDynamicObject : public wxObject public: // instantiates this object with an instance of its superclass wxDynamicObject(wxObject* superClassInstance, const wxDynamicClassInfo *info) ; - ~wxDynamicObject(); + virtual ~wxDynamicObject(); void SetProperty (const wxChar *propertyName, const wxxVariant &value); wxxVariant GetProperty (const wxChar *propertyName) const ;