]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/persist.h
Replaced Ok() occurrences with IsOk() throughout trunk.
[wxWidgets.git] / include / wx / persist.h
index 24cd503142d3278ce910eca0727094367879ce01..68097fbcbeeb3f1698e650a61017ae417a1daddb 100644 (file)
@@ -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)
@@ -77,7 +82,7 @@ public:
     // deletes the associated wxPersistentObject
     void Unregister(void *obj);
 
-    
+
     // save/restore the state of an object
     //
     // these methods do nothing if DisableSaving/Restoring() was called
@@ -136,6 +141,7 @@ private:
         m_doRestore = true;
     }
 
+
     // helpers of Save/Restore()
     //
     // TODO: make this customizable by allowing
@@ -155,7 +161,7 @@ private:
     bool m_doSave,
          m_doRestore;
 
-    DECLARE_NO_COPY_CLASS(wxPersistenceManager)
+    wxDECLARE_NO_COPY_CLASS(wxPersistenceManager);
 };
 
 // ----------------------------------------------------------------------------
@@ -212,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,
@@ -230,7 +236,17 @@ inline bool wxPersistentRegisterAndRestore(T *obj)
     wxPersistentObject * const pers = wxCreatePersistentObject(obj);
 
     return wxPersistenceManager::Get().RegisterAndRestore(obj, pers);
-                                            
+
+}
+
+// A helper function which also sets the name for the (wxWindow-derived) object
+// before registering and restoring it.
+template <typename T>
+inline bool wxPersistentRegisterAndRestore(T *obj, const wxString& name)
+{
+    obj->SetName(name);
+
+    return wxPersistentRegisterAndRestore(obj);
 }
 
 #endif // _WX_PERSIST_H_