X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0fa541e8706f74887efeba9e475eae618873da2a..c29c95fe24973b94fd724db767193171ca7c513d:/interface/wx/persist.h diff --git a/interface/wx/persist.h b/interface/wx/persist.h index beae4c785f..8b0ef8f57d 100644 --- a/interface/wx/persist.h +++ b/interface/wx/persist.h @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // RCS-ID: $Id$ // Copyright: (c) 2009 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -17,6 +17,8 @@ This is a singleton class and its unique instance can be retrieved using Get() method. + @since 2.9.0 + @library{wxcore} */ class wxPersistenceManager @@ -62,10 +64,7 @@ public: defined for the objects of this class. */ template - wxPersistentObject *Register(T *obj) - { - return Register(obj, wxCreatePersistentObject(obj)); - } + wxPersistentObject *Register(T *obj); /** Register an object with the manager. @@ -117,7 +116,7 @@ public: @see SaveAndUnregister() */ void Save(void *obj); - + /** Restore the object properties previously saved by Save(). @@ -233,10 +232,7 @@ protected: @true if the value was saved or @false if an error occurred. */ template - 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 +247,7 @@ protected: found or an error occurred. */ template - bool RestoreValue(const wxString& name, T *value) - { - return wxPersistenceManager::Get().RestoreValue(*this, name, value); - } + bool RestoreValue(const wxString& name, T *value); }; /** @@ -268,6 +261,34 @@ protected: framework. @see @ref persistence_defining + + @header{wx/persist.h} */ template 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. As an additional convenience, this + function can also set the window name. + + For the implementation reasons, this function @em must be used instead of + the template method when using Microsoft Visual C++ 6 compiler. + + @param obj wxWindow-derived object to register with persistence manager and + to try to restore the settings for. + @param name If not empty, @a obj name is changed to the provided value + before registering it. + @return true if the settings were restored or false otherwise (this will + always be the case when the program runs for the first time, for + example). + + @since 2.9.0, @a name is new in 2.9.1. + + @header{wx/persist.h} + */ +template +bool wxPersistentRegisterAndRestore(T *obj, const wxString& name = wxString());