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_GENERIC_DIALOGS \
52 (((USE_WXMSW && wxUSE_GENERIC_DIALOGS_IN_MSW) || \
56 #define USE_COLOURDLG_GENERIC (USE_GENERIC_DIALOGS && wxUSE_COLOURDLG)
57 #define USE_DIRDLG_GENERIC (USE_GENERIC_DIALOGS && wxUSE_DIRDLG)
58 #define USE_FILEDLG_GENERIC (USE_GENERIC_DIALOGS && wxUSE_FILEDLG)
59 #define USE_FONTDLG_GENERIC (USE_GENERIC_DIALOGS && wxUSE_FONTDLG)
61 // VZ: what is this for?
62 #define USE_MODAL_PRESENTATION \
70 // Define a new application type
71 class MyApp
: public wxApp
77 wxColour m_canvasTextColour
;
80 #if USE_MODAL_PRESENTATION
82 // A custom modeless dialog
83 class MyModelessDialog
: public wxDialog
86 MyModelessDialog(wxWindow
*parent
);
88 void OnButton(wxCommandEvent
& event
);
89 void OnClose(wxCloseEvent
& event
);
95 // A custom modal dialog
96 class MyModalDialog
: public wxDialog
99 MyModalDialog(wxWindow
*parent
);
101 void OnButton(wxCommandEvent
& event
);
104 wxButton
*m_btnModal
,
108 DECLARE_EVENT_TABLE()
111 #endif // USE_MODAL_PRESENTATION
113 // Define a new frame type
114 class MyFrame
: public wxFrame
117 MyFrame(wxWindow
*parent
, const wxString
& title
);
119 void MessageBox(wxCommandEvent
& event
);
122 void ChooseColour(wxCommandEvent
& event
);
123 #endif // wxUSE_COLOURDLG
126 void ChooseFont(wxCommandEvent
& event
);
127 #endif // wxUSE_FONTDLG
130 void LogDialog(wxCommandEvent
& event
);
131 #endif // wxUSE_LOG_DIALOG
134 void SingleChoice(wxCommandEvent
& event
);
135 void MultiChoice(wxCommandEvent
& event
);
136 #endif // wxUSE_CHOICEDLG
139 void TextEntry(wxCommandEvent
& event
);
140 void PasswordEntry(wxCommandEvent
& event
);
141 #endif // wxUSE_TEXTDLG
144 void NumericEntry(wxCommandEvent
& event
);
145 #endif // wxUSE_NUMBERDLG
148 void FileOpen(wxCommandEvent
& event
);
149 void FileOpen2(wxCommandEvent
& event
);
150 void FilesOpen(wxCommandEvent
& event
);
151 void FileSave(wxCommandEvent
& event
);
152 #endif // wxUSE_FILEDLG
154 #if USE_FILEDLG_GENERIC
155 void FileOpenGeneric(wxCommandEvent
& event
);
156 void FilesOpenGeneric(wxCommandEvent
& event
);
157 void FileSaveGeneric(wxCommandEvent
& event
);
158 #endif // USE_FILEDLG_GENERIC
161 void DirChoose(wxCommandEvent
& event
);
162 void DirChooseNew(wxCommandEvent
& event
);
163 #endif // wxUSE_DIRDLG
165 #if USE_DIRDLG_GENERIC
166 void GenericDirChoose(wxCommandEvent
& event
);
167 #endif // USE_DIRDLG_GENERIC
169 #if wxUSE_STARTUP_TIPS
170 void ShowTip(wxCommandEvent
& event
);
171 #endif // wxUSE_STARTUP_TIPS
173 #if USE_MODAL_PRESENTATION
174 void ModalDlg(wxCommandEvent
& event
);
175 void ModelessDlg(wxCommandEvent
& event
);
176 #endif // USE_MODAL_PRESENTATION
178 #if wxUSE_PROGRESSDLG
179 void ShowProgress(wxCommandEvent
& event
);
180 #endif // wxUSE_PROGRESSDLG
183 void ShowBusyInfo(wxCommandEvent
& event
);
184 #endif // wxUSE_BUSYINFO
186 #if wxUSE_FINDREPLDLG
187 void ShowFindDialog(wxCommandEvent
& event
);
188 void ShowReplaceDialog(wxCommandEvent
& event
);
189 void OnFindDialog(wxFindDialogEvent
& event
);
190 #endif // wxUSE_FINDREPLDLG
192 #if USE_COLOURDLG_GENERIC
193 void ChooseColourGeneric(wxCommandEvent
& event
);
194 #endif // USE_COLOURDLG_GENERIC
196 #if USE_FONTDLG_GENERIC
197 void ChooseFontGeneric(wxCommandEvent
& event
);
198 #endif // USE_FONTDLG_GENERIC
200 void OnExit(wxCommandEvent
& event
);
204 void DoDirChoose(int style
);
205 #endif // wxUSE_DIRDLG
207 #if USE_MODAL_PRESENTATION
208 MyModelessDialog
*m_dialog
;
209 #endif // USE_MODAL_PRESENTATION
211 #if wxUSE_FINDREPLDLG
212 wxFindReplaceData m_findData
;
214 wxFindReplaceDialog
*m_dlgFind
,
216 #endif // wxUSE_FINDREPLDLG
218 wxColourData m_clrData
;
220 DECLARE_EVENT_TABLE()
223 class MyCanvas
: public wxScrolledWindow
226 MyCanvas(wxWindow
*parent
) :
227 wxScrolledWindow(parent
,wxID_ANY
,wxDefaultPosition
,wxDefaultSize
,wxNO_FULL_REPAINT_ON_RESIZE
) { }
229 void OnPaint(wxPaintEvent
& event
);
231 DECLARE_EVENT_TABLE()
238 DIALOGS_CHOOSE_COLOUR
= wxID_HIGHEST
,
239 DIALOGS_CHOOSE_COLOUR_GENERIC
,
241 DIALOGS_CHOOSE_FONT_GENERIC
,
243 DIALOGS_SINGLE_CHOICE
,
244 DIALOGS_MULTI_CHOICE
,
246 DIALOGS_PASSWORD_ENTRY
,
251 DIALOGS_FILE_OPEN_GENERIC
,
252 DIALOGS_FILES_OPEN_GENERIC
,
253 DIALOGS_FILE_SAVE_GENERIC
,
255 DIALOGS_DIRNEW_CHOOSE
,
256 DIALOGS_GENERIC_DIR_CHOOSE
,
262 DIALOGS_MODELESS_BTN
,