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 #define USE_COLOURDLG_GENERIC \
18 ( defined(__WXMSW__) || defined(__WXMAC__) ) && \
19 !defined(__WXUNIVERSAL__) \
23 #define USE_DIRDLG_GENERIC \
26 ( defined(__WXMSW__) || defined(__WXMAC__) ) && \
27 !defined(__WXUNIVERSAL__) \
30 #define USE_FILEDLG_GENERIC \
33 ( defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXPM__) ) && \
34 !defined(__WXUNIVERSAL__) \
37 #define USE_FONTDLG_GENERIC \
40 ( defined(__WXMSW__) || defined(__WXPM__) ) && \
41 !defined(__WXUNIVERSAL__) \
45 #define USE_MODAL_PRESENTATION \
47 defined(__WXMSW__) || \
48 defined(__WXMAC__) || \
49 defined(__WXGTK__) || \
53 // Define a new application type
54 class MyApp
: public wxApp
60 wxColour m_canvasTextColour
;
63 #if USE_MODAL_PRESENTATION
65 // A custom modeless dialog
66 class MyModelessDialog
: public wxDialog
69 MyModelessDialog(wxWindow
*parent
);
71 void OnButton(wxCommandEvent
& event
);
72 void OnClose(wxCloseEvent
& event
);
78 // A custom modal dialog
79 class MyModalDialog
: public wxDialog
82 MyModalDialog(wxWindow
*parent
);
84 void OnButton(wxCommandEvent
& event
);
94 #endif // USE_MODAL_PRESENTATION
96 // Define a new frame type
97 class MyFrame
: public wxFrame
100 MyFrame(wxWindow
*parent
, const wxString
& title
);
102 void MessageBox(wxCommandEvent
& event
);
105 void ChooseColour(wxCommandEvent
& event
);
106 #endif // wxUSE_COLOURDLG
109 void ChooseFont(wxCommandEvent
& event
);
110 #endif // wxUSE_FONTDLG
113 void LogDialog(wxCommandEvent
& event
);
114 #endif // wxUSE_LOG_DIALOG
117 void SingleChoice(wxCommandEvent
& event
);
118 void MultiChoice(wxCommandEvent
& event
);
119 #endif // wxUSE_CHOICEDLG
122 void TextEntry(wxCommandEvent
& event
);
123 void PasswordEntry(wxCommandEvent
& event
);
124 #endif // wxUSE_TEXTDLG
127 void NumericEntry(wxCommandEvent
& event
);
128 #endif // wxUSE_NUMBERDLG
131 void FileOpen(wxCommandEvent
& event
);
132 void FileOpen2(wxCommandEvent
& event
);
133 void FilesOpen(wxCommandEvent
& event
);
134 void FileSave(wxCommandEvent
& event
);
135 #endif // wxUSE_FILEDLG
137 #if USE_FILEDLG_GENERIC
138 void FileOpenGeneric(wxCommandEvent
& event
);
139 void FilesOpenGeneric(wxCommandEvent
& event
);
140 void FileSaveGeneric(wxCommandEvent
& event
);
141 #endif // USE_FILEDLG_GENERIC
144 void DirChoose(wxCommandEvent
& event
);
145 void DirChooseNew(wxCommandEvent
& event
);
146 #endif // wxUSE_DIRDLG
148 #if USE_DIRDLG_GENERIC
149 void GenericDirChoose(wxCommandEvent
& event
);
150 #endif // USE_DIRDLG_GENERIC
152 #if wxUSE_STARTUP_TIPS
153 void ShowTip(wxCommandEvent
& event
);
154 #endif // wxUSE_STARTUP_TIPS
156 #if USE_MODAL_PRESENTATION
157 void ModalDlg(wxCommandEvent
& event
);
158 void ModelessDlg(wxCommandEvent
& event
);
159 #endif // USE_MODAL_PRESENTATION
161 #if wxUSE_PROGRESSDLG
162 void ShowProgress(wxCommandEvent
& event
);
163 #endif // wxUSE_PROGRESSDLG
166 void ShowBusyInfo(wxCommandEvent
& event
);
167 #endif // wxUSE_BUSYINFO
169 #if wxUSE_FINDREPLDLG
170 void ShowFindDialog(wxCommandEvent
& event
);
171 void ShowReplaceDialog(wxCommandEvent
& event
);
172 void OnFindDialog(wxFindDialogEvent
& event
);
173 #endif // wxUSE_FINDREPLDLG
175 #if USE_COLOURDLG_GENERIC
176 void ChooseColourGeneric(wxCommandEvent
& event
);
177 #endif // USE_COLOURDLG_GENERIC
179 #if USE_FONTDLG_GENERIC
180 void ChooseFontGeneric(wxCommandEvent
& event
);
181 #endif // USE_FONTDLG_GENERIC
183 void OnExit(wxCommandEvent
& event
);
187 void DoDirChoose(int style
);
188 #endif // wxUSE_DIRDLG
190 #if USE_MODAL_PRESENTATION
191 MyModelessDialog
*m_dialog
;
192 #endif // USE_MODAL_PRESENTATION
194 #if wxUSE_FINDREPLDLG
195 wxFindReplaceData m_findData
;
197 wxFindReplaceDialog
*m_dlgFind
,
199 #endif // wxUSE_FINDREPLDLG
201 wxColourData m_clrData
;
203 DECLARE_EVENT_TABLE()
206 class MyCanvas
: public wxScrolledWindow
209 MyCanvas(wxWindow
*parent
) :
210 wxScrolledWindow(parent
,wxID_ANY
,wxDefaultPosition
,wxDefaultSize
,wxNO_FULL_REPAINT_ON_RESIZE
) { }
212 void OnPaint(wxPaintEvent
& event
);
214 DECLARE_EVENT_TABLE()
221 DIALOGS_CHOOSE_COLOUR
= wxID_HIGHEST
,
222 DIALOGS_CHOOSE_COLOUR_GENERIC
,
224 DIALOGS_CHOOSE_FONT_GENERIC
,
226 DIALOGS_SINGLE_CHOICE
,
227 DIALOGS_MULTI_CHOICE
,
229 DIALOGS_PASSWORD_ENTRY
,
234 DIALOGS_FILE_OPEN_GENERIC
,
235 DIALOGS_FILES_OPEN_GENERIC
,
236 DIALOGS_FILE_SAVE_GENERIC
,
238 DIALOGS_DIRNEW_CHOOSE
,
239 DIALOGS_GENERIC_DIR_CHOOSE
,
245 DIALOGS_MODELESS_BTN
,