1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Common dialogs demo
4 // Author: Julian Smart
5 // Modified by: ABX (2004) - adjustementd for conditional building
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
15 #ifdef __WXUNIVERSAL__
16 #define USE_WXUNIVERSAL 1
18 #define USE_WXUNIVERSAL 0
27 #if defined(__WXMSW__) && !defined(__WXWINCE__)
51 #define USE_COLOURDLG_GENERIC \
54 ( USE_WXMSW || USE_WXMAC ) && \
60 #define USE_DIRDLG_GENERIC \
63 ( USE_WXMSW || USE_WXMAC ) && \
68 #define USE_FILEDLG_GENERIC \
71 ( USE_WXMSW || USE_WXMAC || USE_WXPM ) && \
76 #define USE_FONTDLG_GENERIC \
79 ( USE_WXMSW || USE_WXPM ) && \
85 #define USE_MODAL_PRESENTATION \
93 // Define a new application type
94 class MyApp
: public wxApp
100 wxColour m_canvasTextColour
;
103 #if USE_MODAL_PRESENTATION
105 // A custom modeless dialog
106 class MyModelessDialog
: public wxDialog
109 MyModelessDialog(wxWindow
*parent
);
111 void OnButton(wxCommandEvent
& event
);
112 void OnClose(wxCloseEvent
& event
);
115 DECLARE_EVENT_TABLE()
118 // A custom modal dialog
119 class MyModalDialog
: public wxDialog
122 MyModalDialog(wxWindow
*parent
);
124 void OnButton(wxCommandEvent
& event
);
127 wxButton
*m_btnModal
,
131 DECLARE_EVENT_TABLE()
134 #endif // USE_MODAL_PRESENTATION
136 // Define a new frame type
137 class MyFrame
: public wxFrame
140 MyFrame(wxWindow
*parent
, const wxString
& title
);
142 void MessageBox(wxCommandEvent
& event
);
145 void ChooseColour(wxCommandEvent
& event
);
146 #endif // wxUSE_COLOURDLG
149 void ChooseFont(wxCommandEvent
& event
);
150 #endif // wxUSE_FONTDLG
153 void LogDialog(wxCommandEvent
& event
);
154 #endif // wxUSE_LOG_DIALOG
157 void SingleChoice(wxCommandEvent
& event
);
158 void MultiChoice(wxCommandEvent
& event
);
159 #endif // wxUSE_CHOICEDLG
162 void TextEntry(wxCommandEvent
& event
);
163 void PasswordEntry(wxCommandEvent
& event
);
164 #endif // wxUSE_TEXTDLG
167 void NumericEntry(wxCommandEvent
& event
);
168 #endif // wxUSE_NUMBERDLG
171 void FileOpen(wxCommandEvent
& event
);
172 void FileOpen2(wxCommandEvent
& event
);
173 void FilesOpen(wxCommandEvent
& event
);
174 void FileSave(wxCommandEvent
& event
);
175 #endif // wxUSE_FILEDLG
177 #if USE_FILEDLG_GENERIC
178 void FileOpenGeneric(wxCommandEvent
& event
);
179 void FilesOpenGeneric(wxCommandEvent
& event
);
180 void FileSaveGeneric(wxCommandEvent
& event
);
181 #endif // USE_FILEDLG_GENERIC
184 void DirChoose(wxCommandEvent
& event
);
185 void DirChooseNew(wxCommandEvent
& event
);
186 #endif // wxUSE_DIRDLG
188 #if USE_DIRDLG_GENERIC
189 void GenericDirChoose(wxCommandEvent
& event
);
190 #endif // USE_DIRDLG_GENERIC
192 #if wxUSE_STARTUP_TIPS
193 void ShowTip(wxCommandEvent
& event
);
194 #endif // wxUSE_STARTUP_TIPS
196 #if USE_MODAL_PRESENTATION
197 void ModalDlg(wxCommandEvent
& event
);
198 void ModelessDlg(wxCommandEvent
& event
);
199 #endif // USE_MODAL_PRESENTATION
201 #if wxUSE_PROGRESSDLG
202 void ShowProgress(wxCommandEvent
& event
);
203 #endif // wxUSE_PROGRESSDLG
206 void ShowBusyInfo(wxCommandEvent
& event
);
207 #endif // wxUSE_BUSYINFO
209 #if wxUSE_FINDREPLDLG
210 void ShowFindDialog(wxCommandEvent
& event
);
211 void ShowReplaceDialog(wxCommandEvent
& event
);
212 void OnFindDialog(wxFindDialogEvent
& event
);
213 #endif // wxUSE_FINDREPLDLG
215 #if USE_COLOURDLG_GENERIC
216 void ChooseColourGeneric(wxCommandEvent
& event
);
217 #endif // USE_COLOURDLG_GENERIC
219 #if USE_FONTDLG_GENERIC
220 void ChooseFontGeneric(wxCommandEvent
& event
);
221 #endif // USE_FONTDLG_GENERIC
223 void OnExit(wxCommandEvent
& event
);
227 void DoDirChoose(int style
);
228 #endif // wxUSE_DIRDLG
230 #if USE_MODAL_PRESENTATION
231 MyModelessDialog
*m_dialog
;
232 #endif // USE_MODAL_PRESENTATION
234 #if wxUSE_FINDREPLDLG
235 wxFindReplaceData m_findData
;
237 wxFindReplaceDialog
*m_dlgFind
,
239 #endif // wxUSE_FINDREPLDLG
241 wxColourData m_clrData
;
243 DECLARE_EVENT_TABLE()
246 class MyCanvas
: public wxScrolledWindow
249 MyCanvas(wxWindow
*parent
) :
250 wxScrolledWindow(parent
,wxID_ANY
,wxDefaultPosition
,wxDefaultSize
,wxNO_FULL_REPAINT_ON_RESIZE
) { }
252 void OnPaint(wxPaintEvent
& event
);
254 DECLARE_EVENT_TABLE()
261 DIALOGS_CHOOSE_COLOUR
= wxID_HIGHEST
,
262 DIALOGS_CHOOSE_COLOUR_GENERIC
,
264 DIALOGS_CHOOSE_FONT_GENERIC
,
266 DIALOGS_SINGLE_CHOICE
,
267 DIALOGS_MULTI_CHOICE
,
269 DIALOGS_PASSWORD_ENTRY
,
274 DIALOGS_FILE_OPEN_GENERIC
,
275 DIALOGS_FILES_OPEN_GENERIC
,
276 DIALOGS_FILE_SAVE_GENERIC
,
278 DIALOGS_DIRNEW_CHOOSE
,
279 DIALOGS_GENERIC_DIR_CHOOSE
,
285 DIALOGS_MODELESS_BTN
,