]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/persist.h
don't place NULL pointers in the GDK window array in GTKGetWindow()
[wxWidgets.git] / interface / wx / persist.h
index beae4c785f407cd64b1f39614d36e4c00315f28d..bb0dc58c3197c9f42259494ee265c66b2cc240e2 100644 (file)
@@ -62,10 +62,7 @@ public:
             defined for the objects of this class.
      */
     template <class T>
-    wxPersistentObject *Register(T *obj)
-    {
-        return Register(obj, wxCreatePersistentObject(obj));
-    }
+    wxPersistentObject *Register(T *obj);
 
     /**
         Register an object with the manager.
@@ -117,7 +114,7 @@ public:
         @see SaveAndUnregister()
      */
     void Save(void *obj);
-    
+
     /**
         Restore the object properties previously saved by Save().
 
@@ -233,10 +230,7 @@ protected:
             @true if the value was saved or @false if an error occurred.
      */
     template <typename T>
-    bool SaveValue(const wxString& name, T value) const
-    {
-        return wxPersistenceManager::Get().SaveValue(*this, name, value);
-    }
+    bool SaveValue(const wxString& name, T value) const;
 
     /**
         Restore the value saved by Save().
@@ -251,10 +245,7 @@ protected:
             found or an error occurred.
      */
     template <typename T>
-    bool RestoreValue(const wxString& name, T *value)
-    {
-        return wxPersistenceManager::Get().RestoreValue(*this, name, value);
-    }
+    bool RestoreValue(const wxString& name, T *value);
 };
 
 /**
@@ -268,6 +259,23 @@ protected:
     framework.
 
     @see @ref persistence_defining
+
+    @header{wx/persist.h}
  */
 template <class T>
 wxPersistentObject *wxCreatePersistentObject(T *obj);
+
+/**
+    A shorter synonym for wxPersistenceManager::RegisterAndRestore().
+
+    This function simply calls wxPersistenceManager::RegisterAndRestore() but
+    using it results in slightly shorter code as it calls
+    wxPersistenceManager::Get() internally.
+
+    For the implementation reasons, this function @em mucst be used instead of
+    the template method when using Microsoft Visual C++ 6 compiler.
+
+    @header{wx/persist.h}
+ */
+template <class T>
+bool wxPersistentRegisterAndRestore(T *obj);