show dir selection dialog both with and without new dir button
[wxWidgets.git] / samples / dialogs / dialogs.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: dialogs.h
3 // Purpose: Common dialogs demo
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 04/01/98
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __DIALOGSH__
13 #define __DIALOGSH__
14
15 // Define a new application type
16 class MyApp: public wxApp
17 {
18 public:
19 bool OnInit();
20
21 wxFont m_canvasFont;
22 wxColour m_canvasTextColour;
23 };
24
25 // A custom modeless dialog
26 class MyModelessDialog : public wxDialog
27 {
28 public:
29 MyModelessDialog(wxWindow *parent);
30
31 void OnButton(wxCommandEvent& event);
32 void OnClose(wxCloseEvent& event);
33
34 private:
35 DECLARE_EVENT_TABLE()
36 };
37
38 // A custom modal dialog
39 class MyModalDialog : public wxDialog
40 {
41 public:
42 MyModalDialog(wxWindow *parent);
43
44 void OnButton(wxCommandEvent& event);
45
46 private:
47 wxButton *m_btnFocused;
48 wxButton *m_btnDelete;
49
50 DECLARE_EVENT_TABLE()
51 };
52
53 // Define a new frame type
54 class MyFrame: public wxFrame
55 {
56 public:
57 MyFrame(wxWindow *parent, const wxString& title,
58 const wxPoint& pos, const wxSize& size);
59
60 void ChooseColour(wxCommandEvent& event);
61 void ChooseFont(wxCommandEvent& event);
62 void LogDialog(wxCommandEvent& event);
63 void MessageBox(wxCommandEvent& event);
64 void SingleChoice(wxCommandEvent& event);
65 void MultiChoice(wxCommandEvent& event);
66 void TextEntry(wxCommandEvent& event);
67 void PasswordEntry(wxCommandEvent& event);
68 void NumericEntry(wxCommandEvent& event);
69 void FileOpen(wxCommandEvent& event);
70 void FileOpen2(wxCommandEvent& event);
71 void FilesOpen(wxCommandEvent& event);
72 void FileSave(wxCommandEvent& event);
73 void DirChoose(wxCommandEvent& event);
74 void DirChooseNew(wxCommandEvent& event);
75 void GenericDirChoose(wxCommandEvent& event);
76 void ShowTip(wxCommandEvent& event);
77 void ModalDlg(wxCommandEvent& event);
78 void ModelessDlg(wxCommandEvent& event);
79 #if wxUSE_PROGRESSDLG
80 void ShowProgress(wxCommandEvent& event);
81 #endif // wxUSE_PROGRESSDLG
82 #if wxUSE_BUSYINFO
83 void ShowBusyInfo(wxCommandEvent& event);
84 #endif // wxUSE_BUSYINFO
85 #if wxUSE_FINDREPLDLG
86 void ShowFindDialog(wxCommandEvent& event);
87 void ShowReplaceDialog(wxCommandEvent& event);
88
89 void OnFindDialog(wxFindDialogEvent& event);
90 #endif // wxUSE_FINDREPLDLG
91
92 #if !defined(__WXMSW__) || wxTEST_GENERIC_DIALOGS_IN_MSW
93 void ChooseColourGeneric(wxCommandEvent& event);
94 void ChooseFontGeneric(wxCommandEvent& event);
95 #endif
96
97 void OnExit(wxCommandEvent& event);
98
99 private:
100 void DoDirChoose(int style);
101
102 MyModelessDialog *m_dialog;
103
104 #if wxUSE_FINDREPLDLG
105 wxFindReplaceData m_findData;
106
107 wxFindReplaceDialog *m_dlgFind,
108 *m_dlgReplace;
109 #endif // wxUSE_FINDREPLDLG
110
111 DECLARE_EVENT_TABLE()
112 };
113
114 class MyCanvas: public wxScrolledWindow
115 {
116 public:
117 MyCanvas(wxWindow *parent) :
118 wxScrolledWindow(parent,-1,wxDefaultPosition,wxDefaultSize,wxNO_FULL_REPAINT_ON_RESIZE) { }
119
120 void OnPaint(wxPaintEvent& event);
121
122 DECLARE_EVENT_TABLE()
123 };
124
125
126 // Menu IDs
127 enum
128 {
129 DIALOGS_CHOOSE_COLOUR = 1,
130 DIALOGS_CHOOSE_COLOUR_GENERIC,
131 DIALOGS_CHOOSE_FONT,
132 DIALOGS_CHOOSE_FONT_GENERIC,
133 DIALOGS_MESSAGE_BOX,
134 DIALOGS_SINGLE_CHOICE,
135 DIALOGS_MULTI_CHOICE,
136 DIALOGS_TEXT_ENTRY,
137 DIALOGS_PASSWORD_ENTRY,
138 DIALOGS_FILE_OPEN,
139 DIALOGS_FILE_OPEN2,
140 DIALOGS_FILES_OPEN,
141 DIALOGS_FILE_SAVE,
142 DIALOGS_DIR_CHOOSE,
143 DIALOGS_DIRNEW_CHOOSE,
144 DIALOGS_GENERIC_DIR_CHOOSE,
145 DIALOGS_TIP,
146 DIALOGS_NUM_ENTRY,
147 DIALOGS_LOG_DIALOG,
148 DIALOGS_MODAL,
149 DIALOGS_MODELESS,
150 DIALOGS_MODELESS_BTN,
151 DIALOGS_PROGRESS,
152 DIALOGS_BUSYINFO,
153 DIALOGS_FIND,
154 DIALOGS_REPLACE
155 };
156
157 #endif
158