]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/notebook/notebook.h
fixed bug in GetString() introduced during the latest round of changes
[wxWidgets.git] / samples / notebook / notebook.h
index 28cf666261f766796bc39e4d3fc2cee8725a111c..4fdc8f98a366b9a0c1fb4100d24f5e48201ae4f0 100644 (file)
@@ -11,6 +11,7 @@
 
 #include "wx/choicebk.h"
 #include "wx/listbook.h"
+#include "wx/treebook.h"
 #include "wx/notebook.h"
 
 #if wxUSE_LOG && !defined( __SMARTPHONE__ )
@@ -28,12 +29,11 @@ public:
 
 DECLARE_APP(MyApp)
 
+
 class MyFrame : public wxFrame
 {
 public:
-    MyFrame(const wxString& title, const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE|wxCLIP_CHILDREN|wxNO_FULL_REPAINT_ON_RESIZE);
-
+    MyFrame();
     virtual ~MyFrame();
 
     void OnType(wxCommandEvent& event);
@@ -48,23 +48,47 @@ public:
     void OnDeleteLastPage(wxCommandEvent& event);
     void OnNextPage(wxCommandEvent& event);
 
-    void OnNotebook(wxNotebookEvent& event);
-    void OnChoicebook(wxChoicebookEvent& event);
-    void OnListbook(wxListbookEvent& event);
+    void OnAddSubPage(wxCommandEvent& event);
+    void OnAddPageBefore(wxCommandEvent& event);
+
+    void OnBookCtrl(wxBookCtrlBaseEvent& event);
+#if wxUSE_NOTEBOOK
+    void OnNotebook(wxNotebookEvent& event) { OnBookCtrl(event); }
+#endif
+#if wxUSE_CHOICEBOOK
+    void OnChoicebook(wxChoicebookEvent& event) { OnBookCtrl(event); }
+#endif
+#if wxUSE_LISTBOOK
+    void OnListbook(wxListbookEvent& event) { OnBookCtrl(event); }
+#endif
+#if wxUSE_TREEBOOK
+    void OnTreebook(wxTreebookEvent& event) { OnBookCtrl(event); }
+#endif
 
     void OnIdle(wxIdleEvent& event);
 
-    wxBookCtrl *GetCurrentBook();
+#if wxUSE_TREEBOOK
+    void OnUpdateTreeMenu(wxUpdateUIEvent& event);
+#endif // wxUSE_TREEBOOK
+
+    wxBookCtrlBase *GetCurrentBook() const { return m_bookCtrl; }
 
 private:
     wxLog *m_logTargetOld;
 
-    int SelectFlag(int id, int nb, int lb, int chb);
-    void ShowCurrentBook();
-    void RecreateBooks();
+    void RecreateBook();
+    wxPanel *CreateNewPage() const;
+    int TranslateBookFlag(int nb, int lb, int chb, int tbk) const;
 
     // Sample setup
-    int m_type;
+    enum BookType
+    {
+        Type_Notebook,
+        Type_Listbook,
+        Type_Choicebook,
+        Type_Treebook,
+        Type_Max
+    } m_type;
     int m_orient;
     bool m_chkShowImages;
     bool m_multi;
@@ -72,10 +96,7 @@ private:
     // Controls
 
     wxPanel *m_panel; // Panel containing notebook and other controls
-
-    wxNotebook   *m_notebook;
-    wxChoicebook *m_choicebook;
-    wxListbook   *m_listbook;
+    wxBookCtrlBase *m_bookCtrl;
 
 #if USE_LOG
     // Log window
@@ -91,10 +112,13 @@ private:
 
 enum ID_COMMANDS
 {
+    // these should be in the same order as Type_XXX elements above
     ID_BOOK_NOTEBOOK = wxID_HIGHEST,
     ID_BOOK_LISTBOOK,
     ID_BOOK_CHOICEBOOK,
+    ID_BOOK_TREEBOOK,
     ID_BOOK_MAX,
+
     ID_ORIENT_DEFAULT,
     ID_ORIENT_TOP,
     ID_ORIENT_BOTTOM,
@@ -108,9 +132,8 @@ enum ID_COMMANDS
     ID_DELETE_CUR_PAGE,
     ID_DELETE_LAST_PAGE,
     ID_NEXT_PAGE,
-    ID_NOTEBOOK,
-    ID_LISTBOOK,
-    ID_CHOICEBOOK
+    ID_ADD_PAGE_BEFORE,
+    ID_ADD_SUB_PAGE
 };
 
 /*
@@ -127,3 +150,7 @@ to decide what type of page it is.
 // Pages that can be added by the user
 #define INSERTED_PAGE_NAME wxT("Inserted ")
 #define ADDED_PAGE_NAME wxT("Added ")
+#define ADDED_PAGE_NAME_BEFORE wxT(" Inserted before ")
+#define ADDED_SUB_PAGE_NAME wxT(" Inserted sub-page ")
+
+