#include <wx/persist/window.h>
Base class for persistent windows.
Compared to wxPersistentObject this class does three things:
Public Types | |
typedef T | WindowType |
The type of the associated window. More... | |
Public Member Functions | |
wxPersistentWindow (WindowType *win) | |
Constructor for a persistent window object. More... | |
WindowType * | Get () const |
virtual wxString | GetName () const |
Implements the base class pure virtual method using wxWindow::GetName(). More... | |
![]() | |
wxPersistentObject (void *obj) | |
Constructor takes the object which we're associated with. More... | |
virtual | ~wxPersistentObject () |
Trivial but virtual destructor. More... | |
void * | GetObject () const |
Return the associated object. More... | |
virtual void | Save () const =0 |
Save the object properties. More... | |
virtual bool | Restore ()=0 |
Restore the object properties. More... | |
virtual wxString | GetKind () const =0 |
Returns the string uniquely identifying the objects supported by this adapter. More... | |
Additional Inherited Members | |
![]() | |
template<typename T > | |
bool | SaveValue (const wxString &name, T value) const |
Save the specified value using the given name. More... | |
template<typename T > | |
bool | RestoreValue (const wxString &name, T *value) |
Restore the value saved by Save(). More... | |
typedef T wxPersistentWindow< T >::WindowType |
The type of the associated window.
wxPersistentWindow< T >::wxPersistentWindow | ( | WindowType * | win | ) |
Constructor for a persistent window object.
The constructor uses wxEvtHandler::Connect() to catch wxWindowDestroyEvent generated when the window is destroyed and call wxPersistenceManager::SaveAndUnregister() when this happens. This ensures that the window properties are saved and that this object itself is deleted when the window is.
|
inline |
|
virtual |
Implements the base class pure virtual method using wxWindow::GetName().
Notice that window names are usually not unique while this function must return a unique (at least among the objects of this type) string. Because of this you need to specify a non-default window name in its constructor when creating it or explicitly call wxWindow::SetName() before saving or restoring persistent properties.
Implements wxPersistentObject.