]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/notebook/notebook.h
better way of dealing with EXTRALIBS_xxx
[wxWidgets.git] / samples / notebook / notebook.h
index ca8b05d3af4bd0c7c259e5324faeab4323897959..20862f7327e5835ae2b8a301637eed67b0cadee3 100644 (file)
@@ -9,7 +9,31 @@
 // License:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#include "wx/notebook.h"
+// this sample can be used to test both wxNotebook and wxListbook
+//#define TEST_LISTBOOK
+
+#ifdef TEST_LISTBOOK
+    #include "wx/listbook.h"
+
+    #define wxNotebook wxListbook
+    #define wxNotebookEvent wxListbookEvent
+
+    #define wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED
+    #define wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING
+    #define EVT_NOTEBOOK_PAGE_CHANGED EVT_LISTBOOK_PAGE_CHANGED
+    #define EVT_NOTEBOOK_PAGE_CHANGING EVT_LISTBOOK_PAGE_CHANGING
+
+    #undef wxNB_TOP
+    #define wxNB_TOP wxLB_TOP
+    #undef wxNB_BOTTOM
+    #define wxNB_BOTTOM wxLB_BOTTOM
+    #undef wxNB_LEFT
+    #define wxNB_LEFT wxLB_LEFT
+    #undef wxNB_RIGHT
+    #define wxNB_RIGHT wxLB_RIGHT
+#else
+    #include "wx/notebook.h"
+#endif
 
 // Define a new application
 class MyApp : public wxApp
@@ -48,7 +72,7 @@ class MyFrame : public wxFrame
 {
 public:
     MyFrame(const wxString& title, const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE);
+        const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE|wxCLIP_CHILDREN|wxNO_FULL_REPAINT_ON_RESIZE);
 
     virtual ~MyFrame();
 
@@ -60,15 +84,17 @@ public:
 
     void OnButtonAddPage(wxCommandEvent& event);
     void OnButtonInsertPage(wxCommandEvent& event);
-    void OnButtonDeletePage(wxCommandEvent& event);
+    void OnButtonDeleteCurPage(wxCommandEvent& event);
+    void OnButtonDeleteLastPage(wxCommandEvent& event);
     void OnButtonNextPage(wxCommandEvent& event);
-
     void OnButtonExit(wxCommandEvent& event);
 
     void OnNotebook(wxNotebookEvent& event);
 
-    void OnIdle(wxIdleEvent& event);
+    void OnUpdateUIBtnDeleteCurPage(wxUpdateUIEvent& event);
+    void OnUpdateUIBtnDeleteLastPage(wxUpdateUIEvent& event);
 
+    void OnIdle(wxIdleEvent& event);
 
 private:
     wxLog *m_logTargetOld;
@@ -83,7 +109,8 @@ private:
 
     wxButton *m_btnAddPage;
     wxButton *m_btnInsertPage;
-    wxButton *m_btnDeletePage;
+    wxButton *m_btnDeleteCurPage;
+    wxButton *m_btnDeleteLastPage;
     wxButton *m_btnNextPage;
     wxButton *m_btnExit;
 
@@ -103,7 +130,7 @@ private:
     wxBoxSizer *m_sizerTop;
 
     // Sizer for m_notebook
-    wxNotebookSizer *m_sizerNotebook;
+    wxBookCtrlSizer *m_sizerNotebook;
 
     wxImageList *m_imageList;
 
@@ -116,7 +143,8 @@ enum ID_CONTROLS
     ID_CHK_SHOWIMAGES,
     ID_BTN_ADD_PAGE,
     ID_BTN_INSERT_PAGE,
-    ID_BTN_DELETE_PAGE,
+    ID_BTN_DELETE_CUR_PAGE,
+    ID_BTN_DELETE_LAST_PAGE,
     ID_BTN_NEXT_PAGE,
     ID_NOTEBOOK
 };