Add generic dialogs in non wxUniversal builds. Regenerated makefiles.
[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_FONTDLG_GENERIC \
24 ( \
25 wxUSE_FONTDLG && \
26 ( defined(__WXMSW__) || defined(__WXPM__) ) && \
27 !defined(__WXUNIVERSAL__) \
28 )
29
30 #define USE_DIRDLG_GENERIC \
31 ( \
32 wxUSE_DIRDLG && \
33 ( defined(__WXMSW__) || defined(__WXMAC__) ) && \
34 !defined(__WXUNIVERSAL__) \
35 )
36
37
38 #define USE_MODAL_PRESENTATION 1
39
40 // Define a new application type
41 class MyApp: public wxApp
42 {
43 public:
44 bool OnInit();
45
46 wxFont m_canvasFont;
47 wxColour m_canvasTextColour;
48 };
49
50 // A custom modeless dialog
51 class MyModelessDialog : public wxDialog
52 {
53 public:
54 MyModelessDialog(wxWindow *parent);
55
56 void OnButton(wxCommandEvent& event);
57 void OnClose(wxCloseEvent& event);
58
59 private:
60 DECLARE_EVENT_TABLE()
61 };
62
63 // A custom modal dialog
64 class MyModalDialog : public wxDialog
65 {
66 public:
67 MyModalDialog(wxWindow *parent);
68
69 void OnButton(wxCommandEvent& event);
70
71 private:
72 wxButton *m_btnModal,
73 *m_btnModeless,
74 *m_btnDelete;
75
76 DECLARE_EVENT_TABLE()
77 };
78
79 // Define a new frame type
80 class MyFrame: public wxFrame
81 {
82 public:
83 MyFrame(wxWindow *parent, const wxString& title);
84
85 void MessageBox(wxCommandEvent& event);
86
87 #if wxUSE_COLOURDLG
88 void ChooseColour(wxCommandEvent& event);
89 #endif // wxUSE_COLOURDLG
90
91 #if wxUSE_FONTDLG
92 void ChooseFont(wxCommandEvent& event);
93 #endif // wxUSE_FONTDLG
94
95 #if wxUSE_LOG_DIALOG
96 void LogDialog(wxCommandEvent& event);
97 #endif // wxUSE_LOG_DIALOG
98
99 #if wxUSE_CHOICEDLG
100 void SingleChoice(wxCommandEvent& event);
101 void MultiChoice(wxCommandEvent& event);
102 #endif // wxUSE_CHOICEDLG
103
104 #if wxUSE_TEXTDLG
105 void TextEntry(wxCommandEvent& event);
106 void PasswordEntry(wxCommandEvent& event);
107 #endif // wxUSE_TEXTDLG
108
109 #if wxUSE_NUMBERDLG
110 void NumericEntry(wxCommandEvent& event);
111 #endif // wxUSE_NUMBERDLG
112
113 #if wxUSE_FILEDLG
114 void FileOpen(wxCommandEvent& event);
115 void FileOpen2(wxCommandEvent& event);
116 void FilesOpen(wxCommandEvent& event);
117 void FileSave(wxCommandEvent& event);
118 #endif // wxUSE_FILEDLG
119
120 #if wxUSE_DIRDLG
121 void DirChoose(wxCommandEvent& event);
122 void DirChooseNew(wxCommandEvent& event);
123 #endif // wxUSE_DIRDLG
124
125 #if USE_DIRDLG_GENERIC
126 void GenericDirChoose(wxCommandEvent& event);
127 #endif // USE_DIRDLG_GENERIC
128
129 #if wxUSE_STARTUP_TIPS
130 void ShowTip(wxCommandEvent& event);
131 #endif // wxUSE_STARTUP_TIPS
132
133 #if USE_MODAL_PRESENTATION
134 void ModalDlg(wxCommandEvent& event);
135 void ModelessDlg(wxCommandEvent& event);
136 #endif // USE_MODAL_PRESENTATION
137
138 #if wxUSE_PROGRESSDLG
139 void ShowProgress(wxCommandEvent& event);
140 #endif // wxUSE_PROGRESSDLG
141
142 #if wxUSE_BUSYINFO
143 void ShowBusyInfo(wxCommandEvent& event);
144 #endif // wxUSE_BUSYINFO
145
146 #if wxUSE_FINDREPLDLG
147 void ShowFindDialog(wxCommandEvent& event);
148 void ShowReplaceDialog(wxCommandEvent& event);
149 void OnFindDialog(wxFindDialogEvent& event);
150 #endif // wxUSE_FINDREPLDLG
151
152 #if USE_COLOURDLG_GENERIC
153 void ChooseColourGeneric(wxCommandEvent& event);
154 #endif // USE_COLOURDLG_GENERIC
155
156 #if USE_FONTDLG_GENERIC
157 void ChooseFontGeneric(wxCommandEvent& event);
158 #endif // USE_FONTDLG_GENERIC
159
160 void OnExit(wxCommandEvent& event);
161
162 private:
163 #if wxUSE_DIRDLG
164 void DoDirChoose(int style);
165 #endif // wxUSE_DIRDLG
166
167 #if USE_MODAL_PRESENTATION
168 MyModelessDialog *m_dialog;
169 #endif // USE_MODAL_PRESENTATION
170
171 #if wxUSE_FINDREPLDLG
172 wxFindReplaceData m_findData;
173
174 wxFindReplaceDialog *m_dlgFind,
175 *m_dlgReplace;
176 #endif // wxUSE_FINDREPLDLG
177
178 wxColourData m_clrData;
179
180 DECLARE_EVENT_TABLE()
181 };
182
183 class MyCanvas: public wxScrolledWindow
184 {
185 public:
186 MyCanvas(wxWindow *parent) :
187 wxScrolledWindow(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxNO_FULL_REPAINT_ON_RESIZE) { }
188
189 void OnPaint(wxPaintEvent& event);
190
191 DECLARE_EVENT_TABLE()
192 };
193
194
195 // Menu IDs
196 enum
197 {
198 DIALOGS_CHOOSE_COLOUR = wxID_HIGHEST,
199 DIALOGS_CHOOSE_COLOUR_GENERIC,
200 DIALOGS_CHOOSE_FONT,
201 DIALOGS_CHOOSE_FONT_GENERIC,
202 DIALOGS_MESSAGE_BOX,
203 DIALOGS_SINGLE_CHOICE,
204 DIALOGS_MULTI_CHOICE,
205 DIALOGS_TEXT_ENTRY,
206 DIALOGS_PASSWORD_ENTRY,
207 DIALOGS_FILE_OPEN,
208 DIALOGS_FILE_OPEN2,
209 DIALOGS_FILES_OPEN,
210 DIALOGS_FILE_SAVE,
211 DIALOGS_DIR_CHOOSE,
212 DIALOGS_DIRNEW_CHOOSE,
213 DIALOGS_GENERIC_DIR_CHOOSE,
214 DIALOGS_TIP,
215 DIALOGS_NUM_ENTRY,
216 DIALOGS_LOG_DIALOG,
217 DIALOGS_MODAL,
218 DIALOGS_MODELESS,
219 DIALOGS_MODELESS_BTN,
220 DIALOGS_PROGRESS,
221 DIALOGS_BUSYINFO,
222 DIALOGS_FIND,
223 DIALOGS_REPLACE
224 };
225
226 #endif
227