X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c1dfe2775493c9fdecb1d4a362039d6e10cfb4b4..0c3d85e6efc0d9ee4ec2abbd7eacbe80478cfb83:/samples/notebook/notebook.h?ds=sidebyside diff --git a/samples/notebook/notebook.h b/samples/notebook/notebook.h index 0a10dcbb2d..2d32a1f064 100644 --- a/samples/notebook/notebook.h +++ b/samples/notebook/notebook.h @@ -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 @@ -30,7 +54,17 @@ public: void CreateInitialPages(); + wxPanel *CreatePage(const wxString& pageName); + + wxPanel *CreateUserCreatedPage(); + int GetIconIndex() const; + +private: + wxPanel *CreateInsertPage(); + wxPanel *CreateRadioButtonsPage(); + wxPanel *CreateVetoPage(); + wxPanel *CreateBigButtonPage(); }; // @@ -38,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(); @@ -46,21 +80,21 @@ public: // a different orientation and optionally with images. void ReInitNotebook(); - void CreateImageList(); - void OnCheckOrRadioBox(wxCommandEvent& event); 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; @@ -71,11 +105,13 @@ private: wxPanel *m_panel; // Panel containing notebook and other controls wxRadioBox *m_radioOrient; - wxCheckBox *m_chkShowImages; + wxCheckBox *m_chkShowImages, + *m_chkMultiLine; wxButton *m_btnAddPage; wxButton *m_btnInsertPage; - wxButton *m_btnDeletePage; + wxButton *m_btnDeleteCurPage; + wxButton *m_btnDeleteLastPage; wxButton *m_btnNextPage; wxButton *m_btnExit; @@ -95,7 +131,7 @@ private: wxBoxSizer *m_sizerTop; // Sizer for m_notebook - wxNotebookSizer *m_sizerNotebook; + wxBookCtrlSizer *m_sizerNotebook; wxImageList *m_imageList; @@ -106,9 +142,11 @@ enum ID_CONTROLS { ID_RADIO_ORIENT = wxID_HIGHEST, ID_CHK_SHOWIMAGES, + ID_CHK_MULTILINE, 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 }; @@ -122,3 +160,18 @@ enum ORIENT ORIENT_RIGHT, ORIENT_MAX }; + +/* +Name of each notebook page. +Used as a label for a page, and used when cloning the notebook +to decide what type of page it is. +*/ + +#define I_WAS_INSERTED_PAGE_NAME wxT("Inserted") +#define RADIOBUTTONS_PAGE_NAME wxT("Radiobuttons") +#define VETO_PAGE_NAME wxT("Veto") +#define MAXIMIZED_BUTTON_PAGE_NAME wxT("Maximized button") + +// Pages that can be added by the user +#define INSERTED_PAGE_NAME wxT("Inserted ") +#define ADDED_PAGE_NAME wxT("Added ")