| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/persist/splitter.h
 
- // Purpose:     Persistence support for wxSplitterWindow.
 
- // Author:      Vadim Zeitlin
 
- // Created:     2011-08-31
 
- // Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_PERSIST_SPLITTER_H_
 
- #define _WX_PERSIST_SPLITTER_H_
 
- #include "wx/persist/window.h"
 
- #include "wx/splitter.h"
 
- // ----------------------------------------------------------------------------
 
- // string constants used by wxPersistentSplitter
 
- // ----------------------------------------------------------------------------
 
- #define wxPERSIST_SPLITTER_KIND "Splitter"
 
- // Special position value of -1 means the splitter is not split at all.
 
- #define wxPERSIST_SPLITTER_POSITION "Position"
 
- // ----------------------------------------------------------------------------
 
- // wxPersistentSplitter: supports saving/restoring splitter position
 
- // ----------------------------------------------------------------------------
 
- class wxPersistentSplitter : public wxPersistentWindow<wxSplitterWindow>
 
- {
 
- public:
 
-     wxPersistentSplitter(wxSplitterWindow* splitter)
 
-         : wxPersistentWindow<wxSplitterWindow>(splitter)
 
-     {
 
-     }
 
-     virtual void Save() const
 
-     {
 
-         wxSplitterWindow* const splitter = Get();
 
-         int pos = splitter->IsSplit() ? splitter->GetSashPosition() : -1;
 
-         SaveValue(wxPERSIST_SPLITTER_POSITION, pos);
 
-     }
 
-     virtual bool Restore()
 
-     {
 
-         int pos;
 
-         if ( !RestoreValue(wxPERSIST_SPLITTER_POSITION, &pos) )
 
-             return false;
 
-         if ( pos == -1 )
 
-             Get()->Unsplit();
 
-         else
 
-             Get()->SetSashPosition(pos);
 
-         return true;
 
-     }
 
-     virtual wxString GetKind() const { return wxPERSIST_SPLITTER_KIND; }
 
- };
 
- inline wxPersistentObject *wxCreatePersistentObject(wxSplitterWindow* splitter)
 
- {
 
-     return new wxPersistentSplitter(splitter);
 
- }
 
- #endif // _WX_PERSIST_SPLITTER_H_
 
 
  |