X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5bca8be2cf427f9f7f79212ca086bf715085f7f9..1f0acb435592470b421b80df854fbbb08cd2853f:/include/wx/persist.h diff --git a/include/wx/persist.h b/include/wx/persist.h index 392bf53d9b..68097fbcbe 100644 --- a/include/wx/persist.h +++ b/include/wx/persist.h @@ -47,6 +47,11 @@ public: // accessor to the unique persistence manager object static wxPersistenceManager& Get(); + // trivial but virtual dtor + // + // FIXME-VC6: this only needs to be public because of VC6 bug + virtual ~wxPersistenceManager(); + // globally disable restoring or saving the persistent properties (both are // enabled by default) @@ -136,9 +141,6 @@ private: m_doRestore = true; } - // trivial but virtual dtor - virtual ~wxPersistenceManager(); - // helpers of Save/Restore() // @@ -159,7 +161,7 @@ private: bool m_doSave, m_doRestore; - DECLARE_NO_COPY_CLASS(wxPersistenceManager) + wxDECLARE_NO_COPY_CLASS(wxPersistenceManager); }; // ---------------------------------------------------------------------------- @@ -216,7 +218,7 @@ protected: private: void * const m_obj; - DECLARE_NO_COPY_CLASS(wxPersistentObject) + wxDECLARE_NO_COPY_CLASS(wxPersistentObject); }; // FIXME-VC6: VC6 has troubles with template methods of DLL-exported classes, @@ -237,5 +239,15 @@ inline bool wxPersistentRegisterAndRestore(T *obj) } +// A helper function which also sets the name for the (wxWindow-derived) object +// before registering and restoring it. +template +inline bool wxPersistentRegisterAndRestore(T *obj, const wxString& name) +{ + obj->SetName(name); + + return wxPersistentRegisterAndRestore(obj); +} + #endif // _WX_PERSIST_H_