]>
git.saurik.com Git - wxWidgets.git/blob - samples/notebook/notebook.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: samples/notebook/notebook.h
3 // Purpose: a sample demonstrating notebook usage
4 // Author: Julian Smart
5 // Modified by: Dimitri Schoolwerth
8 // Copyright: (c) 1998-2002 wxWindows team
9 // License: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
12 #include "wx/notebook.h"
14 // Define a new application
15 class MyApp
: public wxApp
24 class MyNotebook
: public wxNotebook
27 MyNotebook(wxWindow
*parent
, wxWindowID id
= -1,
28 const wxPoint
& pos
= wxDefaultPosition
,
29 const wxSize
& size
= wxDefaultSize
, long style
= 0);
31 void CreateInitialPages();
33 wxPanel
*CreatePage(const wxString
& pageName
);
35 wxPanel
*CreateUserCreatedPage();
37 int GetIconIndex() const;
40 wxPanel
*CreateInsertPage();
41 wxPanel
*CreateRadioButtonsPage();
42 wxPanel
*CreateVetoPage();
43 wxPanel
*CreateBigButtonPage();
47 class MyFrame
: public wxFrame
50 MyFrame(const wxString
& title
, const wxPoint
& pos
= wxDefaultPosition
,
51 const wxSize
& size
= wxDefaultSize
, long style
= wxDEFAULT_FRAME_STYLE
);
55 // Recreates the notebook with the same pages, but with possibly
56 // a different orientation and optionally with images.
57 void ReInitNotebook();
59 void OnCheckOrRadioBox(wxCommandEvent
& event
);
61 void OnButtonAddPage(wxCommandEvent
& event
);
62 void OnButtonInsertPage(wxCommandEvent
& event
);
63 void OnButtonDeletePage(wxCommandEvent
& event
);
64 void OnButtonNextPage(wxCommandEvent
& event
);
66 void OnButtonExit(wxCommandEvent
& event
);
68 void OnNotebook(wxNotebookEvent
& event
);
70 void OnIdle(wxIdleEvent
& event
);
74 wxLog
*m_logTargetOld
;
79 wxPanel
*m_panel
; // Panel containing notebook and other controls
81 wxRadioBox
*m_radioOrient
;
82 wxCheckBox
*m_chkShowImages
;
84 wxButton
*m_btnAddPage
;
85 wxButton
*m_btnInsertPage
;
86 wxButton
*m_btnDeletePage
;
87 wxButton
*m_btnNextPage
;
90 MyNotebook
*m_notebook
;
98 // The frame's sizer. Consists of m_sizerTop and the log window
100 wxBoxSizer
*m_sizerFrame
;
102 // Sizer that contains the notebook and controls on the left
103 wxBoxSizer
*m_sizerTop
;
105 // Sizer for m_notebook
106 wxNotebookSizer
*m_sizerNotebook
;
108 wxImageList
*m_imageList
;
110 DECLARE_EVENT_TABLE()
115 ID_RADIO_ORIENT
= wxID_HIGHEST
,
124 // notebook orientations
135 Name of each notebook page.
136 Used as a label for a page, and used when cloning the notebook
137 to decide what type of page it is.
140 #define I_WAS_INSERTED_PAGE_NAME wxT("Inserted")
141 #define RADIOBUTTONS_PAGE_NAME wxT("Radiobuttons")
142 #define VETO_PAGE_NAME wxT("Veto")
143 #define MAXIMIZED_BUTTON_PAGE_NAME wxT("Maximized button")
145 // Pages that can be added by the user
146 #define INSERTED_PAGE_NAME wxT("Inserted ")
147 #define ADDED_PAGE_NAME wxT("Added ")