]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // Name: guiframe.cpp | |
3 | // Purpose: Implement the Application Frame | |
4 | // Author: Utensil Candel (UtensilCandel@@gmail.com) | |
5 | // RCS-ID: $Id$ | |
6 | // Licence: wxWindows license | |
7 | ///////////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | // For compilers that support precompilation, includes "wx/wx.h". | |
10 | #include "wx/wxprec.h" | |
11 | ||
12 | #ifdef __BORLANDC__ | |
13 | #pragma hdrstop | |
14 | #endif | |
15 | ||
16 | // for all others, include the necessary headers wxWidgets headers) | |
17 | #ifndef WX_PRECOMP | |
18 | #include "wx/wx.h" | |
19 | #endif | |
20 | ||
21 | #include "guiframe.h" | |
22 | ||
23 | #include "bitmaps/play.xpm" | |
24 | #include "bitmaps/stop.xpm" | |
25 | ||
26 | ||
27 | /////////////////////////////////////////////////////////////////////////// | |
28 | ||
29 | GUIFrame::GUIFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) | |
30 | { | |
31 | this->SetSizeHints( wxDefaultSize, wxDefaultSize ); | |
32 | ||
33 | mbar = new wxMenuBar( 0 ); | |
34 | fileMenu = new wxMenu(); | |
35 | wxMenuItem* m_menuSeeScr; | |
36 | m_menuSeeScr = new wxMenuItem( fileMenu, wxID_ZOOM_IN, wxString( _("&Open screenshots folder...") ) + wxT('\t') + wxT("Ctrl+O"), _("Opens the directory where the screenshots are saved."), wxITEM_NORMAL ); | |
37 | fileMenu->Append( m_menuSeeScr ); | |
38 | ||
39 | fileMenu->AppendSeparator(); | |
40 | ||
41 | wxMenuItem* m_menuFileQuit; | |
42 | m_menuFileQuit = new wxMenuItem( fileMenu, wxID_EXIT, wxString( _("&Quit") ) + wxT('\t') + wxT("Alt+F4"), _("Quits the application."), wxITEM_NORMAL ); | |
43 | fileMenu->Append( m_menuFileQuit ); | |
44 | ||
45 | mbar->Append( fileMenu, _("&File") ); | |
46 | ||
47 | captureMenu = new wxMenu(); | |
48 | wxMenuItem* m_menuCapFullScreen; | |
49 | m_menuCapFullScreen = new wxMenuItem( captureMenu, idMenuCapFullScreen, wxString( _("&Full Screen") ) + wxT('\t') + wxT("Ctrl+Alt+F"), _("Takes a screenshot of the entire screen."), wxITEM_NORMAL ); | |
50 | captureMenu->Append( m_menuCapFullScreen ); | |
51 | ||
52 | m_menuCapRect = new wxMenuItem( captureMenu, idMenuCapRect, wxString( _("Regions<Begin>") ) + wxT('\t') + wxT("Ctrl+Alt+R"), _("Manually specify rectangular regions for the screenshots."), wxITEM_NORMAL ); | |
53 | captureMenu->Append( m_menuCapRect ); | |
54 | ||
55 | m_menuEndCapRect = new wxMenuItem( captureMenu, idMenuEndCapRect, wxString( _("Regions<End>") ) + wxT('\t') + wxT("Ctrl+Alt+E"), _("Stop manually generating screenshots."), wxITEM_NORMAL ); | |
56 | captureMenu->Append( m_menuEndCapRect ); | |
57 | m_menuEndCapRect->Enable( false ); | |
58 | ||
59 | wxMenuItem* m_menuCapAll; | |
60 | m_menuCapAll = new wxMenuItem( captureMenu, idMenuCapAll, wxString( _("Capture All") ) + wxT('\t') + wxT("Ctrl+Alt+A"), _("Takes screenshots for all controls automatically."), wxITEM_NORMAL ); | |
61 | captureMenu->Append( m_menuCapAll ); | |
62 | ||
63 | mbar->Append( captureMenu, _("&Capture") ); | |
64 | ||
65 | helpMenu = new wxMenu(); | |
66 | wxMenuItem* m_menuHelpAbout; | |
67 | m_menuHelpAbout = new wxMenuItem( helpMenu, wxID_ABOUT, wxString( _("&About...") ) + wxT('\t') + wxT("F1"), _("Shows info about this application."), wxITEM_NORMAL ); | |
68 | helpMenu->Append( m_menuHelpAbout ); | |
69 | ||
70 | mbar->Append( helpMenu, _("&Help") ); | |
71 | ||
72 | this->SetMenuBar( mbar ); | |
73 | ||
74 | wxBoxSizer* bSizer0; | |
75 | bSizer0 = new wxBoxSizer( wxVERTICAL ); | |
76 | ||
77 | m_notebook1 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); | |
78 | m_panel1 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); | |
79 | wxFlexGridSizer* fgSizer1; | |
80 | fgSizer1 = new wxFlexGridSizer( 5, 2, 0, 0 ); | |
81 | fgSizer1->SetFlexibleDirection( wxBOTH ); | |
82 | fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE ); | |
83 | ||
84 | m_button1 = new wxButton( m_panel1, wxID_ANY, _("wxButton"), wxDefaultPosition, wxDefaultSize, 0 ); | |
85 | fgSizer1->Add( m_button1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
86 | ||
87 | m_staticText1 = new wxStaticText( m_panel1, wxID_ANY, _("wxStaticText"), wxDefaultPosition, wxDefaultSize, 0 ); | |
88 | m_staticText1->Wrap( -1 ); | |
89 | fgSizer1->Add( m_staticText1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
90 | ||
91 | m_checkBox1 = new wxCheckBox( m_panel1, wxID_ANY, _("Checked"), wxDefaultPosition, wxDefaultSize, 0 ); | |
92 | m_checkBox1->SetValue(true); | |
93 | ||
94 | m_checkBox1->SetToolTip( _("wxCheckBox") ); | |
95 | ||
96 | fgSizer1->Add( m_checkBox1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
97 | ||
98 | m_checkBox2 = new wxCheckBox( m_panel1, wxID_ANY, _("Unchecked"), wxDefaultPosition, wxDefaultSize, 0 ); | |
99 | ||
100 | m_checkBox2->SetToolTip( _("wxCheckBox") ); | |
101 | ||
102 | fgSizer1->Add( m_checkBox2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 20 ); | |
103 | ||
104 | m_radioBtn1 = new wxRadioButton( m_panel1, wxID_ANY, _("Checked"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); | |
105 | m_radioBtn1->SetValue( true ); | |
106 | m_radioBtn1->SetToolTip( _("wxRadioButton") ); | |
107 | ||
108 | fgSizer1->Add( m_radioBtn1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
109 | ||
110 | m_radioBtn2 = new wxRadioButton( m_panel1, wxID_ANY, _("Unchecked"), wxDefaultPosition, wxDefaultSize, 0 ); | |
111 | m_radioBtn2->SetToolTip( _("wxRadioButton") ); | |
112 | ||
113 | fgSizer1->Add( m_radioBtn2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
114 | ||
115 | m_bpButton1 = new wxBitmapButton( m_panel1, wxID_ANY, wxBitmap( wxT("bitmaps/wxwin32x32.png"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); | |
116 | m_bpButton1->SetToolTip( _("wxBitmapButton") ); | |
117 | ||
118 | m_bpButton1->SetToolTip( _("wxBitmapButton") ); | |
119 | ||
120 | fgSizer1->Add( m_bpButton1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
121 | ||
122 | m_bitmap1 = new wxStaticBitmap( m_panel1, wxID_ANY, wxBitmap( wxT("bitmaps/wxwin32x32.png"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 ); | |
123 | m_bitmap1->SetToolTip( _("wxStaticBitmap") ); | |
124 | ||
125 | fgSizer1->Add( m_bitmap1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
126 | ||
127 | m_gauge1 = new wxGauge( m_panel1, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL, wxDefaultValidator, wxT("_Gauge") ); | |
128 | m_gauge1->SetValue( 50 ); | |
129 | m_gauge1->SetToolTip( _("wxGauge") ); | |
130 | ||
131 | fgSizer1->Add( m_gauge1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 ); | |
132 | ||
133 | m_slider1 = new wxSlider( m_panel1, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL ); | |
134 | m_slider1->SetToolTip( _("wxSlider") ); | |
135 | ||
136 | fgSizer1->Add( m_slider1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 ); | |
137 | ||
138 | m_toggleBtn1 = new wxToggleButton( m_panel1, wxID_ANY, _("Untoggled"), wxDefaultPosition, wxDefaultSize, 0 ); | |
139 | m_toggleBtn1->SetToolTip( _("wxToggleButton") ); | |
140 | ||
141 | fgSizer1->Add( m_toggleBtn1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
142 | ||
143 | m_toggleBtn2 = new wxToggleButton( m_panel1, wxID_ANY, _("Toggled"), wxDefaultPosition, wxDefaultSize, 0 ); | |
144 | m_toggleBtn2->SetValue( true ); | |
145 | m_toggleBtn2->SetToolTip( _("wxToggleButton") ); | |
146 | ||
147 | fgSizer1->Add( m_toggleBtn2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 20 ); | |
148 | ||
149 | m_hyperlink1 = new wxHyperlinkCtrl( m_panel1, wxID_ANY, _("www.wxwidgets.org"), wxT("http://www.wxwidgets.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ); | |
150 | m_hyperlink1->SetToolTip( _("wxHyperlinkCtrl") ); | |
151 | ||
152 | fgSizer1->Add( m_hyperlink1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 20 ); | |
153 | ||
154 | m_spinCtrl1 = new wxSpinCtrl( m_panel1, wxID_ANY, wxT("5"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0 ); | |
155 | m_spinCtrl1->SetToolTip( _("wxSpinCtrl") ); | |
156 | ||
157 | fgSizer1->Add( m_spinCtrl1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
158 | ||
159 | m_spinBtn1 = new wxSpinButton( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); | |
160 | m_spinBtn1->SetToolTip( _("wxSpinButton") ); | |
161 | ||
162 | fgSizer1->Add( m_spinBtn1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
163 | ||
164 | m_scrollBar1 = new wxScrollBar( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL ); | |
165 | m_scrollBar1->SetToolTip( _("wxScrollBar") ); | |
166 | ||
167 | fgSizer1->Add( m_scrollBar1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 ); | |
168 | ||
169 | m_panel1->SetSizer( fgSizer1 ); | |
170 | m_panel1->Layout(); | |
171 | fgSizer1->Fit( m_panel1 ); | |
172 | m_notebook1->AddPage( m_panel1, _("Tiny Controls"), true ); | |
173 | m_panel2 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); | |
174 | wxFlexGridSizer* fgSizer2; | |
175 | fgSizer2 = new wxFlexGridSizer( 5, 2, 0, 0 ); | |
176 | fgSizer2->SetFlexibleDirection( wxBOTH ); | |
177 | fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); | |
178 | ||
179 | wxString m_checkList1Choices[] = { _("wxCheckListBox"), _("Item1"), _("Item2") }; | |
180 | int m_checkList1NChoices = sizeof( m_checkList1Choices ) / sizeof( wxString ); | |
181 | m_checkList1 = new wxCheckListBox( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_checkList1NChoices, m_checkList1Choices, 0 ); | |
182 | fgSizer2->Add( m_checkList1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
183 | ||
184 | m_listBox1 = new wxListBox( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); | |
185 | m_listBox1->Append( _("wxListBox") ); | |
186 | m_listBox1->Append( _("Item1") ); | |
187 | m_listBox1->Append( _("Item2") ); | |
188 | fgSizer2->Add( m_listBox1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
189 | ||
190 | wxString m_radioBox1Choices[] = { _("Item1"), _("Item2") }; | |
191 | int m_radioBox1NChoices = sizeof( m_radioBox1Choices ) / sizeof( wxString ); | |
192 | m_radioBox1 = new wxRadioBox( m_panel2, wxID_ANY, _("wxRadioBox"), wxDefaultPosition, wxDefaultSize, m_radioBox1NChoices, m_radioBox1Choices, 1, wxRA_SPECIFY_COLS ); | |
193 | m_radioBox1->SetSelection( 0 ); | |
194 | fgSizer2->Add( m_radioBox1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
195 | ||
196 | m_staticBox1 = new wxStaticBox(m_panel2,wxID_ANY, _("wxStaticBox"), wxDefaultPosition, wxDefaultSize, 0, _("_StaticBox")); | |
197 | ||
198 | ||
199 | fgSizer2->Add( m_staticBox1, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 20 ); | |
200 | ||
201 | m_treeCtrl1 = new wxTreeCtrl( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE|wxSUNKEN_BORDER ); | |
202 | fgSizer2->Add( m_treeCtrl1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
203 | ||
204 | m_listCtrl1 = new wxListCtrl( m_panel2, wxID_ANY, wxDefaultPosition, wxSize(220,120), wxLC_REPORT|wxSUNKEN_BORDER ); | |
205 | m_listCtrl1->SetToolTip( _("wxListCtrl") ); | |
206 | ||
207 | fgSizer2->Add( m_listCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 ); | |
208 | ||
209 | m_animationCtrl1 = new wxAnimationCtrl(m_panel2, wxID_ANY); | |
210 | m_animationCtrl1->SetToolTip(_("wxAnimationCtrl")); | |
211 | if (m_animationCtrl1->LoadFile(wxT("bitmaps/throbber.gif"))) | |
212 | m_animationCtrl1->Play(); | |
213 | fgSizer2->Add( m_animationCtrl1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
214 | ||
215 | m_collPane1 = new wxCollapsiblePane(m_panel2, -1, wxT("Collapsed")); | |
216 | wxWindow *win = m_collPane1->GetPane(); | |
217 | m_collPane1->SetToolTip(_("wxCollapsiblePane")); | |
218 | ||
219 | wxBoxSizer * collbSizer = new wxBoxSizer(wxVERTICAL); | |
220 | wxStaticText* m_collSText = new wxStaticText(win, -1, wxT("You can place")); | |
221 | wxButton* m_collBut = new wxButton(win, -1, wxT("anything")); | |
222 | wxTextCtrl* m_collText = new wxTextCtrl(win, -1, wxT("inside a wxCollapsiblePane")); | |
223 | collbSizer->Add( m_collSText, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 ); | |
224 | collbSizer->Add( m_collBut, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 ); | |
225 | collbSizer->Add( m_collText, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 ); | |
226 | win->SetSizer(collbSizer); | |
227 | fgSizer2->Add( m_collPane1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); | |
228 | ||
229 | m_collPane2 = new wxCollapsiblePane(m_panel2, -1, wxT("Expanded")); | |
230 | wxWindow *win2 = m_collPane2->GetPane(); | |
231 | m_collPane2->SetToolTip(_("wxCollapsiblePane")); | |
232 | ||
233 | wxBoxSizer * collbSizer2 = new wxBoxSizer(wxVERTICAL); | |
234 | wxStaticText* m_collSText2 = new wxStaticText(win2, -1, wxT("You can place")); | |
235 | wxButton* m_collBut2 = new wxButton(win2, -1, wxT("anything")); | |
236 | wxTextCtrl* m_collText2 = new wxTextCtrl(win2, -1, wxT("inside a wxCollapsiblePane")); | |
237 | collbSizer2->Add( m_collSText2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 ); | |
238 | collbSizer2->Add( m_collBut2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 ); | |
239 | collbSizer2->Add( m_collText2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 ); | |
240 | win2->SetSizer(collbSizer2); | |
241 | ||
242 | m_collPane2->Expand(); | |
243 | fgSizer2->Add( m_collPane2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); | |
244 | ||
245 | m_panel2->SetSizer( fgSizer2 ); | |
246 | m_panel2->Layout(); | |
247 | fgSizer2->Fit( m_panel2 ); | |
248 | m_notebook1->AddPage( m_panel2, _("Multiple choice Controls"), false ); | |
249 | m_panel3 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); | |
250 | wxBoxSizer* bSizer2; | |
251 | bSizer2 = new wxBoxSizer( wxVERTICAL ); | |
252 | ||
253 | m_textCtrl1 = new wxTextCtrl( m_panel3, wxID_ANY, _("Single-line"), wxDefaultPosition, wxDefaultSize, 0 ); | |
254 | m_textCtrl1->SetToolTip( _("wxTextCtrl") ); | |
255 | ||
256 | bSizer2->Add( m_textCtrl1, 0, wxTOP|wxRIGHT|wxLEFT, 20 ); | |
257 | ||
258 | ||
259 | bSizer2->Add( 0, 10, 0, 0, 5 ); | |
260 | ||
261 | m_textCtrl2 = new wxTextCtrl( m_panel3, wxID_ANY, _("Multi-line\nLine1\nLine2\n"), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE ); | |
262 | m_textCtrl2->SetToolTip( _("wxTextCtrl") ); | |
263 | ||
264 | bSizer2->Add( m_textCtrl2, 0, wxBOTTOM|wxRIGHT|wxLEFT, 20 ); | |
265 | ||
266 | m_richText1 = new wxRichTextCtrl( m_panel3, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS ); | |
267 | m_richText1->SetToolTip( _("wxRichTextCtrl") ); | |
268 | m_richText1->SetMinSize( wxSize( 200,200 ) ); | |
269 | ||
270 | bSizer2->Add( m_richText1, 0, wxALL, 20 ); | |
271 | ||
272 | m_panel3->SetSizer( bSizer2 ); | |
273 | m_panel3->Layout(); | |
274 | bSizer2->Fit( m_panel3 ); | |
275 | m_notebook1->AddPage( m_panel3, _("[Rich]Text Controls"), false ); | |
276 | m_panel4 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); | |
277 | wxFlexGridSizer* fgSizer5; | |
278 | fgSizer5 = new wxFlexGridSizer( 2, 2, 10, 10 ); | |
279 | fgSizer5->SetFlexibleDirection( wxBOTH ); | |
280 | fgSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); | |
281 | ||
282 | m_colourPicker1 = new wxColourPickerCtrl( m_panel4, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE ); | |
283 | m_colourPicker1->SetToolTip( _("wxColourPickerCtrl") ); | |
284 | ||
285 | fgSizer5->Add( m_colourPicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
286 | ||
287 | m_fontPicker1 = new wxFontPickerCtrl( m_panel4, wxID_ANY, wxNullFont, wxDefaultPosition, wxDefaultSize, wxFNTP_DEFAULT_STYLE ); | |
288 | m_fontPicker1->SetMaxPointSize( 100 ); | |
289 | m_fontPicker1->SetToolTip( _("wxFontPickerCtrl") ); | |
290 | ||
291 | fgSizer5->Add( m_fontPicker1, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 20 ); | |
292 | ||
293 | m_filePicker1 = new wxFilePickerCtrl( m_panel4, wxID_ANY, wxEmptyString, _("Select a file"), wxT("*.*"), wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE, wxDefaultValidator, wxT("_FilePickerCtrl") ); | |
294 | m_filePicker1->SetToolTip( _("wxFilePickerCtrl") ); | |
295 | ||
296 | fgSizer5->Add( m_filePicker1, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 20 ); | |
297 | ||
298 | ||
299 | fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 ); | |
300 | ||
301 | m_calendar1 = new wxCalendarCtrl( m_panel4, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxCAL_SHOW_HOLIDAYS ); | |
302 | m_calendar1->SetToolTip( _("wxCalendarCtrl") ); | |
303 | ||
304 | fgSizer5->Add( m_calendar1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
305 | ||
306 | m_datePicker1 = new wxDatePickerCtrl( m_panel4, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxDP_DEFAULT ); | |
307 | m_datePicker1->SetToolTip( _("wxDatePickerCtrl") ); | |
308 | ||
309 | fgSizer5->Add( m_datePicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
310 | ||
311 | m_genericDirCtrl1 = new wxGenericDirCtrl( m_panel4, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER, wxEmptyString, 0, wxT("_GenericDirCtrl") ); | |
312 | ||
313 | m_genericDirCtrl1->ShowHidden( false ); | |
314 | m_genericDirCtrl1->SetToolTip( _("wxGenericDirCtrl") ); | |
315 | m_genericDirCtrl1->SetMinSize( wxSize( -1,150 ) ); | |
316 | ||
317 | fgSizer5->Add( m_genericDirCtrl1, 1, wxEXPAND|wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
318 | ||
319 | m_dirPicker1 = new wxDirPickerCtrl( m_panel4, wxID_ANY, wxEmptyString, _("Select a folder"), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE, wxDefaultValidator, wxT("_DirPickerCtrl") ); | |
320 | m_dirPicker1->SetToolTip( _("wxDirPickerCtrl") ); | |
321 | ||
322 | fgSizer5->Add( m_dirPicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
323 | ||
324 | m_panel4->SetSizer( fgSizer5 ); | |
325 | m_panel4->Layout(); | |
326 | fgSizer5->Fit( m_panel4 ); | |
327 | m_notebook1->AddPage( m_panel4, _("Picker Controls"), false ); | |
328 | m_panel5 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); | |
329 | wxFlexGridSizer* fgSizer4; | |
330 | fgSizer4 = new wxFlexGridSizer( 2, 2, 0, 0 ); | |
331 | fgSizer4->SetFlexibleDirection( wxBOTH ); | |
332 | fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); | |
333 | ||
334 | wxString m_choice1Choices[] = { _("wxChoice"), _("Item1"), _("Item2"), _("Item3"), _("Item4") }; | |
335 | int m_choice1NChoices = sizeof( m_choice1Choices ) / sizeof( wxString ); | |
336 | m_choice1 = new wxChoice( m_panel5, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choice1NChoices, m_choice1Choices, 0 ); | |
337 | m_choice1->SetSelection( 0 ); | |
338 | fgSizer4->Add( m_choice1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
339 | ||
340 | m_comboBox1 = new wxComboBox( m_panel5, wxID_ANY, _("wxComboBox"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); | |
341 | m_comboBox1->Append( _("wxComboBox") ); | |
342 | m_comboBox1->Append( _("Item1") ); | |
343 | m_comboBox1->Append( _("Item2") ); | |
344 | m_comboBox1->Append( _("Item3") ); | |
345 | m_comboBox1->Append( _("Item4") ); | |
346 | fgSizer4->Add( m_comboBox1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
347 | ||
348 | ||
349 | fgSizer4->Add( 0, 120, 1, wxEXPAND, 5 ); | |
350 | ||
351 | ||
352 | fgSizer4->Add( 0, 120, 1, wxEXPAND, 5 ); | |
353 | ||
354 | m_bmpComboBox1 = new wxBitmapComboBox(m_panel5, wxID_ANY,_("Item1")); | |
355 | m_bmpComboBox1->Append(_("Item1"), wxBitmap(_T("bitmaps/bell.png"),wxBITMAP_TYPE_PNG)); | |
356 | m_bmpComboBox1->Append(_("Item2"), wxBitmap(_T("bitmaps/sound.png"),wxBITMAP_TYPE_PNG)); | |
357 | m_bmpComboBox1->Append(_("Item3"), wxBitmap(_T("bitmaps/bell.png"),wxBITMAP_TYPE_PNG)); | |
358 | m_bmpComboBox1->Append(_("Item4"), wxBitmap(_T("bitmaps/sound.png"),wxBITMAP_TYPE_PNG)); | |
359 | m_bmpComboBox1->SetToolTip(_("wxBitmapComboBox")); | |
360 | fgSizer4->Add( m_bmpComboBox1, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 20 ); | |
361 | ||
362 | m_ownerDrawnComboBox1 = PenStyleComboBox::CreateSample(m_panel5); | |
363 | m_ownerDrawnComboBox1->SetToolTip(_("wxOwnerDrawnComboBox")); | |
364 | fgSizer4->Add( m_ownerDrawnComboBox1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 ); | |
365 | ||
366 | ||
367 | fgSizer4->Add( 0, 90, 1, wxEXPAND, 5 ); | |
368 | ||
369 | ||
370 | fgSizer4->Add( 0, 90, 1, wxEXPAND, 5 ); | |
371 | ||
372 | m_comboCtrl1 = new wxComboCtrl(m_panel5,wxID_ANY,wxEmptyString); | |
373 | // first of all, set the popup control! | |
374 | ListViewComboPopup* popupList = new ListViewComboPopup(); | |
375 | m_comboCtrl1->SetPopupControl(popupList); | |
376 | m_comboCtrl1->SetPopupMaxHeight(80); | |
377 | ||
378 | m_comboCtrl1->SetText(wxT("wxComboCtrl")); | |
379 | m_comboCtrl1->SetToolTip(_("wxComboCtrl")); | |
380 | ||
381 | // Populate using wxListView methods | |
382 | popupList->InsertItem(popupList->GetItemCount(),wxT("wxComboCtrl")); | |
383 | popupList->InsertItem(popupList->GetItemCount(),wxT("with")); | |
384 | popupList->InsertItem(popupList->GetItemCount(),wxT("wxListView")); | |
385 | popupList->InsertItem(popupList->GetItemCount(),wxT("popup")); | |
386 | popupList->InsertItem(popupList->GetItemCount(),wxT("Item1")); | |
387 | popupList->InsertItem(popupList->GetItemCount(),wxT("Item2")); | |
388 | popupList->InsertItem(popupList->GetItemCount(),wxT("Item3")); | |
389 | ||
390 | popupList->Select(0, true); | |
391 | fgSizer4->Add( m_comboCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 ); | |
392 | ||
393 | m_comboCtrl2 = new wxComboCtrl(m_panel5,wxID_ANY,wxEmptyString); | |
394 | // first of all, set the popup control! | |
395 | TreeCtrlComboPopup* popupTree = new TreeCtrlComboPopup(); | |
396 | m_comboCtrl2->SetPopupControl(popupTree); | |
397 | m_comboCtrl2->SetPopupMaxHeight(80); | |
398 | ||
399 | m_comboCtrl2->SetText(wxT("wxComboCtrl")); | |
400 | m_comboCtrl2->SetToolTip(_("wxComboCtrl")); | |
401 | ||
402 | //Add a root and some nodes using wxTreeCtrl methods | |
403 | wxTreeItemId root = popupTree->AddRoot(_("wxComboCtrl")); | |
404 | ||
405 | popupTree->AppendItem(root, _("with")); | |
406 | popupTree->AppendItem(root, _("wxTreeCtrl")); | |
407 | ||
408 | wxTreeItemId node2 = popupTree->AppendItem(root, _("popout")); | |
409 | popupTree->AppendItem(node2, _("Node1")); | |
410 | popupTree->AppendItem(node2, _("Node2")); | |
411 | ||
412 | popupTree->ExpandAll(); | |
413 | fgSizer4->Add( m_comboCtrl2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 ); | |
414 | ||
415 | m_panel5->SetSizer( fgSizer4 ); | |
416 | m_panel5->Layout(); | |
417 | fgSizer4->Fit( m_panel5 ); | |
418 | m_notebook1->AddPage( m_panel5, _("Drop-down Controls"), false ); | |
419 | ||
420 | bSizer0->Add( m_notebook1, 1, wxEXPAND | wxALL, 0 ); | |
421 | ||
422 | this->SetSizer( bSizer0 ); | |
423 | this->Layout(); | |
424 | bSizer0->Fit( this ); | |
425 | statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY ); | |
426 | ||
427 | // Connect Events | |
428 | this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) ); | |
429 | this->Connect( m_menuSeeScr->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnSeeScreenshots ) ); | |
430 | this->Connect( m_menuFileQuit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnQuit ) ); | |
431 | this->Connect( m_menuCapFullScreen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureFullScreen ) ); | |
432 | this->Connect( m_menuCapRect->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureRect ) ); | |
433 | this->Connect( m_menuEndCapRect->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnEndCaptureRect ) ); | |
434 | this->Connect( m_menuCapAll->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureAllControls ) ); | |
435 | this->Connect( m_menuHelpAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) ); | |
436 | m_notebook1->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanged ), NULL, this ); | |
437 | m_notebook1->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanging ), NULL, this ); | |
438 | } | |
439 | ||
440 | GUIFrame::~GUIFrame() | |
441 | { | |
442 | // Disconnect Events | |
443 | this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) ); | |
444 | this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnSeeScreenshots ) ); | |
445 | this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnQuit ) ); | |
446 | this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureFullScreen ) ); | |
447 | this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureRect ) ); | |
448 | this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnEndCaptureRect ) ); | |
449 | this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureAllControls ) ); | |
450 | this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) ); | |
451 | m_notebook1->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanged ), NULL, this ); | |
452 | m_notebook1->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanging ), NULL, this ); | |
453 | } |