X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6021b8f80b7b64b5d50702864da5f139710527e4..1b88201ff5f0f9ed18db555b70eb7123c8a7c9c6:/include/wx/object.h diff --git a/include/wx/object.h b/include/wx/object.h index 58e62f03be..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,13 +470,16 @@ public: // destroy a reference void UnRef(); + // 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 // data, it is created using CreateRefData() below, if we have shared data // 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 @@ -501,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 ;