]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/persist/treebook.h
add support for persistent controls
[wxWidgets.git] / interface / wx / persist / treebook.h
diff --git a/interface/wx/persist/treebook.h b/interface/wx/persist/treebook.h
new file mode 100644 (file)
index 0000000..28be960
--- /dev/null
@@ -0,0 +1,43 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/persist/treebook.h
+// Purpose:     interface of wxPersistentTreeBook
+// Author:      Vadim Zeitlin
+// RCS-ID:      $Id$
+// Copyright:   (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+    Persistence adapter for wxTreebook.
+
+    This adapter saves and restores the expanded branches of the wxTreeCtrl
+    used by wxTreebook, in addition to saving and restoring the selection as
+    implemented by the base wxPersistentBookCtrl class.
+ */
+class wxPersistentTreeBook : public wxPersistentBookCtrl
+{
+public:
+    /**
+        Constructor.
+
+        @param book
+            The associated tree book control.
+     */
+    wxPersistentTreeBook(wxTreebook *book);
+
+    /**
+        Save the currently opened branches.
+     */
+    virtual void Save() const;
+
+    /**
+        Restore the opened branches.
+
+        The book control must be initialized before calling this function, i.e.
+        all of its pages should be already added to it.
+     */
+    virtual bool Restore();
+};
+
+/// Overload allowing persistence adapter creation for wxTreebook objects.
+wxPersistentObject *wxCreatePersistentObject(wxTreebook *book);