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 (!USE_WXUNIVERSAL && !USE_DLL)
53 #define USE_COLOURDLG_GENERIC \
54 ((USE_WXMSW || USE_WXMAC) && USE_GENERIC_DIALOGS && wxUSE_COLOURDLG)
55 #define USE_DIRDLG_GENERIC \
56 ((USE_WXMSW || USE_WXMAC) && USE_GENERIC_DIALOGS && wxUSE_DIRDLG)
57 #define USE_FILEDLG_GENERIC \
58 ((USE_WXMSW || USE_WXMAC || USE_WXPM) && USE_GENERIC_DIALOGS && wxUSE_FILEDLG)
59 #define USE_FONTDLG_GENERIC \
60 ((USE_WXMSW || USE_WXPM) && USE_GENERIC_DIALOGS && wxUSE_FONTDLG)
62 // VZ: what is this for?
63 #define USE_MODAL_PRESENTATION \
71 // Define a new application type
72 class MyApp
: public wxApp
78 wxColour m_canvasTextColour
;
81 #if USE_MODAL_PRESENTATION
83 // A custom modeless dialog
84 class MyModelessDialog
: public wxDialog
87 MyModelessDialog(wxWindow
*parent
);
89 void OnButton(wxCommandEvent
& event
);
90 void OnClose(wxCloseEvent
& event
);
96 // A custom modal dialog
97 class MyModalDialog
: public wxDialog
100 MyModalDialog(wxWindow
*parent
);
102 void OnButton(wxCommandEvent
& event
);
105 wxButton
*m_btnModal
,
109 DECLARE_EVENT_TABLE()
112 #endif // USE_MODAL_PRESENTATION
114 // Define a new frame type
115 class MyFrame
: public wxFrame
118 MyFrame(wxWindow
*parent
, const wxString
& title
);
120 void MessageBox(wxCommandEvent
& event
);
123 void ChooseColour(wxCommandEvent
& event
);
124 #endif // wxUSE_COLOURDLG
127 void ChooseFont(wxCommandEvent
& event
);
128 #endif // wxUSE_FONTDLG
131 void LogDialog(wxCommandEvent
& event
);
132 #endif // wxUSE_LOG_DIALOG
135 void SingleChoice(wxCommandEvent
& event
);
136 void MultiChoice(wxCommandEvent
& event
);
137 #endif // wxUSE_CHOICEDLG
140 void TextEntry(wxCommandEvent
& event
);
141 void PasswordEntry(wxCommandEvent
& event
);
142 #endif // wxUSE_TEXTDLG
145 void NumericEntry(wxCommandEvent
& event
);
146 #endif // wxUSE_NUMBERDLG
149 void FileOpen(wxCommandEvent
& event
);
150 void FileOpen2(wxCommandEvent
& event
);
151 void FilesOpen(wxCommandEvent
& event
);
152 void FileSave(wxCommandEvent
& event
);
153 #endif // wxUSE_FILEDLG
155 #if USE_FILEDLG_GENERIC
156 void FileOpenGeneric(wxCommandEvent
& event
);
157 void FilesOpenGeneric(wxCommandEvent
& event
);
158 void FileSaveGeneric(wxCommandEvent
& event
);
159 #endif // USE_FILEDLG_GENERIC
162 void DirChoose(wxCommandEvent
& event
);
163 void DirChooseNew(wxCommandEvent
& event
);
164 #endif // wxUSE_DIRDLG
166 #if USE_DIRDLG_GENERIC
167 void GenericDirChoose(wxCommandEvent
& event
);
168 #endif // USE_DIRDLG_GENERIC
170 #if wxUSE_STARTUP_TIPS
171 void ShowTip(wxCommandEvent
& event
);
172 #endif // wxUSE_STARTUP_TIPS
174 #if USE_MODAL_PRESENTATION
175 void ModalDlg(wxCommandEvent
& event
);
176 void ModelessDlg(wxCommandEvent
& event
);
177 #endif // USE_MODAL_PRESENTATION
179 #if wxUSE_PROGRESSDLG
180 void ShowProgress(wxCommandEvent
& event
);
181 #endif // wxUSE_PROGRESSDLG
184 void ShowBusyInfo(wxCommandEvent
& event
);
185 #endif // wxUSE_BUSYINFO
187 #if wxUSE_FINDREPLDLG
188 void ShowFindDialog(wxCommandEvent
& event
);
189 void ShowReplaceDialog(wxCommandEvent
& event
);
190 void OnFindDialog(wxFindDialogEvent
& event
);
191 #endif // wxUSE_FINDREPLDLG
193 #if USE_COLOURDLG_GENERIC
194 void ChooseColourGeneric(wxCommandEvent
& event
);
195 #endif // USE_COLOURDLG_GENERIC
197 #if USE_FONTDLG_GENERIC
198 void ChooseFontGeneric(wxCommandEvent
& event
);
199 #endif // USE_FONTDLG_GENERIC
201 void OnRequestUserAttention(wxCommandEvent
& event
);
202 void OnExit(wxCommandEvent
& event
);
206 void DoDirChoose(int style
);
207 #endif // wxUSE_DIRDLG
209 #if USE_MODAL_PRESENTATION
210 MyModelessDialog
*m_dialog
;
211 #endif // USE_MODAL_PRESENTATION
213 #if wxUSE_FINDREPLDLG
214 wxFindReplaceData m_findData
;
216 wxFindReplaceDialog
*m_dlgFind
,
218 #endif // wxUSE_FINDREPLDLG
220 wxColourData m_clrData
;
222 DECLARE_EVENT_TABLE()
225 class MyCanvas
: public wxScrolledWindow
228 MyCanvas(wxWindow
*parent
) :
229 wxScrolledWindow(parent
,wxID_ANY
,wxDefaultPosition
,wxDefaultSize
,wxNO_FULL_REPAINT_ON_RESIZE
) { }
231 void OnPaint(wxPaintEvent
& event
);
233 DECLARE_EVENT_TABLE()
240 DIALOGS_CHOOSE_COLOUR
= wxID_HIGHEST
,
241 DIALOGS_CHOOSE_COLOUR_GENERIC
,
243 DIALOGS_CHOOSE_FONT_GENERIC
,
245 DIALOGS_SINGLE_CHOICE
,
246 DIALOGS_MULTI_CHOICE
,
248 DIALOGS_PASSWORD_ENTRY
,
253 DIALOGS_FILE_OPEN_GENERIC
,
254 DIALOGS_FILES_OPEN_GENERIC
,
255 DIALOGS_FILE_SAVE_GENERIC
,
257 DIALOGS_DIRNEW_CHOOSE
,
258 DIALOGS_GENERIC_DIR_CHOOSE
,
264 DIALOGS_MODELESS_BTN
,