Better conditions within dialogs sample.
[wxWidgets.git] / samples / dialogs / dialogs.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: dialogs.h
3 // Purpose: Common dialogs demo
4 // Author: Julian Smart
5 // Modified by: ABX (2004) - adjustementd for conditional building
6 // Created: 04/01/98
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __DIALOGSH__
13 #define __DIALOGSH__
14
15 #define USE_COLOURDLG_GENERIC \
16 ( \
17 wxUSE_COLOURDLG && \
18 ( defined(__WXMSW__) || defined(__WXMAC__) ) && \
19 !defined(__WXUNIVERSAL__) \
20 )
21
22
23 #define USE_DIRDLG_GENERIC \
24 ( \
25 wxUSE_DIRDLG && \
26 ( defined(__WXMSW__) || defined(__WXMAC__) ) && \
27 !defined(__WXUNIVERSAL__) \
28 )
29
30 #define USE_FILEDLG_GENERIC \
31 ( \
32 wxUSE_FILEDLG && \
33 ( defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXPM__) ) && \
34 !defined(__WXUNIVERSAL__) \
35 )
36
37 #define USE_FONTDLG_GENERIC \
38 ( \
39 wxUSE_FONTDLG && \
40 ( defined(__WXMSW__) || defined(__WXPM__) ) && \
41 !defined(__WXUNIVERSAL__) \
42 )
43
44
45 #define USE_MODAL_PRESENTATION 1
46
47 // Define a new application type
48 class MyApp: public wxApp
49 {
50 public:
51 bool OnInit();
52
53 wxFont m_canvasFont;
54 wxColour m_canvasTextColour;
55 };
56
57 #if USE_MODAL_PRESENTATION
58
59 // A custom modeless dialog
60 class MyModelessDialog : public wxDialog
61 {
62 public:
63 MyModelessDialog(wxWindow *parent);
64
65 void OnButton(wxCommandEvent& event);
66 void OnClose(wxCloseEvent& event);
67
68 private:
69 DECLARE_EVENT_TABLE()
70 };
71
72 // A custom modal dialog
73 class MyModalDialog : public wxDialog
74 {
75 public:
76 MyModalDialog(wxWindow *parent);
77
78 void OnButton(wxCommandEvent& event);
79
80 private:
81 wxButton *m_btnModal,
82 *m_btnModeless,
83 *m_btnDelete;
84
85 DECLARE_EVENT_TABLE()
86 };
87
88 #endif // USE_MODAL_PRESENTATION
89
90 // Define a new frame type
91 class MyFrame: public wxFrame
92 {
93 public:
94 MyFrame(wxWindow *parent, const wxString& title);
95
96 void MessageBox(wxCommandEvent& event);
97
98 #if wxUSE_COLOURDLG
99 void ChooseColour(wxCommandEvent& event);
100 #endif // wxUSE_COLOURDLG
101
102 #if wxUSE_FONTDLG
103 void ChooseFont(wxCommandEvent& event);
104 #endif // wxUSE_FONTDLG
105
106 #if wxUSE_LOG_DIALOG
107 void LogDialog(wxCommandEvent& event);
108 #endif // wxUSE_LOG_DIALOG
109
110 #if wxUSE_CHOICEDLG
111 void SingleChoice(wxCommandEvent& event);
112 void MultiChoice(wxCommandEvent& event);
113 #endif // wxUSE_CHOICEDLG
114
115 #if wxUSE_TEXTDLG
116 void TextEntry(wxCommandEvent& event);
117 void PasswordEntry(wxCommandEvent& event);
118 #endif // wxUSE_TEXTDLG
119
120 #if wxUSE_NUMBERDLG
121 void NumericEntry(wxCommandEvent& event);
122 #endif // wxUSE_NUMBERDLG
123
124 #if wxUSE_FILEDLG
125 void FileOpen(wxCommandEvent& event);
126 void FileOpen2(wxCommandEvent& event);
127 void FilesOpen(wxCommandEvent& event);
128 void FileSave(wxCommandEvent& event);
129 #endif // wxUSE_FILEDLG
130
131 #if USE_FILEDLG_GENERIC
132 void FileOpenGeneric(wxCommandEvent& event);
133 void FilesOpenGeneric(wxCommandEvent& event);
134 void FileSaveGeneric(wxCommandEvent& event);
135 #endif // USE_FILEDLG_GENERIC
136
137 #if wxUSE_DIRDLG
138 void DirChoose(wxCommandEvent& event);
139 void DirChooseNew(wxCommandEvent& event);
140 #endif // wxUSE_DIRDLG
141
142 #if USE_DIRDLG_GENERIC
143 void GenericDirChoose(wxCommandEvent& event);
144 #endif // USE_DIRDLG_GENERIC
145
146 #if wxUSE_STARTUP_TIPS
147 void ShowTip(wxCommandEvent& event);
148 #endif // wxUSE_STARTUP_TIPS
149
150 #if USE_MODAL_PRESENTATION
151 void ModalDlg(wxCommandEvent& event);
152 void ModelessDlg(wxCommandEvent& event);
153 #endif // USE_MODAL_PRESENTATION
154
155 #if wxUSE_PROGRESSDLG
156 void ShowProgress(wxCommandEvent& event);
157 #endif // wxUSE_PROGRESSDLG
158
159 #if wxUSE_BUSYINFO
160 void ShowBusyInfo(wxCommandEvent& event);
161 #endif // wxUSE_BUSYINFO
162
163 #if wxUSE_FINDREPLDLG
164 void ShowFindDialog(wxCommandEvent& event);
165 void ShowReplaceDialog(wxCommandEvent& event);
166 void OnFindDialog(wxFindDialogEvent& event);
167 #endif // wxUSE_FINDREPLDLG
168
169 #if USE_COLOURDLG_GENERIC
170 void ChooseColourGeneric(wxCommandEvent& event);
171 #endif // USE_COLOURDLG_GENERIC
172
173 #if USE_FONTDLG_GENERIC
174 void ChooseFontGeneric(wxCommandEvent& event);
175 #endif // USE_FONTDLG_GENERIC
176
177 void OnExit(wxCommandEvent& event);
178
179 private:
180 #if wxUSE_DIRDLG
181 void DoDirChoose(int style);
182 #endif // wxUSE_DIRDLG
183
184 #if USE_MODAL_PRESENTATION
185 MyModelessDialog *m_dialog;
186 #endif // USE_MODAL_PRESENTATION
187
188 #if wxUSE_FINDREPLDLG
189 wxFindReplaceData m_findData;
190
191 wxFindReplaceDialog *m_dlgFind,
192 *m_dlgReplace;
193 #endif // wxUSE_FINDREPLDLG
194
195 wxColourData m_clrData;
196
197 DECLARE_EVENT_TABLE()
198 };
199
200 class MyCanvas: public wxScrolledWindow
201 {
202 public:
203 MyCanvas(wxWindow *parent) :
204 wxScrolledWindow(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxNO_FULL_REPAINT_ON_RESIZE) { }
205
206 void OnPaint(wxPaintEvent& event);
207
208 DECLARE_EVENT_TABLE()
209 };
210
211
212 // Menu IDs
213 enum
214 {
215 DIALOGS_CHOOSE_COLOUR = wxID_HIGHEST,
216 DIALOGS_CHOOSE_COLOUR_GENERIC,
217 DIALOGS_CHOOSE_FONT,
218 DIALOGS_CHOOSE_FONT_GENERIC,
219 DIALOGS_MESSAGE_BOX,
220 DIALOGS_SINGLE_CHOICE,
221 DIALOGS_MULTI_CHOICE,
222 DIALOGS_TEXT_ENTRY,
223 DIALOGS_PASSWORD_ENTRY,
224 DIALOGS_FILE_OPEN,
225 DIALOGS_FILE_OPEN2,
226 DIALOGS_FILES_OPEN,
227 DIALOGS_FILE_SAVE,
228 DIALOGS_FILE_OPEN_GENERIC,
229 DIALOGS_FILES_OPEN_GENERIC,
230 DIALOGS_FILE_SAVE_GENERIC,
231 DIALOGS_DIR_CHOOSE,
232 DIALOGS_DIRNEW_CHOOSE,
233 DIALOGS_GENERIC_DIR_CHOOSE,
234 DIALOGS_TIP,
235 DIALOGS_NUM_ENTRY,
236 DIALOGS_LOG_DIALOG,
237 DIALOGS_MODAL,
238 DIALOGS_MODELESS,
239 DIALOGS_MODELESS_BTN,
240 DIALOGS_PROGRESS,
241 DIALOGS_BUSYINFO,
242 DIALOGS_FIND,
243 DIALOGS_REPLACE
244 };
245
246 #endif
247