]> git.saurik.com Git - wxWidgets.git/blame - samples/notebook/notebook.h
Compile fix for VC
[wxWidgets.git] / samples / notebook / notebook.h
CommitLineData
0b4d4194 1/////////////////////////////////////////////////////////////////////////////
c1dfe277
JS
2// Name: samples/notebook/notebook.h
3// Purpose: a sample demonstrating notebook usage
0b4d4194 4// Author: Julian Smart
c1dfe277 5// Modified by: Dimitri Schoolwerth
0b4d4194
JS
6// Created: 25/10/98
7// RCS-ID: $Id$
be5a51fb 8// Copyright: (c) 1998-2002 wxWidgets team
c1dfe277 9// License: wxWindows license
0b4d4194
JS
10/////////////////////////////////////////////////////////////////////////////
11
9133965e
WS
12#include "wx/choicebk.h"
13#include "wx/listbook.h"
eca15c0d 14#include "wx/treebook.h"
9133965e 15#include "wx/notebook.h"
d709457c 16#include "wx/toolbook.h"
9133965e
WS
17
18#if wxUSE_LOG && !defined( __SMARTPHONE__ )
19 #define USE_LOG 1
4e62c3fd 20#else
9133965e 21 #define USE_LOG 0
4e62c3fd 22#endif
0b4d4194
JS
23
24// Define a new application
c1dfe277 25class MyApp : public wxApp
0b4d4194
JS
26{
27public:
477350ce 28 bool OnInit();
0b4d4194
JS
29};
30
31DECLARE_APP(MyApp)
32
eca15c0d 33
c1dfe277 34class MyFrame : public wxFrame
0b4d4194
JS
35{
36public:
eca15c0d 37 MyFrame();
c1dfe277
JS
38 virtual ~MyFrame();
39
9133965e
WS
40 void OnType(wxCommandEvent& event);
41 void OnOrient(wxCommandEvent& event);
42 void OnShowImages(wxCommandEvent& event);
43 void OnMulti(wxCommandEvent& event);
44 void OnExit(wxCommandEvent& event);
c1dfe277 45
9133965e
WS
46 void OnAddPage(wxCommandEvent& event);
47 void OnInsertPage(wxCommandEvent& event);
48 void OnDeleteCurPage(wxCommandEvent& event);
49 void OnDeleteLastPage(wxCommandEvent& event);
50 void OnNextPage(wxCommandEvent& event);
c1dfe277 51
eca15c0d
VZ
52 void OnAddSubPage(wxCommandEvent& event);
53 void OnAddPageBefore(wxCommandEvent& event);
54
55 void OnBookCtrl(wxBookCtrlBaseEvent& event);
02161c7c 56#if wxUSE_NOTEBOOK
eca15c0d 57 void OnNotebook(wxNotebookEvent& event) { OnBookCtrl(event); }
02161c7c
WS
58#endif
59#if wxUSE_CHOICEBOOK
eca15c0d 60 void OnChoicebook(wxChoicebookEvent& event) { OnBookCtrl(event); }
02161c7c
WS
61#endif
62#if wxUSE_LISTBOOK
eca15c0d
VZ
63 void OnListbook(wxListbookEvent& event) { OnBookCtrl(event); }
64#endif
65#if wxUSE_TREEBOOK
66 void OnTreebook(wxTreebookEvent& event) { OnBookCtrl(event); }
02161c7c 67#endif
d709457c
JS
68#if wxUSE_TOOLBOOK
69 void OnToolbook(wxToolbookEvent& event) { OnBookCtrl(event); }
70#endif
96d37807 71
3957448a 72 void OnIdle(wxIdleEvent& event);
96d37807 73
eca15c0d
VZ
74#if wxUSE_TREEBOOK
75 void OnUpdateTreeMenu(wxUpdateUIEvent& event);
76#endif // wxUSE_TREEBOOK
77
78 wxBookCtrlBase *GetCurrentBook() const { return m_bookCtrl; }
9133965e 79
c1dfe277
JS
80private:
81 wxLog *m_logTargetOld;
82
eca15c0d
VZ
83 void RecreateBook();
84 wxPanel *CreateNewPage() const;
d709457c 85 int TranslateBookFlag(int nb, int lb, int chb, int tbk, int toolbk) const;
9133965e
WS
86
87 // Sample setup
eca15c0d
VZ
88 enum BookType
89 {
90 Type_Notebook,
eca15c0d 91 Type_Listbook,
136bafcd 92 Type_Choicebook,
eca15c0d 93 Type_Treebook,
d709457c 94 Type_Toolbook,
eca15c0d
VZ
95 Type_Max
96 } m_type;
9133965e
WS
97 int m_orient;
98 bool m_chkShowImages;
99 bool m_multi;
c1dfe277
JS
100
101 // Controls
102
103 wxPanel *m_panel; // Panel containing notebook and other controls
eca15c0d 104 wxBookCtrlBase *m_bookCtrl;
c1dfe277 105
9133965e 106#if USE_LOG
c1dfe277
JS
107 // Log window
108 wxTextCtrl *m_text;
9133965e 109#endif // USE_LOG
c1dfe277 110
c1dfe277
JS
111 wxBoxSizer *m_sizerFrame;
112
c1dfe277 113 wxImageList *m_imageList;
0b4d4194 114
d22699b5 115 DECLARE_EVENT_TABLE()
0b4d4194
JS
116};
117
9133965e 118enum ID_COMMANDS
c1dfe277 119{
eca15c0d 120 // these should be in the same order as Type_XXX elements above
9133965e
WS
121 ID_BOOK_NOTEBOOK = wxID_HIGHEST,
122 ID_BOOK_LISTBOOK,
123 ID_BOOK_CHOICEBOOK,
eca15c0d 124 ID_BOOK_TREEBOOK,
d709457c 125 ID_BOOK_TOOLBOOK,
9133965e 126 ID_BOOK_MAX,
eca15c0d 127
9133965e
WS
128 ID_ORIENT_DEFAULT,
129 ID_ORIENT_TOP,
130 ID_ORIENT_BOTTOM,
131 ID_ORIENT_LEFT,
132 ID_ORIENT_RIGHT,
133 ID_ORIENT_MAX,
134 ID_SHOW_IMAGES,
135 ID_MULTI,
136 ID_ADD_PAGE,
137 ID_INSERT_PAGE,
138 ID_DELETE_CUR_PAGE,
139 ID_DELETE_LAST_PAGE,
140 ID_NEXT_PAGE,
eca15c0d
VZ
141 ID_ADD_PAGE_BEFORE,
142 ID_ADD_SUB_PAGE
c1dfe277 143};
76645ab3
VZ
144
145/*
146Name of each notebook page.
147Used as a label for a page, and used when cloning the notebook
148to decide what type of page it is.
149*/
150
151#define I_WAS_INSERTED_PAGE_NAME wxT("Inserted")
152#define RADIOBUTTONS_PAGE_NAME wxT("Radiobuttons")
153#define VETO_PAGE_NAME wxT("Veto")
154#define MAXIMIZED_BUTTON_PAGE_NAME wxT("Maximized button")
155
156// Pages that can be added by the user
157#define INSERTED_PAGE_NAME wxT("Inserted ")
158#define ADDED_PAGE_NAME wxT("Added ")
eca15c0d
VZ
159#define ADDED_PAGE_NAME_BEFORE wxT(" Inserted before ")
160#define ADDED_SUB_PAGE_NAME wxT(" Inserted sub-page ")
161
162