12#include "XyGribPanel.h"
17GRIBUICtrlBarBase::GRIBUICtrlBarBase(wxWindow* parent, wxWindowID
id,
18 const wxString& title,
const wxPoint& pos,
19 const wxSize& size,
long style)
20 : wxDialog(parent, id, title, pos, size, style) {
21 m_ProjectBoatPanel =
nullptr;
23#ifdef __OCPN__ANDROID__
24 const bool m_bcompact =
true;
26 const bool m_bcompact =
false;
29 this->SetSizeHints(wxDefaultSize, wxDefaultSize);
31 m_fgCtrlBarSizer =
new wxFlexGridSizer(0, 1, 0, 0);
32 m_fgCtrlBarSizer->AddGrowableCol(0);
33 m_fgCtrlBarSizer->SetFlexibleDirection(wxHORIZONTAL);
34 m_fgCtrlBarSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_NONE);
36 wxBoxSizer* mainBox =
new wxBoxSizer(wxVERTICAL);
37 m_fgCtrlBarSizer->Add(mainBox, 1, wxEXPAND, 0);
39 wxBoxSizer* fgSizer50 =
new wxBoxSizer(wxHORIZONTAL);
40 mainBox->Add(fgSizer50, 0, wxEXPAND, 5);
43 new wxBitmapButton(
this, ID_BTNPREV, wxNullBitmap, wxDefaultPosition,
44 wxDefaultSize, wxBU_AUTODRAW);
45 m_bpPrev->SetToolTip(_(
"Previous"));
47 fgSizer50->Add(m_bpPrev, 0, wxALL, 1);
49 wxArrayString m_cRecordForecastChoices;
50 m_cRecordForecastChoices.Add(_T(
"Item0"));
52 new wxChoice(
this, ID_CTRLTIME, wxDefaultPosition, wxDefaultSize,
53 m_cRecordForecastChoices, 0);
54 m_cRecordForecast->SetSelection(0);
55 fgSizer50->Add(m_cRecordForecast, 0, wxALIGN_CENTER_VERTICAL | wxALL, 1);
58 new wxBitmapButton(
this, ID_BTNNEXT, wxNullBitmap, wxDefaultPosition,
59 wxDefaultSize, wxBU_AUTODRAW);
60 m_bpNext->SetToolTip(_(
"Next"));
62 fgSizer50->Add(m_bpNext, 0, wxALL, 1);
64 wxBoxSizer* fgSizer51 =
new wxBoxSizer(wxHORIZONTAL);
65 mainBox->Add(fgSizer51, 0, wxEXPAND, 5);
68 new wxBitmapButton(
this, ID_CTRLALTITUDE, wxNullBitmap,
69 wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW);
70 m_bpAltitude->SetToolTip(_(
"Select geoptential altitude"));
72 fgSizer51->Add(m_bpAltitude, 0, wxALL, 1);
75 new wxBitmapButton(
this, ID_BTNNOW, wxNullBitmap, wxDefaultPosition,
76 wxDefaultSize, wxBU_AUTODRAW);
77 m_bpNow->SetToolTip(_(
"Now"));
79 fgSizer51->Add(m_bpNow, 0, wxALL, 1);
82 new wxBitmapButton(
this, ID_BTNZOOMTC, wxNullBitmap, wxDefaultPosition,
83 wxDefaultSize, wxBU_AUTODRAW);
84 m_bpZoomToCenter->SetToolTip(_(
"Zoom To Center"));
86 fgSizer51->Add(m_bpZoomToCenter, 0, wxALL, 1);
89 new wxBitmapButton(
this, ID_BTNSHOWCDATA, wxNullBitmap,
90 wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW);
91 fgSizer51->Add(m_bpShowCursorData, 0, wxALL, 1);
93 fgSizer51->Add(0, 0, 1, wxEXPAND | wxLEFT | wxRIGHT, 1);
95 new wxBitmapButton(
this, ID_BTNPLAY, wxNullBitmap, wxDefaultPosition,
96 wxDefaultSize, wxBU_AUTODRAW);
97 fgSizer51->Add(m_bpPlay, 0, wxBOTTOM | wxLEFT | wxTOP, 1);
99 m_sTimeline =
new wxSlider(
this, ID_TIMELINE, 1, 0, 10, wxDefaultPosition,
100 wxSize(90, -1), wxSL_HORIZONTAL);
101 fgSizer51->Add(m_sTimeline, 0, wxEXPAND, 1);
103 fgSizer51->Add(0, 0, 1, wxEXPAND | wxLEFT | wxRIGHT, 1);
105 m_bpOpenFile =
nullptr;
112 new wxBitmapButton(
this, ID_BTNSETTING, wxNullBitmap, wxDefaultPosition,
113 wxDefaultSize, wxBU_AUTODRAW);
114 m_bpSettings->SetToolTip(_(
"Settings"));
116 fgSizer51->Add(m_bpSettings, 0, wxALL, 1);
118 m_bpRequest =
nullptr;
130 m_fgCDataSizer =
new wxFlexGridSizer(0, 2, 0, 0);
131 m_fgCDataSizer->SetFlexibleDirection(wxVERTICAL);
132 m_fgCDataSizer->AddGrowableCol(0);
133 m_fgCDataSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
135 mainBox->Add(m_fgCDataSizer, 1, wxEXPAND, 5);
137 m_fgCtrlGrabberSize =
new wxFlexGridSizer(0, 1, 0, 0);
138 m_fgCtrlGrabberSize->SetFlexibleDirection(wxBOTH);
139 m_fgCtrlGrabberSize->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
141 this->SetSizer(m_fgCtrlBarSizer);
143 m_fgCtrlBarSizer->Fit(
this);
145 this->SetSizeHints(wxDefaultSize, wxDefaultSize);
147 m_fgCtrlBarSizer =
new wxFlexGridSizer(1, 2, 0, 0);
148 m_fgCtrlBarSizer->AddGrowableCol(0);
149 m_fgCtrlBarSizer->SetFlexibleDirection(wxHORIZONTAL);
150 m_fgCtrlBarSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_NONE);
152 wxFlexGridSizer* fgSizer49;
153 fgSizer49 =
new wxFlexGridSizer(0, 1, 0, 0);
154 fgSizer49->AddGrowableCol(0);
155 fgSizer49->SetFlexibleDirection(wxVERTICAL);
156 fgSizer49->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
158 wxFlexGridSizer* fgSizer50;
159 fgSizer50 =
new wxFlexGridSizer(0, 15, 0, 0);
160 fgSizer50->AddGrowableCol(3);
161 fgSizer50->AddGrowableCol(7);
162 fgSizer50->AddGrowableCol(10);
163 fgSizer50->SetFlexibleDirection(wxHORIZONTAL);
164 fgSizer50->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
167 new wxBitmapButton(
this, ID_BTNPREV, wxNullBitmap, wxDefaultPosition,
168 wxDefaultSize, wxBU_AUTODRAW);
169 m_bpPrev->SetToolTip(_(
"Previous"));
171 fgSizer50->Add(m_bpPrev, 0, wxALL, 1);
173 wxArrayString m_cRecordForecastChoices;
174 m_cRecordForecastChoices.Add(_T(
"Item0"));
176 new wxChoice(
this, ID_CTRLTIME, wxDefaultPosition, wxDefaultSize,
177 m_cRecordForecastChoices, 0);
178 m_cRecordForecast->SetSelection(0);
179 fgSizer50->Add(m_cRecordForecast, 0, wxALIGN_CENTER_VERTICAL | wxALL, 1);
182 new wxBitmapButton(
this, ID_BTNNEXT, wxNullBitmap, wxDefaultPosition,
183 wxDefaultSize, wxBU_AUTODRAW);
184 m_bpNext->SetToolTip(_(
"Next"));
186 fgSizer50->Add(m_bpNext, 0, wxALL, 1);
188 fgSizer50->Add(0, 0, 1, wxEXPAND | wxLEFT | wxRIGHT, 1);
191 new wxBitmapButton(
this, ID_CTRLALTITUDE, wxNullBitmap,
192 wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW);
193 m_bpAltitude->SetToolTip(_(
"Select geoptential altitude"));
195 fgSizer50->Add(m_bpAltitude, 0, wxALL, 1);
198 new wxBitmapButton(
this, ID_BTNNOW, wxNullBitmap, wxDefaultPosition,
199 wxDefaultSize, wxBU_AUTODRAW);
200 m_bpNow->SetToolTip(_(
"Now"));
202 fgSizer50->Add(m_bpNow, 0, wxALL, 1);
205 new wxBitmapButton(
this, ID_BTNZOOMTC, wxNullBitmap, wxDefaultPosition,
206 wxDefaultSize, wxBU_AUTODRAW);
207 m_bpZoomToCenter->SetToolTip(_(
"Zoom To Center"));
209 fgSizer50->Add(m_bpZoomToCenter, 0, wxALL, 1);
212 new wxBitmapButton(
this, ID_BTNSHOWCDATA, wxNullBitmap,
213 wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW);
214 fgSizer50->Add(m_bpShowCursorData, 0, wxALL, 1);
216 fgSizer50->Add(0, 0, 1, wxEXPAND | wxLEFT | wxRIGHT, 1);
219 new wxBitmapButton(
this, ID_BTNPLAY, wxNullBitmap, wxDefaultPosition,
220 wxDefaultSize, wxBU_AUTODRAW);
221 fgSizer50->Add(m_bpPlay, 0, wxBOTTOM | wxLEFT | wxTOP, 1);
223 m_sTimeline =
new wxSlider(
this, ID_TIMELINE, 1, 0, 10, wxDefaultPosition,
224 wxSize(90, -1), wxSL_HORIZONTAL);
225 fgSizer50->Add(m_sTimeline, 0, wxEXPAND, 1);
227 fgSizer50->Add(0, 0, 1, wxEXPAND | wxLEFT | wxRIGHT, 1);
230 new wxBitmapButton(
this, ID_BTNOPENFILE, wxNullBitmap,
231 wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW);
232 m_bpOpenFile->SetToolTip(_(
"Open a new file"));
234 fgSizer50->Add(m_bpOpenFile, 0, wxALL, 1);
237 new wxBitmapButton(
this, ID_BTNSETTING, wxNullBitmap, wxDefaultPosition,
238 wxDefaultSize, wxBU_AUTODRAW);
239 m_bpSettings->SetToolTip(_(
"Settings"));
241 fgSizer50->Add(m_bpSettings, 0, wxALL, 1);
244 new wxBitmapButton(
this, ID_BTNREQUEST, wxNullBitmap, wxDefaultPosition,
245 wxDefaultSize, wxBU_AUTODRAW);
246 fgSizer50->Add(m_bpRequest, 0, wxALL, 1);
248 fgSizer49->Add(fgSizer50, 1, wxEXPAND, 5);
250 fgSizer49->Add(m_ProjectBoatPanel, 0, wxEXPAND | wxALL, 1);
252 m_fgCDataSizer =
new wxFlexGridSizer(0, 2, 0, 0);
253 m_fgCDataSizer->SetFlexibleDirection(wxBOTH);
254 m_fgCDataSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
256 fgSizer49->Add(m_fgCDataSizer, 1, wxEXPAND, 5);
258 m_fgCtrlBarSizer->Add(fgSizer49, 1, wxEXPAND, 0);
260 m_fgCtrlGrabberSize =
new wxFlexGridSizer(0, 1, 0, 0);
261 m_fgCtrlGrabberSize->SetFlexibleDirection(wxBOTH);
262 m_fgCtrlGrabberSize->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
264 m_fgCtrlBarSizer->Add(m_fgCtrlGrabberSize, 1, wxEXPAND, 0);
266 this->SetSizer(m_fgCtrlBarSizer);
268 m_fgCtrlBarSizer->Fit(
this);
271 this->Centre(wxBOTH);
274 this->Connect(wxEVT_CLOSE_WINDOW,
275 wxCloseEventHandler(GRIBUICtrlBarBase::OnClose));
276 this->Connect(wxEVT_LEFT_DOWN,
277 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
278 this->Connect(wxEVT_LEFT_UP,
279 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
280 this->Connect(wxEVT_MIDDLE_DOWN,
281 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
282 this->Connect(wxEVT_MIDDLE_UP,
283 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
284 this->Connect(wxEVT_RIGHT_DOWN,
285 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
286 this->Connect(wxEVT_RIGHT_UP,
287 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
288 this->Connect(wxEVT_MOTION,
289 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
290 this->Connect(wxEVT_LEFT_DCLICK,
291 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
292 this->Connect(wxEVT_MIDDLE_DCLICK,
293 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
294 this->Connect(wxEVT_RIGHT_DCLICK,
295 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
296 this->Connect(wxEVT_LEAVE_WINDOW,
297 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
298 this->Connect(wxEVT_ENTER_WINDOW,
299 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
300 this->Connect(wxEVT_MOUSEWHEEL,
301 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
302 this->Connect(wxEVT_SIZE, wxSizeEventHandler(GRIBUICtrlBarBase::OnSize));
305 this->Connect(wxEVT_PAINT, wxPaintEventHandler(GRIBUICtrlBarBase::OnPaint));
307 m_bpPrev->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
308 wxCommandEventHandler(GRIBUICtrlBarBase::OnPrev),
nullptr,
310 m_bpPrev->Connect(wxEVT_RIGHT_DOWN,
311 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
313 m_cRecordForecast->Connect(
314 wxEVT_COMMAND_CHOICE_SELECTED,
315 wxCommandEventHandler(GRIBUICtrlBarBase::OnRecordForecast),
nullptr,
317 m_cRecordForecast->Connect(
318 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
320 m_bpNext->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
321 wxCommandEventHandler(GRIBUICtrlBarBase::OnNext),
nullptr,
323 m_bpNext->Connect(wxEVT_RIGHT_DOWN,
324 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
326 m_bpAltitude->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
327 wxCommandEventHandler(GRIBUICtrlBarBase::OnAltitude),
329 m_bpAltitude->Connect(wxEVT_RIGHT_DOWN,
330 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
332 m_bpNow->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
333 wxCommandEventHandler(GRIBUICtrlBarBase::OnNow),
nullptr,
335 m_bpNow->Connect(wxEVT_RIGHT_DOWN,
336 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
338 m_bpZoomToCenter->Connect(
339 wxEVT_COMMAND_BUTTON_CLICKED,
340 wxCommandEventHandler(GRIBUICtrlBarBase::OnZoomToCenterClick),
nullptr,
342 m_bpZoomToCenter->Connect(
343 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
345 m_bpShowCursorData->Connect(
346 wxEVT_COMMAND_BUTTON_CLICKED,
347 wxCommandEventHandler(GRIBUICtrlBarBase::OnShowCursorData),
nullptr,
349 m_bpShowCursorData->Connect(
350 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
352 m_bpPlay->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
353 wxCommandEventHandler(GRIBUICtrlBarBase::OnPlayStop),
355 m_bpPlay->Connect(wxEVT_RIGHT_DOWN,
356 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
358 m_sTimeline->Connect(wxEVT_RIGHT_DOWN,
359 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
361 m_sTimeline->Connect(wxEVT_SCROLL_TOP,
362 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
364 m_sTimeline->Connect(wxEVT_SCROLL_BOTTOM,
365 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
367 m_sTimeline->Connect(wxEVT_SCROLL_LINEUP,
368 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
370 m_sTimeline->Connect(wxEVT_SCROLL_LINEDOWN,
371 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
373 m_sTimeline->Connect(wxEVT_SCROLL_PAGEUP,
374 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
376 m_sTimeline->Connect(wxEVT_SCROLL_PAGEDOWN,
377 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
379 m_sTimeline->Connect(wxEVT_SCROLL_THUMBTRACK,
380 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
382 m_sTimeline->Connect(wxEVT_SCROLL_THUMBRELEASE,
383 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
385 m_sTimeline->Connect(wxEVT_SCROLL_CHANGED,
386 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
390 m_bpOpenFile->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
391 wxCommandEventHandler(GRIBUICtrlBarBase::OnOpenFile),
393 m_bpOpenFile->Connect(wxEVT_RIGHT_DOWN,
394 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
398#ifdef __OCPN__ANDROID__
399 m_bpSettings->Connect(
400 wxEVT_COMMAND_BUTTON_CLICKED,
401 wxCommandEventHandler(GRIBUICtrlBarBase::OnCompositeDialog),
nullptr,
404 m_bpSettings->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
405 wxCommandEventHandler(GRIBUICtrlBarBase::OnSettings),
407 m_bpSettings->Connect(wxEVT_RIGHT_DOWN,
408 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
413 m_bpRequest->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
414 wxCommandEventHandler(GRIBUICtrlBarBase::OnRequest),
416 m_bpRequest->Connect(wxEVT_RIGHT_DOWN,
417 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
422GRIBUICtrlBarBase::~GRIBUICtrlBarBase() {
424 this->Disconnect(wxEVT_CLOSE_WINDOW,
425 wxCloseEventHandler(GRIBUICtrlBarBase::OnClose));
426 this->Disconnect(wxEVT_LEFT_DOWN,
427 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
428 this->Disconnect(wxEVT_LEFT_UP,
429 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
430 this->Disconnect(wxEVT_MIDDLE_DOWN,
431 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
432 this->Disconnect(wxEVT_MIDDLE_UP,
433 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
434 this->Disconnect(wxEVT_RIGHT_DOWN,
435 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
436 this->Disconnect(wxEVT_RIGHT_UP,
437 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
438 this->Disconnect(wxEVT_MOTION,
439 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
440 this->Disconnect(wxEVT_LEFT_DCLICK,
441 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
442 this->Disconnect(wxEVT_MIDDLE_DCLICK,
443 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
444 this->Disconnect(wxEVT_RIGHT_DCLICK,
445 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
446 this->Disconnect(wxEVT_LEAVE_WINDOW,
447 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
448 this->Disconnect(wxEVT_ENTER_WINDOW,
449 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
450 this->Disconnect(wxEVT_MOUSEWHEEL,
451 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent));
452 this->Disconnect(wxEVT_PAINT,
453 wxPaintEventHandler(GRIBUICtrlBarBase::OnPaint));
454 this->Disconnect(wxEVT_SIZE, wxSizeEventHandler(GRIBUICtrlBarBase::OnSize));
455 m_bpPrev->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
456 wxCommandEventHandler(GRIBUICtrlBarBase::OnPrev),
458 m_bpPrev->Disconnect(wxEVT_RIGHT_DOWN,
459 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
461 m_cRecordForecast->Disconnect(
462 wxEVT_COMMAND_CHOICE_SELECTED,
463 wxCommandEventHandler(GRIBUICtrlBarBase::OnRecordForecast),
nullptr,
465 m_cRecordForecast->Disconnect(
466 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
468 m_bpNext->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
469 wxCommandEventHandler(GRIBUICtrlBarBase::OnNext),
471 m_bpNext->Disconnect(wxEVT_RIGHT_DOWN,
472 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
474 m_bpAltitude->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
475 wxCommandEventHandler(GRIBUICtrlBarBase::OnAltitude),
477 m_bpAltitude->Disconnect(wxEVT_RIGHT_DOWN,
478 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
480 m_bpNow->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
481 wxCommandEventHandler(GRIBUICtrlBarBase::OnNow),
nullptr,
483 m_bpNow->Disconnect(wxEVT_RIGHT_DOWN,
484 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
486 m_bpZoomToCenter->Disconnect(
487 wxEVT_COMMAND_BUTTON_CLICKED,
488 wxCommandEventHandler(GRIBUICtrlBarBase::OnZoomToCenterClick),
nullptr,
490 m_bpZoomToCenter->Disconnect(
491 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
493 m_bpShowCursorData->Disconnect(
494 wxEVT_COMMAND_BUTTON_CLICKED,
495 wxCommandEventHandler(GRIBUICtrlBarBase::OnShowCursorData),
nullptr,
497 m_bpShowCursorData->Disconnect(
498 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
500 m_bpPlay->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
501 wxCommandEventHandler(GRIBUICtrlBarBase::OnPlayStop),
503 m_bpPlay->Disconnect(wxEVT_RIGHT_DOWN,
504 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
506 m_sTimeline->Disconnect(wxEVT_RIGHT_DOWN,
507 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
509 m_sTimeline->Disconnect(wxEVT_SCROLL_TOP,
510 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
512 m_sTimeline->Disconnect(wxEVT_SCROLL_BOTTOM,
513 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
515 m_sTimeline->Disconnect(wxEVT_SCROLL_LINEUP,
516 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
518 m_sTimeline->Disconnect(wxEVT_SCROLL_LINEDOWN,
519 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
521 m_sTimeline->Disconnect(wxEVT_SCROLL_PAGEUP,
522 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
524 m_sTimeline->Disconnect(wxEVT_SCROLL_PAGEDOWN,
525 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
527 m_sTimeline->Disconnect(wxEVT_SCROLL_THUMBTRACK,
528 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
530 m_sTimeline->Disconnect(wxEVT_SCROLL_THUMBRELEASE,
531 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
533 m_sTimeline->Disconnect(wxEVT_SCROLL_CHANGED,
534 wxScrollEventHandler(GRIBUICtrlBarBase::OnTimeline),
538 m_bpOpenFile->Disconnect(
539 wxEVT_COMMAND_BUTTON_CLICKED,
540 wxCommandEventHandler(GRIBUICtrlBarBase::OnOpenFile),
nullptr,
this);
541 m_bpOpenFile->Disconnect(
542 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
546 m_bpSettings->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
547 wxCommandEventHandler(GRIBUICtrlBarBase::OnSettings),
549 m_bpSettings->Disconnect(wxEVT_RIGHT_DOWN,
550 wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
554 m_bpRequest->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
555 wxCommandEventHandler(GRIBUICtrlBarBase::OnRequest),
557 m_bpRequest->Disconnect(
558 wxEVT_RIGHT_DOWN, wxMouseEventHandler(GRIBUICtrlBarBase::OnMouseEvent),
563GRIBUICDataBase::GRIBUICDataBase(wxWindow* parent, wxWindowID
id,
564 const wxString& title,
const wxPoint& pos,
565 const wxSize& size,
long style)
566 : wxDialog(parent, id, title, pos, size, style) {
567 this->SetSizeHints(wxSize(-1, -1), wxDefaultSize);
568 this->SetFont(wxFont(9, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
569 wxFONTWEIGHT_NORMAL,
false, wxEmptyString));
571 wxFlexGridSizer* fgSizer57;
572 fgSizer57 =
new wxFlexGridSizer(0, 2, 0, 0);
573 fgSizer57->SetFlexibleDirection(wxBOTH);
574 fgSizer57->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
576 m_fgCdataSizer =
new wxFlexGridSizer(0, 1, 0, 0);
577 m_fgCdataSizer->SetFlexibleDirection(wxBOTH);
578 m_fgCdataSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
580 fgSizer57->Add(m_fgCdataSizer, 1, wxEXPAND, 5);
582 this->SetSizer(fgSizer57);
584 fgSizer57->Fit(
this);
586 this->Centre(wxBOTH);
589GRIBUICDataBase::~GRIBUICDataBase() {}
591CursorDataBase::CursorDataBase(wxWindow* parent, wxWindowID
id,
592 const wxPoint& pos,
const wxSize& size,
594 : wxPanel(parent, id, pos, size, style) {
595 fgSizer30 =
new wxFlexGridSizer(0, 1, 0, 0);
596 fgSizer30->AddGrowableRow(1);
597 fgSizer30->SetFlexibleDirection(wxBOTH);
598 fgSizer30->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_ALL);
600 m_stTrackingText =
new wxStaticText(
this, wxID_ANY, _(
"MyLabel"),
601 wxDefaultPosition, wxDefaultSize, 0);
602 m_stTrackingText->Wrap(-1);
603 fgSizer30->Add(m_stTrackingText, 0, wxEXPAND | wxLEFT, 5);
605 wxFlexGridSizer* fgSizer43;
606 fgSizer43 =
new wxFlexGridSizer(0, 1, 0, 0);
607 fgSizer43->SetFlexibleDirection(wxBOTH);
608 fgSizer43->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
610 m_fgTrackingControls =
new wxFlexGridSizer(0, 8, 0, 0);
611 m_fgTrackingControls->SetFlexibleDirection(wxBOTH);
612 m_fgTrackingControls->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
614 m_cbWind =
new wxCheckBox(
this, ID_CB_WIND, _(
"Wind"), wxDefaultPosition,
616 m_fgTrackingControls->Add(m_cbWind, 0, wxEXPAND | wxLEFT | wxTOP, 2);
619 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
620 wxSize(70, -1), wxTE_READONLY);
621 m_fgTrackingControls->Add(m_tcWindSpeed, 0, 0, 1);
624 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxPoint(-1, -1),
625 wxSize(45, -1), wxTE_READONLY);
626 m_fgTrackingControls->Add(m_tcWindSpeedBf, 0, wxALIGN_CENTER_VERTICAL, 1);
629 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
630 wxSize(45, -1), wxTE_READONLY);
631 m_fgTrackingControls->Add(m_tcWindDirection, 0, 0, 1);
633 m_cbWindGust =
new wxCheckBox(
this, ID_CB_WIND_GUSTS, _(
"Wind Gust"),
634 wxDefaultPosition, wxDefaultSize, 0);
635 m_fgTrackingControls->Add(m_cbWindGust, 0, wxALL | wxEXPAND, 5);
638 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
639 wxSize(70, -1), wxTE_READONLY);
640 m_fgTrackingControls->Add(m_tcWindGust, 0, 0, 1);
642 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 1);
644 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 1);
646 m_cbPressure =
new wxCheckBox(
this, ID_CB_PRESSURE, _(
"Pressure"),
647 wxDefaultPosition, wxDefaultSize, 0);
648 m_fgTrackingControls->Add(m_cbPressure, 0, wxALL | wxEXPAND, 5);
651 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
652 wxSize(70, -1), wxTE_READONLY);
653 m_tcPressure->SetToolTip(_(
"Mean Sea Level Pressure (MSLP)"));
655 m_fgTrackingControls->Add(m_tcPressure, 0, 0, 1);
657 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
659 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
661 m_cbWave =
new wxCheckBox(
this, ID_CB_WAVES, _(
"Waves"), wxDefaultPosition,
663 m_fgTrackingControls->Add(m_cbWave, 0, wxALL | wxEXPAND, 5);
666 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
667 wxSize(70, -1), wxTE_READONLY);
668 m_tcWaveHeight->SetToolTip(_(
"Significant Wave Height"));
670 m_fgTrackingControls->Add(m_tcWaveHeight, 0, 0, 1);
673 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
674 wxSize(45, -1), wxTE_READONLY);
675 m_tcWavePeriode->SetToolTip(_(
"Waves period"));
677 m_fgTrackingControls->Add(m_tcWavePeriode, 0, 0, 1);
680 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
681 wxSize(45, -1), wxTE_READONLY);
682 m_tcWaveDirection->SetToolTip(_(
"Waves Direction"));
684 m_fgTrackingControls->Add(m_tcWaveDirection, 0, 0, 1);
686 m_cbCurrent =
new wxCheckBox(
this, ID_CB_CURRENT, _(
"Current"),
687 wxDefaultPosition, wxDefaultSize, 0);
688 m_fgTrackingControls->Add(m_cbCurrent, 0, wxALL | wxEXPAND, 5);
690 m_tcCurrentVelocity =
691 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
692 wxSize(70, -1), wxTE_READONLY);
693 m_tcCurrentVelocity->SetToolTip(_(
"Surface Current Speed"));
695 m_fgTrackingControls->Add(m_tcCurrentVelocity, 0, 0, 1);
697 m_tcCurrentDirection =
698 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
699 wxSize(45, -1), wxTE_READONLY);
700 m_tcCurrentDirection->SetToolTip(_(
"Surface Current Direction"));
702 m_fgTrackingControls->Add(m_tcCurrentDirection, 0, 0, 1);
704 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
706 m_cbPrecipitation =
new wxCheckBox(
this, ID_CB_RAINFALL, _(
"Rainfall"),
707 wxDefaultPosition, wxDefaultSize, 0);
708 m_fgTrackingControls->Add(m_cbPrecipitation, 0, wxALL | wxEXPAND, 5);
711 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
712 wxSize(70, -1), wxTE_READONLY);
713 m_tcPrecipitation->SetToolTip(_(
"Cumulative Rainfall per Hour"));
715 m_fgTrackingControls->Add(m_tcPrecipitation, 0, 0, 1);
717 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 1);
719 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
721 m_cbCloud =
new wxCheckBox(
this, ID_CB_CLOUD_COVER, _(
"Cloud Cover"),
722 wxDefaultPosition, wxDefaultSize, 0);
723 m_fgTrackingControls->Add(m_cbCloud, 0, wxALL | wxEXPAND, 5);
725 m_tcCloud =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
726 wxSize(70, -1), wxTE_READONLY);
727 m_tcCloud->SetToolTip(_(
"Cloud Cover"));
729 m_fgTrackingControls->Add(m_tcCloud, 0, 0, 1);
731 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 1);
733 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
735 m_cbAirTemperature =
new wxCheckBox(
this, ID_CB_AIR_TEMP, _(
"Air Temp"),
736 wxDefaultPosition, wxDefaultSize, 0);
737 m_fgTrackingControls->Add(m_cbAirTemperature, 0, wxALL | wxEXPAND, 5);
740 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
741 wxSize(70, -1), wxTE_READONLY);
742 m_fgTrackingControls->Add(m_tcAirTemperature, 0, 0, 1);
744 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 1);
746 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
748 m_cbSeaTemperature =
new wxCheckBox(
this, ID_CB_SEA_TEMP, _(
"Sea Temp"),
749 wxDefaultPosition, wxDefaultSize, 0);
750 m_fgTrackingControls->Add(m_cbSeaTemperature, 0, wxALL | wxEXPAND, 5);
753 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
754 wxSize(70, -1), wxTE_READONLY);
755 m_tcSeaTemperature->SetToolTip(_(
"Sea or Air Temperature at Surface Level"));
757 m_fgTrackingControls->Add(m_tcSeaTemperature, 0, 0, 1);
759 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
761 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
763 m_cbCAPE =
new wxCheckBox(
this, ID_CB_CAPE, _(
"CAPE"), wxDefaultPosition,
765 m_fgTrackingControls->Add(m_cbCAPE, 0, wxALL | wxEXPAND, 5);
767 m_tcCAPE =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxPoint(-1, -1),
768 wxSize(70, -1), wxTE_READONLY);
769 m_tcCAPE->SetToolTip(_(
"Convective Available Potential Energy"));
771 m_fgTrackingControls->Add(m_tcCAPE, 0, 0, 1);
773 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
775 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
777 m_cbReflC =
new wxCheckBox(
this, ID_CB_COMP_REFL, _(
"Comp. Refl."),
778 wxDefaultPosition, wxDefaultSize, 0);
779 m_fgTrackingControls->Add(m_cbReflC, 0, wxALL | wxEXPAND, 5);
781 m_tcReflC =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxPoint(-1, -1),
782 wxSize(70, -1), wxTE_READONLY);
783 m_tcReflC->SetToolTip(_(
"Composite Reflectivity"));
785 m_fgTrackingControls->Add(m_tcReflC, 0, 0, 1);
787 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
789 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
791 m_cbAltitude =
new wxCheckBox(
this, wxID_ANY, _(
"Altitude"),
792 wxDefaultPosition, wxDefaultSize, 0);
793 m_cbAltitude->SetValue(
true);
794 m_cbAltitude->Enable(
false);
796 m_fgTrackingControls->Add(m_cbAltitude, 0, wxALL | wxEXPAND, 5);
799 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
800 wxSize(-1, -1), wxTE_READONLY);
801 m_tcAltitude->SetMinSize(wxSize(70, -1));
803 m_fgTrackingControls->Add(m_tcAltitude, 0, 0, 5);
805 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
807 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
809 m_cbTemp =
new wxCheckBox(
this, wxID_ANY, _(
"Temp."), wxDefaultPosition,
811 m_cbTemp->SetValue(
true);
812 m_cbTemp->Enable(
false);
814 m_fgTrackingControls->Add(m_cbTemp, 0, wxALL | wxEXPAND, 5);
816 m_tcTemp =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
817 wxDefaultSize, wxTE_READONLY);
818 m_tcTemp->SetMinSize(wxSize(70, -1));
820 m_fgTrackingControls->Add(m_tcTemp, 0, 0, 5);
822 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
824 m_fgTrackingControls->Add(0, 0, 1, wxEXPAND, 5);
826 m_cbRelHumid =
new wxCheckBox(
this, wxID_ANY, _(
"Relat. Hum."),
827 wxDefaultPosition, wxDefaultSize, 0);
828 m_cbRelHumid->SetValue(
true);
829 m_cbRelHumid->Enable(
false);
831 m_fgTrackingControls->Add(m_cbRelHumid, 0, wxALL | wxEXPAND, 5);
834 new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
835 wxDefaultSize, wxTE_READONLY);
836 m_tcRelHumid->SetMinSize(wxSize(70, -1));
838 m_fgTrackingControls->Add(m_tcRelHumid, 0, 0, 5);
840 fgSizer43->Add(m_fgTrackingControls, 1, wxEXPAND, 1);
842 fgSizer30->Add(fgSizer43, 1, wxEXPAND, 5);
844 this->SetSizer(fgSizer30);
846 fgSizer30->Fit(
this);
849 this->Connect(wxEVT_LEFT_DOWN,
850 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
851 this->Connect(wxEVT_LEFT_UP,
852 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
853 this->Connect(wxEVT_MIDDLE_DOWN,
854 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
855 this->Connect(wxEVT_MIDDLE_UP,
856 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
857 this->Connect(wxEVT_RIGHT_DOWN,
858 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
859 this->Connect(wxEVT_RIGHT_UP,
860 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
861 this->Connect(wxEVT_MOTION,
862 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
863 this->Connect(wxEVT_LEFT_DCLICK,
864 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
865 this->Connect(wxEVT_MIDDLE_DCLICK,
866 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
867 this->Connect(wxEVT_RIGHT_DCLICK,
868 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
869 this->Connect(wxEVT_LEAVE_WINDOW,
870 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
871 this->Connect(wxEVT_ENTER_WINDOW,
872 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
873 this->Connect(wxEVT_MOUSEWHEEL,
874 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
875 m_stTrackingText->Connect(wxEVT_LEFT_DOWN,
876 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
878 m_stTrackingText->Connect(wxEVT_LEFT_UP,
879 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
881 m_stTrackingText->Connect(wxEVT_MIDDLE_DOWN,
882 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
884 m_stTrackingText->Connect(wxEVT_MIDDLE_UP,
885 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
887 m_stTrackingText->Connect(wxEVT_RIGHT_DOWN,
888 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
890 m_stTrackingText->Connect(wxEVT_RIGHT_UP,
891 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
893 m_stTrackingText->Connect(wxEVT_MOTION,
894 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
896 m_stTrackingText->Connect(wxEVT_LEFT_DCLICK,
897 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
899 m_stTrackingText->Connect(wxEVT_MIDDLE_DCLICK,
900 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
902 m_stTrackingText->Connect(wxEVT_RIGHT_DCLICK,
903 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
905 m_stTrackingText->Connect(wxEVT_LEAVE_WINDOW,
906 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
908 m_stTrackingText->Connect(wxEVT_ENTER_WINDOW,
909 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
911 m_stTrackingText->Connect(wxEVT_MOUSEWHEEL,
912 wxMouseEventHandler(CursorDataBase::OnMouseEvent),
914 m_cbWind->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
915 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
917 m_cbWind->Connect(wxEVT_RIGHT_DOWN,
918 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
920 m_cbWindGust->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
921 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
923 m_cbWindGust->Connect(wxEVT_RIGHT_DOWN,
924 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
926 m_cbPressure->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
927 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
929 m_cbPressure->Connect(wxEVT_RIGHT_DOWN,
930 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
932 m_cbWave->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
933 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
935 m_cbWave->Connect(wxEVT_RIGHT_DOWN,
936 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
938 m_cbCurrent->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
939 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
941 m_cbCurrent->Connect(wxEVT_RIGHT_DOWN,
942 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
944 m_cbPrecipitation->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
945 wxCommandEventHandler(CursorDataBase::OnCBAny),
947 m_cbPrecipitation->Connect(
948 wxEVT_RIGHT_DOWN, wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
950 m_cbCloud->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
951 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
953 m_cbCloud->Connect(wxEVT_RIGHT_DOWN,
954 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
956 m_cbAirTemperature->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
957 wxCommandEventHandler(CursorDataBase::OnCBAny),
959 m_cbAirTemperature->Connect(
960 wxEVT_RIGHT_DOWN, wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
962 m_cbSeaTemperature->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
963 wxCommandEventHandler(CursorDataBase::OnCBAny),
965 m_cbSeaTemperature->Connect(
966 wxEVT_RIGHT_DOWN, wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
968 m_cbCAPE->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
969 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
971 m_cbCAPE->Connect(wxEVT_RIGHT_DOWN,
972 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
974 m_cbReflC->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
975 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
977 m_cbReflC->Connect(wxEVT_RIGHT_DOWN,
978 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
982CursorDataBase::~CursorDataBase() {
984 this->Disconnect(wxEVT_LEFT_DOWN,
985 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
986 this->Disconnect(wxEVT_LEFT_UP,
987 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
988 this->Disconnect(wxEVT_MIDDLE_DOWN,
989 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
990 this->Disconnect(wxEVT_MIDDLE_UP,
991 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
992 this->Disconnect(wxEVT_RIGHT_DOWN,
993 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
994 this->Disconnect(wxEVT_RIGHT_UP,
995 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
996 this->Disconnect(wxEVT_MOTION,
997 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
998 this->Disconnect(wxEVT_LEFT_DCLICK,
999 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
1000 this->Disconnect(wxEVT_MIDDLE_DCLICK,
1001 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
1002 this->Disconnect(wxEVT_RIGHT_DCLICK,
1003 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
1004 this->Disconnect(wxEVT_LEAVE_WINDOW,
1005 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
1006 this->Disconnect(wxEVT_ENTER_WINDOW,
1007 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
1008 this->Disconnect(wxEVT_MOUSEWHEEL,
1009 wxMouseEventHandler(CursorDataBase::OnMouseEvent));
1010 m_stTrackingText->Disconnect(
1011 wxEVT_LEFT_DOWN, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1013 m_stTrackingText->Disconnect(
1014 wxEVT_LEFT_UP, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
nullptr,
1016 m_stTrackingText->Disconnect(
1017 wxEVT_MIDDLE_DOWN, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1019 m_stTrackingText->Disconnect(
1020 wxEVT_MIDDLE_UP, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1022 m_stTrackingText->Disconnect(
1023 wxEVT_RIGHT_DOWN, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1025 m_stTrackingText->Disconnect(
1026 wxEVT_RIGHT_UP, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1028 m_stTrackingText->Disconnect(
1029 wxEVT_MOTION, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
nullptr,
1031 m_stTrackingText->Disconnect(
1032 wxEVT_LEFT_DCLICK, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1034 m_stTrackingText->Disconnect(
1035 wxEVT_MIDDLE_DCLICK, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1037 m_stTrackingText->Disconnect(
1038 wxEVT_RIGHT_DCLICK, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1040 m_stTrackingText->Disconnect(
1041 wxEVT_LEAVE_WINDOW, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1043 m_stTrackingText->Disconnect(
1044 wxEVT_ENTER_WINDOW, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1046 m_stTrackingText->Disconnect(
1047 wxEVT_MOUSEWHEEL, wxMouseEventHandler(CursorDataBase::OnMouseEvent),
1049 m_cbWind->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1050 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
1052 m_cbWind->Disconnect(wxEVT_RIGHT_DOWN,
1053 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1055 m_cbWindGust->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1056 wxCommandEventHandler(CursorDataBase::OnCBAny),
1058 m_cbWindGust->Disconnect(wxEVT_RIGHT_DOWN,
1059 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1061 m_cbPressure->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1062 wxCommandEventHandler(CursorDataBase::OnCBAny),
1064 m_cbPressure->Disconnect(wxEVT_RIGHT_DOWN,
1065 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1067 m_cbWave->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1068 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
1070 m_cbWave->Disconnect(wxEVT_RIGHT_DOWN,
1071 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1073 m_cbCurrent->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1074 wxCommandEventHandler(CursorDataBase::OnCBAny),
1076 m_cbCurrent->Disconnect(wxEVT_RIGHT_DOWN,
1077 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1079 m_cbPrecipitation->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1080 wxCommandEventHandler(CursorDataBase::OnCBAny),
1082 m_cbPrecipitation->Disconnect(
1083 wxEVT_RIGHT_DOWN, wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1085 m_cbCloud->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1086 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
1088 m_cbCloud->Disconnect(wxEVT_RIGHT_DOWN,
1089 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1091 m_cbAirTemperature->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1092 wxCommandEventHandler(CursorDataBase::OnCBAny),
1094 m_cbAirTemperature->Disconnect(
1095 wxEVT_RIGHT_DOWN, wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1097 m_cbSeaTemperature->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1098 wxCommandEventHandler(CursorDataBase::OnCBAny),
1100 m_cbSeaTemperature->Disconnect(
1101 wxEVT_RIGHT_DOWN, wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1103 m_cbCAPE->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1104 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
1106 m_cbCAPE->Disconnect(wxEVT_RIGHT_DOWN,
1107 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1109 m_cbReflC->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED,
1110 wxCommandEventHandler(CursorDataBase::OnCBAny),
nullptr,
1112 m_cbReflC->Disconnect(wxEVT_RIGHT_DOWN,
1113 wxMouseEventHandler(CursorDataBase::OnMenuCallBack),
1117GribSettingsDialogBase::GribSettingsDialogBase(wxWindow* parent, wxWindowID
id,
1118 const wxString& title,
1120 const wxSize& size,
long style)
1121 : wxDialog(parent, id, title, pos, size, style) {
1122 this->SetSizeHints(wxDefaultSize, wxSize(-1, -1));
1124 wxFlexGridSizer* fgSizer53;
1125 fgSizer53 =
new wxFlexGridSizer(0, 1, 0, 0);
1126 fgSizer53->SetFlexibleDirection(wxBOTH);
1127 fgSizer53->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1130 new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
1131 wxScrolledWindow* m_scSetDataPanel;
1133 new wxScrolledWindow(m_nSettingsBook, wxID_ANY, wxDefaultPosition,
1134 wxDefaultSize, wxHSCROLL | wxVSCROLL);
1135 m_scSetDataPanel->SetScrollRate(5, 5);
1136 m_fgSetDataSizer =
new wxFlexGridSizer(0, 1, 0, 0);
1137 m_fgSetDataSizer->AddGrowableCol(0);
1138 m_fgSetDataSizer->AddGrowableRow(1);
1139 m_fgSetDataSizer->SetFlexibleDirection(wxBOTH);
1140 m_fgSetDataSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1142 wxStaticBoxSizer* sbSizer101;
1143 sbSizer101 =
new wxStaticBoxSizer(
1144 new wxStaticBox(m_scSetDataPanel, wxID_ANY, _(
"Data Display Options")),
1147 wxFlexGridSizer* fgSizer15;
1148 fgSizer15 =
new wxFlexGridSizer(0, 3, 0, 0);
1149 fgSizer15->SetFlexibleDirection(wxBOTH);
1150 fgSizer15->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1152 wxArrayString m_cDataTypeChoices;
1153 m_cDataTypeChoices.Add(_T(
"Item0"));
1154 m_cDataType =
new wxChoice(m_scSetDataPanel, wxID_ANY, wxDefaultPosition,
1155 wxDefaultSize, m_cDataTypeChoices, 0);
1156 m_cDataType->SetSelection(0);
1157 fgSizer15->Add(m_cDataType, 0, wxBOTTOM | wxEXPAND | wxTOP, 5);
1159 wxStaticText* m_staticText12;
1160 m_staticText12 =
new wxStaticText(m_scSetDataPanel, wxID_ANY, _(
"Units"),
1161 wxDefaultPosition, wxDefaultSize, 0);
1162 m_staticText12->Wrap(-1);
1163 m_staticText12->SetMinSize(wxSize(110, -1));
1165 fgSizer15->Add(m_staticText12, 0, wxALL | wxEXPAND, 5);
1167 wxArrayString m_cDataUnitsChoices;
1168 m_cDataUnitsChoices.Add(_T(
"Item0"));
1169 m_cDataUnits =
new wxChoice(m_scSetDataPanel, wxID_ANY, wxDefaultPosition,
1170 wxDefaultSize, m_cDataUnitsChoices, 0);
1171 m_cDataUnits->SetSelection(0);
1172 fgSizer15->Add(m_cDataUnits, 0, wxBOTTOM | wxEXPAND | wxTOP, 5);
1175 new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"Barbed Arrows"),
1176 wxDefaultPosition, wxDefaultSize, 0);
1177 fgSizer15->Add(m_cbBarbedArrows, 0, wxBOTTOM | wxTOP, 5);
1179 m_fgBarbedData1 =
new wxFlexGridSizer(0, 1, 0, 0);
1180 m_fgBarbedData1->SetFlexibleDirection(wxBOTH);
1181 m_fgBarbedData1->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1183 wxString m_cBarbedColoursChoices[] = {_(
"Default Color"),
1184 _(
"Controlled Colors")};
1185 int m_cBarbedColoursNChoices =
1186 sizeof(m_cBarbedColoursChoices) /
sizeof(wxString);
1188 new wxChoice(m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
1189 m_cBarbedColoursNChoices, m_cBarbedColoursChoices, 0);
1190 m_cBarbedColours->SetSelection(0);
1191 m_fgBarbedData1->Add(m_cBarbedColours, 0, wxALL | wxEXPAND, 5);
1193 wxFlexGridSizer* fgSizer42;
1194 fgSizer42 =
new wxFlexGridSizer(0, 2, 0, 0);
1195 fgSizer42->SetFlexibleDirection(wxBOTH);
1196 fgSizer42->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1198 wxStaticText* m_staticText41;
1200 new wxStaticText(m_scSetDataPanel, wxID_ANY, _(
"Spacing(pixels)"),
1201 wxDefaultPosition, wxDefaultSize, 0);
1202 m_staticText41->Wrap(-1);
1203 fgSizer42->Add(m_staticText41, 0, wxALL, 5);
1206 new wxCheckBox(m_scSetDataPanel, BARBFIXSPACING, _(
"Fixed"),
1207 wxDefaultPosition, wxDefaultSize, 0);
1208 fgSizer42->Add(m_cBarbArrFixSpac, 0, wxLEFT | wxRIGHT | wxTOP, 5);
1210 fgSizer42->Add(0, 0, 1, wxEXPAND, 5);
1213 new wxCheckBox(m_scSetDataPanel, BARBMINSPACING, _(
"Minimum"),
1214 wxDefaultPosition, wxDefaultSize, 0);
1215 fgSizer42->Add(m_cBarbArrMinSpac, 0, wxBOTTOM | wxLEFT | wxRIGHT, 5);
1217 m_fgBarbedData1->Add(fgSizer42, 1, wxEXPAND, 0);
1219 fgSizer15->Add(m_fgBarbedData1, 1, wxEXPAND, 0);
1221 m_fgBarbedData2 =
new wxFlexGridSizer(0, 1, 0, 0);
1222 m_fgBarbedData2->SetFlexibleDirection(wxBOTH);
1223 m_fgBarbedData2->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1225 m_cBarbedVisibility =
1226 new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"Always visible"),
1227 wxDefaultPosition, wxDefaultSize, 0);
1228 m_fgBarbedData2->Add(m_cBarbedVisibility, 0, wxALL | wxEXPAND, 5);
1230 m_sBarbArrSpacing =
new wxSpinCtrl(m_scSetDataPanel, wxID_ANY, wxEmptyString,
1231 wxDefaultPosition, wxDefaultSize,
1232 wxSP_ARROW_KEYS, 30, 100, 30);
1233 m_fgBarbedData2->Add(m_sBarbArrSpacing, 0, wxALL, 5);
1235 fgSizer15->Add(m_fgBarbedData2, 1, wxEXPAND, 0);
1237 m_cbIsoBars =
new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"IsoBars"),
1238 wxDefaultPosition, wxDefaultSize, 0);
1239 fgSizer15->Add(m_cbIsoBars, 0, wxBOTTOM | wxTOP, 5);
1241 m_fIsoBarSpacing =
new wxFlexGridSizer(0, 2, 0, 0);
1242 m_fIsoBarSpacing->SetFlexibleDirection(wxBOTH);
1243 m_fIsoBarSpacing->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1245 m_tIsoBarSpacing =
new wxStaticText(m_scSetDataPanel, wxID_ANY, _(
"Spacing"),
1246 wxDefaultPosition, wxDefaultSize, 0);
1247 m_tIsoBarSpacing->Wrap(-1);
1248 m_fIsoBarSpacing->Add(m_tIsoBarSpacing, 0, wxALL, 5);
1250 m_sIsoBarSpacing =
new wxSpinCtrl(m_scSetDataPanel, wxID_ANY, wxEmptyString,
1251 wxDefaultPosition, wxDefaultSize,
1252 wxSP_ARROW_KEYS, 1, 1000, 1);
1253 m_fIsoBarSpacing->Add(m_sIsoBarSpacing, 0, wxALL | wxALIGN_RIGHT, 5);
1255 fgSizer15->Add(m_fIsoBarSpacing, 1, wxALL | wxEXPAND, 0);
1257 m_fIsoBarVisibility =
new wxFlexGridSizer(0, 1, 0, 0);
1258 m_fIsoBarVisibility->SetFlexibleDirection(wxBOTH);
1259 m_fIsoBarVisibility->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1261 m_sIsoBarVisibility =
1262 new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"Always visible"),
1263 wxDefaultPosition, wxDefaultSize, 0);
1264 m_fIsoBarVisibility->Add(m_sIsoBarVisibility, 0, wxALL | wxEXPAND, 5);
1266 fgSizer15->Add(m_fIsoBarVisibility, 1, wxALL | wxEXPAND, 5);
1268 fgSizer15->Add(0, 0, 1, wxEXPAND, 5);
1270 m_cbAbbrIsoBarsNumbers =
1271 new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"Abbreviated Numbers"),
1272 wxDefaultPosition, wxDefaultSize, 0);
1273 fgSizer15->Add(m_cbAbbrIsoBarsNumbers, 0, wxEXPAND, 5);
1275 fgSizer15->Add(0, 0, 1, wxEXPAND, 5);
1277 m_cbDirectionArrows =
1278 new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"Direction Arrows"),
1279 wxDefaultPosition, wxDefaultSize, 0);
1280 fgSizer15->Add(m_cbDirectionArrows, 0, wxBOTTOM | wxTOP, 5);
1282 m_fgDirArrData1 =
new wxFlexGridSizer(0, 1, 0, 0);
1283 m_fgDirArrData1->SetFlexibleDirection(wxBOTH);
1284 m_fgDirArrData1->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1286 wxString m_cDirectionArrowFormChoices[] = {
1287 _(
"Single Arrow"), _(
"Double Arrow"), _(
"Proportional Arrow")};
1288 int m_cDirectionArrowFormNChoices =
1289 sizeof(m_cDirectionArrowFormChoices) /
sizeof(wxString);
1290 m_cDirectionArrowForm =
new wxChoice(
1291 m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
1292 m_cDirectionArrowFormNChoices, m_cDirectionArrowFormChoices, 0);
1293 m_cDirectionArrowForm->SetSelection(1);
1294 m_fgDirArrData1->Add(m_cDirectionArrowForm, 0, wxBOTTOM | wxEXPAND | wxTOP,
1297 wxFlexGridSizer* fgSizer43;
1298 fgSizer43 =
new wxFlexGridSizer(0, 2, 0, 0);
1299 fgSizer43->SetFlexibleDirection(wxBOTH);
1300 fgSizer43->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1302 wxStaticText* m_staticText42;
1304 new wxStaticText(m_scSetDataPanel, wxID_ANY, _(
"Spacing(pixels)"),
1305 wxDefaultPosition, wxDefaultSize, 0);
1306 m_staticText42->Wrap(-1);
1307 fgSizer43->Add(m_staticText42, 0, wxALL, 5);
1309 m_cDirArrFixSpac =
new wxCheckBox(m_scSetDataPanel, DIRFIXSPACING, _(
"Fixed"),
1310 wxDefaultPosition, wxDefaultSize, 0);
1311 fgSizer43->Add(m_cDirArrFixSpac, 0, wxLEFT | wxRIGHT | wxTOP, 5);
1313 fgSizer43->Add(0, 0, 1, wxEXPAND, 5);
1316 new wxCheckBox(m_scSetDataPanel, DIRMINSPACING, _(
"Minimum"),
1317 wxDefaultPosition, wxDefaultSize, 0);
1318 fgSizer43->Add(m_cDirArrMinSpac, 0, wxBOTTOM | wxLEFT | wxRIGHT, 5);
1320 m_fgDirArrData1->Add(fgSizer43, 1, wxEXPAND, 0);
1322 fgSizer15->Add(m_fgDirArrData1, 1, wxEXPAND, 5);
1324 m_fgDirArrData2 =
new wxFlexGridSizer(0, 1, 0, 0);
1325 m_fgDirArrData2->SetFlexibleDirection(wxBOTH);
1326 m_fgDirArrData2->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1328 wxString m_cDirectionArrowSizeChoices[] = {_(
"Default Size"),
1330 int m_cDirectionArrowSizeNChoices =
1331 sizeof(m_cDirectionArrowSizeChoices) /
sizeof(wxString);
1332 m_cDirectionArrowSize =
new wxChoice(
1333 m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
1334 m_cDirectionArrowSizeNChoices, m_cDirectionArrowSizeChoices, 0);
1335 m_cDirectionArrowSize->SetSelection(0);
1336 m_fgDirArrData2->Add(m_cDirectionArrowSize, 0, wxALL | wxEXPAND, 5);
1338 m_sDirArrSpacing =
new wxSpinCtrl(m_scSetDataPanel, wxID_ANY, wxEmptyString,
1339 wxDefaultPosition, wxDefaultSize,
1340 wxSP_ARROW_KEYS, 30, 100, 30);
1341 m_fgDirArrData2->Add(m_sDirArrSpacing, 0, wxALL, 5);
1343 fgSizer15->Add(m_fgDirArrData2, 1, wxEXPAND, 0);
1345 m_cbOverlayMap =
new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"OverlayMap"),
1346 wxDefaultPosition, wxDefaultSize, 0);
1347 fgSizer15->Add(m_cbOverlayMap, 0, wxBOTTOM | wxTOP, 5);
1350 new wxStaticText(m_scSetDataPanel, wxID_ANY, _(
"Color scheme"),
1351 wxDefaultPosition, wxDefaultSize, 0);
1352 m_tOverlayColors->Wrap(-1);
1353 fgSizer15->Add(m_tOverlayColors, 0, wxALL | wxEXPAND, 5);
1355 wxString m_cOverlayColorsChoices[] = {
1356 _(
"Generic"), _(
"Wind"), _(
"Air Temp"), _(
"Sea Temp"),
1357 _(
"Rainfall"), _(
"Cloud Cover"), _(
"Current"), _(
"CAPE"),
1358 _(
"REFC"), _(
"Windy")};
1359 int m_cOverlayColorsNChoices =
1360 sizeof(m_cOverlayColorsChoices) /
sizeof(wxString);
1362 new wxChoice(m_scSetDataPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
1363 m_cOverlayColorsNChoices, m_cOverlayColorsChoices, 0);
1364 m_cOverlayColors->SetSelection(0);
1365 fgSizer15->Add(m_cOverlayColors, 0, wxALL | wxEXPAND, 5);
1367 m_cbNumbers =
new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"Numbers"),
1368 wxDefaultPosition, wxDefaultSize, 0);
1369 fgSizer15->Add(m_cbNumbers, 0, wxBOTTOM | wxTOP, 5);
1371 m_fgNumData1 =
new wxFlexGridSizer(0, 2, 0, 0);
1372 m_fgNumData1->SetFlexibleDirection(wxBOTH);
1373 m_fgNumData1->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1375 wxStaticText* m_staticText43;
1377 new wxStaticText(m_scSetDataPanel, wxID_ANY, _(
"Spacing(pixels)"),
1378 wxDefaultPosition, wxDefaultSize, 0);
1379 m_staticText43->Wrap(-1);
1380 m_fgNumData1->Add(m_staticText43, 0, wxALL, 5);
1382 m_cNumFixSpac =
new wxCheckBox(m_scSetDataPanel, NUMFIXSPACING, _(
"Fixed"),
1383 wxDefaultPosition, wxDefaultSize, 0);
1384 m_fgNumData1->Add(m_cNumFixSpac, 0, wxLEFT | wxRIGHT | wxTOP, 5);
1386 m_fgNumData1->Add(0, 0, 1, wxEXPAND, 5);
1388 m_cNumMinSpac =
new wxCheckBox(m_scSetDataPanel, NUMMINSPACING, _(
"Minimum"),
1389 wxDefaultPosition, wxDefaultSize, 0);
1390 m_fgNumData1->Add(m_cNumMinSpac, 0, wxBOTTOM | wxLEFT | wxRIGHT, 5);
1392 fgSizer15->Add(m_fgNumData1, 1, wxEXPAND, 0);
1394 m_sNumbersSpacing =
new wxSpinCtrl(m_scSetDataPanel, wxID_ANY, wxEmptyString,
1395 wxDefaultPosition, wxDefaultSize,
1396 wxSP_ARROW_KEYS, 30, 100, 50);
1397 fgSizer15->Add(m_sNumbersSpacing, 0, wxALL, 5);
1399 m_cbParticles =
new wxCheckBox(m_scSetDataPanel, wxID_ANY, _(
"Particle Map"),
1400 wxDefaultPosition, wxDefaultSize, 0);
1401 fgSizer15->Add(m_cbParticles, 0, wxBOTTOM | wxTOP, 5);
1403 m_ctParticles =
new wxStaticText(m_scSetDataPanel, wxID_ANY, _(
"Density"),
1404 wxDefaultPosition, wxDefaultSize, 0);
1405 m_ctParticles->Wrap(-1);
1406 fgSizer15->Add(m_ctParticles, 0, wxALL, 5);
1408#if defined(__WXOSX__) && !wxCHECK_VERSION(3, 1, 0)
1409 m_sParticleDensity =
1410 new wxSlider(m_scSetDataPanel, wxID_ANY, 5, 1, 10, wxDefaultPosition,
1411 wxDefaultSize, wxSL_BOTTOM | wxSL_HORIZONTAL);
1413 m_sParticleDensity =
1414 new wxSlider(m_scSetDataPanel, wxID_ANY, 5, 1, 10, wxDefaultPosition,
1415 wxDefaultSize, wxSL_BOTTOM | wxSL_HORIZONTAL | wxSL_LABELS);
1417 fgSizer15->Add(m_sParticleDensity, 0, wxALL | wxEXPAND, 5);
1419 sbSizer101->Add(fgSizer15, 1, wxEXPAND, 5);
1421 m_fgSetDataSizer->Add(sbSizer101, 1, wxEXPAND | wxTOP, 10);
1423 m_fgSetDataSizer->Add(0, 0, 1, wxEXPAND, 5);
1425 wxStaticBoxSizer* sbSizer12;
1426 sbSizer12 =
new wxStaticBoxSizer(
1427 new wxStaticBox(m_scSetDataPanel, wxID_ANY,
1428 _(
"Transparency for all Overlay Maps")),
1431 wxFlexGridSizer* fgSizer34;
1432 fgSizer34 =
new wxFlexGridSizer(0, 2, 0, 0);
1433 fgSizer34->SetFlexibleDirection(wxBOTH);
1434 fgSizer34->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1436 m_staticText24 =
new wxStaticText(m_scSetDataPanel, wxID_ANY,
1437 _(
"Overlay Transparency (%)"),
1438 wxDefaultPosition, wxDefaultSize, 0);
1439 m_staticText24->Wrap(-1);
1440 fgSizer34->Add(m_staticText24, 0, wxEXPAND | wxRIGHT | wxTOP, 15);
1443 new wxSlider(m_scSetDataPanel, wxID_ANY, 50, 0, 100, wxDefaultPosition,
1444 wxSize(-1, -1), wxSL_BOTTOM | wxSL_HORIZONTAL | wxSL_LABELS);
1445 m_sTransparency->SetMinSize(wxSize(250, -1));
1447 fgSizer34->Add(m_sTransparency, 0, wxALL | wxEXPAND, 5);
1449 sbSizer12->Add(fgSizer34, 1, wxEXPAND | wxLEFT, 5);
1451 m_fgSetDataSizer->Add(sbSizer12, 1, wxEXPAND | wxTOP, 10);
1453 m_scSetDataPanel->SetSizer(m_fgSetDataSizer);
1454 m_scSetDataPanel->Layout();
1455 m_fgSetDataSizer->Fit(m_scSetDataPanel);
1456 m_nSettingsBook->AddPage(m_scSetDataPanel, _(
"Data"),
false);
1457 wxScrolledWindow* m_scSetPlaybackPanel;
1458 m_scSetPlaybackPanel =
1459 new wxScrolledWindow(m_nSettingsBook, wxID_ANY, wxDefaultPosition,
1460 wxDefaultSize, wxHSCROLL | wxVSCROLL);
1461 m_scSetPlaybackPanel->SetScrollRate(5, 5);
1462 m_fgSetPlaybackSizer =
new wxFlexGridSizer(0, 1, 0, 0);
1463 m_fgSetPlaybackSizer->AddGrowableCol(0);
1464 m_fgSetPlaybackSizer->SetFlexibleDirection(wxBOTH);
1465 m_fgSetPlaybackSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1467 wxStaticBoxSizer* sbSizer121;
1468 sbSizer121 =
new wxStaticBoxSizer(
1469 new wxStaticBox(m_scSetPlaybackPanel, wxID_ANY, _(
"Playback Options")),
1472 wxFlexGridSizer* fgSizer48;
1473 fgSizer48 =
new wxFlexGridSizer(0, 1, 0, 0);
1474 fgSizer48->SetFlexibleDirection(wxBOTH);
1475 fgSizer48->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1477 wxStaticText* m_staticText4;
1479 new wxStaticText(m_scSetPlaybackPanel, wxID_ANY, _(
"Speed Control"),
1480 wxDefaultPosition, wxDefaultSize, 0);
1481 m_staticText4->Wrap(-1);
1482 fgSizer48->Add(m_staticText4, 0, wxALL | wxEXPAND, 5);
1484 wxFlexGridSizer* fgSizer480;
1485 fgSizer480 =
new wxFlexGridSizer(0, 4, 0, 0);
1486 fgSizer480->SetFlexibleDirection(wxBOTH);
1487 fgSizer480->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1489 fgSizer480->Add(0, 0, 1, wxLEFT | wxRIGHT, 15);
1491 wxStaticText* m_staticText400;
1492 m_staticText400 =
new wxStaticText(m_scSetPlaybackPanel, wxID_ANY, _(
"Slow"),
1493 wxDefaultPosition, wxDefaultSize, 0);
1494 m_staticText400->Wrap(-1);
1495 fgSizer480->Add(m_staticText400, 0, wxLEFT | wxTOP, 5);
1497 m_sUpdatesPerSecond =
1498 new wxSlider(m_scSetPlaybackPanel, wxID_ANY, 4, 2, 12, wxDefaultPosition,
1499 wxSize(-1, -1), wxSL_HORIZONTAL);
1500 fgSizer480->Add(m_sUpdatesPerSecond, 0, wxEXPAND | wxBOTTOM, 5);
1502 wxStaticText* m_staticText401;
1503 m_staticText401 =
new wxStaticText(m_scSetPlaybackPanel, wxID_ANY, _(
"Fast"),
1504 wxDefaultPosition, wxDefaultSize, 0);
1505 m_staticText401->Wrap(-1);
1506 fgSizer480->Add(m_staticText401, 0, wxRIGHT | wxTOP, 5);
1508 fgSizer48->Add(fgSizer480, 0, wxALL | wxEXPAND, 5);
1510 m_cLoopMode =
new wxCheckBox(m_scSetPlaybackPanel, wxID_ANY, _(
"Loop Mode"),
1511 wxDefaultPosition, wxDefaultSize, 0);
1512 fgSizer48->Add(m_cLoopMode, 0, wxALL, 5);
1514 wxFlexGridSizer* fgSizer481;
1515 fgSizer481 =
new wxFlexGridSizer(0, 3, 0, 0);
1516 fgSizer481->SetFlexibleDirection(wxBOTH);
1517 fgSizer481->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1519 fgSizer481->Add(0, 0, 1, wxLEFT | wxRIGHT, 15);
1522 new wxStaticText(m_scSetPlaybackPanel, wxID_ANY, _(
"Loop Start"),
1523 wxDefaultPosition, wxDefaultSize, 0);
1524 m_staticText26->Wrap(-1);
1525 fgSizer481->Add(m_staticText26, 0, wxALL | wxEXPAND, 5);
1527 wxString m_cLoopStartPointChoices[] = {_(
"Top of Grib File"),
1528 _(
"Current time forecast")};
1529 int m_cLoopStartPointNChoices =
1530 sizeof(m_cLoopStartPointChoices) /
sizeof(wxString);
1531 m_cLoopStartPoint =
new wxChoice(
1532 m_scSetPlaybackPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
1533 m_cLoopStartPointNChoices, m_cLoopStartPointChoices, 0);
1534 m_cLoopStartPoint->SetSelection(0);
1535 fgSizer481->Add(m_cLoopStartPoint, 0, wxALL | wxEXPAND, 5);
1537 fgSizer48->Add(fgSizer481, 0, wxALL, 5);
1539 m_cInterpolate =
new wxCheckBox(m_scSetPlaybackPanel, wxID_ANY,
1540 _(
"Interpolate between gribs"),
1541 wxDefaultPosition, wxDefaultSize, 0);
1542 fgSizer48->Add(m_cInterpolate, 0, wxALL | wxEXPAND, 5);
1544 wxFlexGridSizer* fgSizer482;
1545 fgSizer482 =
new wxFlexGridSizer(0, 3, 0, 0);
1546 fgSizer482->SetFlexibleDirection(wxBOTH);
1547 fgSizer482->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1549 fgSizer482->Add(0, 0, 1, wxLEFT | wxRIGHT, 15);
1551 m_tSlicesPerUpdate =
1552 new wxStaticText(m_scSetPlaybackPanel, wxID_ANY, _(
"Time Interval"),
1553 wxDefaultPosition, wxDefaultSize, 0);
1554 m_tSlicesPerUpdate->Wrap(-1);
1555 fgSizer482->Add(m_tSlicesPerUpdate, 0, wxALL | wxEXPAND, 5);
1557 wxArrayString m_sSlicesPerUpdateChoices;
1558 m_sSlicesPerUpdate =
1559 new wxChoice(m_scSetPlaybackPanel, wxID_ANY, wxDefaultPosition,
1560 wxDefaultSize, m_sSlicesPerUpdateChoices, 0);
1561 m_sSlicesPerUpdate->SetSelection(0);
1562 fgSizer482->Add(m_sSlicesPerUpdate, 0, wxALL | wxEXPAND, 5);
1564 fgSizer48->Add(fgSizer482, 0, wxALL | wxEXPAND, 5);
1566 sbSizer121->Add(fgSizer48, 1, wxEXPAND | wxALL, 5);
1568 m_fgSetPlaybackSizer->Add(sbSizer121, 1, wxEXPAND | wxTOP, 10);
1570 m_scSetPlaybackPanel->SetSizer(m_fgSetPlaybackSizer);
1571 m_scSetPlaybackPanel->Layout();
1572 m_fgSetPlaybackSizer->Fit(m_scSetPlaybackPanel);
1573 m_nSettingsBook->AddPage(m_scSetPlaybackPanel, _(
"Playback"),
false);
1574 wxScrolledWindow* m_scSetGuiPanel;
1576 new wxScrolledWindow(m_nSettingsBook, wxID_ANY, wxDefaultPosition,
1577 wxDefaultSize, wxHSCROLL | wxVSCROLL);
1578 m_scSetGuiPanel->SetScrollRate(5, 5);
1579 m_fgSetGuiSizer =
new wxFlexGridSizer(0, 1, 0, 0);
1580 m_fgSetGuiSizer->AddGrowableCol(0);
1581 m_fgSetGuiSizer->SetFlexibleDirection(wxBOTH);
1582 m_fgSetGuiSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1584 wxStaticBoxSizer* sbSizer9;
1585 sbSizer9 =
new wxStaticBoxSizer(
1586 new wxStaticBox(m_scSetGuiPanel, wxID_ANY, _(
"Dialogs Style")),
1589 wxFlexGridSizer* fgSizer47;
1590 fgSizer47 =
new wxFlexGridSizer(0, 1, 0, 0);
1591 fgSizer47->SetFlexibleDirection(wxBOTH);
1592 fgSizer47->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1594 m_rbCurDataAttaWCap =
1595 new wxRadioButton(m_scSetGuiPanel, wxID_ANY,
1596 _(
"Data at cursor dialog is attached to icons bar - "
1597 "with a title/drag bar"),
1598 wxDefaultPosition, wxDefaultSize, wxRB_GROUP);
1599 fgSizer47->Add(m_rbCurDataAttaWCap, 0, wxALL, 5);
1601 m_rbCurDataAttaWoCap =
1602 new wxRadioButton(m_scSetGuiPanel, wxID_ANY,
1603 _(
"Data at cursor dialog is attached to icons bar - "
1604 "without a title/drag bar"),
1605 wxDefaultPosition, wxDefaultSize, 0);
1606 fgSizer47->Add(m_rbCurDataAttaWoCap, 0, wxALL, 5);
1608 m_rbCurDataIsolHoriz =
new wxRadioButton(
1609 m_scSetGuiPanel, wxID_ANY,
1610 _(
"Data at cursor dialog is isolated and displayed horizontally"),
1611 wxDefaultPosition, wxDefaultSize, 0);
1612 fgSizer47->Add(m_rbCurDataIsolHoriz, 0, wxALL, 5);
1614 m_rbCurDataIsolVertic =
new wxRadioButton(
1615 m_scSetGuiPanel, wxID_ANY,
1616 _(
"Data at cursor dialog is isolated and displayed vertically"),
1617 wxDefaultPosition, wxDefaultSize, 0);
1618 fgSizer47->Add(m_rbCurDataIsolVertic, 0, wxALL, 5);
1620 sbSizer9->Add(fgSizer47, 1, wxEXPAND, 5);
1622 m_fgSetGuiSizer->Add(sbSizer9, 1, wxEXPAND | wxTOP, 10);
1624 m_fgSetGuiSizer->Add(0, 0, 1, wxALL, 5);
1626 wxStaticBoxSizer* sbSizer10;
1627 sbSizer10 =
new wxStaticBoxSizer(
1628 new wxStaticBox(m_scSetGuiPanel, wxID_ANY, _(
"Buttons Visibility")),
1631 wxFlexGridSizer* fgSizer52;
1632 fgSizer52 =
new wxFlexGridSizer(0, 4, 0, 0);
1633 fgSizer52->SetFlexibleDirection(wxBOTH);
1634 fgSizer52->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
1636 fgSizer52->Add(0, 0, 1, wxEXPAND, 5);
1638 fgSizer52->Add(0, 0, 1, wxEXPAND, 5);
1640 wxStaticText* m_staticText44;
1642 new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Attached icon bar"),
1643 wxDefaultPosition, wxDefaultSize, 0);
1644 m_staticText44->Wrap(-1);
1645 fgSizer52->Add(m_staticText44, 0, wxBOTTOM | wxLEFT | wxRIGHT, 5);
1647 wxStaticText* m_staticText45;
1649 new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Isolated icon bar"),
1650 wxDefaultPosition, wxDefaultSize, 0);
1651 m_staticText45->Wrap(-1);
1652 fgSizer52->Add(m_staticText45, 0, wxBOTTOM | wxLEFT | wxRIGHT, 5);
1654 m_biAltitude =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1655 wxDefaultPosition, wxDefaultSize, 0);
1656 fgSizer52->Add(m_biAltitude, 0, wxALL, 2);
1658 wxStaticText* m_staticText46;
1660 new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Geopot. Height Choice"),
1661 wxDefaultPosition, wxDefaultSize, 0);
1662 m_staticText46->Wrap(-1);
1663 fgSizer52->Add(m_staticText46, 0, wxALL, 3);
1665 wxCheckBox* m_checkBox48;
1666 m_checkBox48 =
new wxCheckBox(m_scSetGuiPanel, AC0, wxEmptyString,
1667 wxDefaultPosition, wxDefaultSize, 0);
1668 fgSizer52->Add(m_checkBox48, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1670 wxCheckBox* m_checkBox49;
1671 m_checkBox49 =
new wxCheckBox(m_scSetGuiPanel, AC1, wxEmptyString,
1672 wxDefaultPosition, wxDefaultSize, 0);
1673 fgSizer52->Add(m_checkBox49, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1675 m_biNow =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1676 wxDefaultPosition, wxDefaultSize, 0);
1677 fgSizer52->Add(m_biNow, 0, wxALL, 3);
1679 wxStaticText* m_staticText47;
1680 m_staticText47 =
new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Now"),
1681 wxDefaultPosition, wxDefaultSize, 0);
1682 m_staticText47->Wrap(-1);
1683 fgSizer52->Add(m_staticText47, 0, wxALL, 3);
1685 wxCheckBox* m_checkBox50;
1686 m_checkBox50 =
new wxCheckBox(m_scSetGuiPanel, NW0, wxEmptyString,
1687 wxDefaultPosition, wxDefaultSize, 0);
1688 fgSizer52->Add(m_checkBox50, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1690 wxCheckBox* m_checkBox51;
1691 m_checkBox51 =
new wxCheckBox(m_scSetGuiPanel, NW1, wxEmptyString,
1692 wxDefaultPosition, wxDefaultSize, 0);
1693 fgSizer52->Add(m_checkBox51, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1695 m_biZoomToCenter =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1696 wxDefaultPosition, wxDefaultSize, 0);
1697 fgSizer52->Add(m_biZoomToCenter, 0, wxALL, 3);
1699 wxStaticText* m_staticText48;
1701 new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Zoom to Center"),
1702 wxDefaultPosition, wxDefaultSize, 0);
1703 m_staticText48->Wrap(-1);
1704 fgSizer52->Add(m_staticText48, 0, wxALL, 3);
1706 wxCheckBox* m_checkBox52;
1707 m_checkBox52 =
new wxCheckBox(m_scSetGuiPanel, ZC0, wxEmptyString,
1708 wxDefaultPosition, wxDefaultSize, 0);
1709 fgSizer52->Add(m_checkBox52, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1711 wxCheckBox* m_checkBox53;
1712 m_checkBox53 =
new wxCheckBox(m_scSetGuiPanel, ZC1, wxEmptyString,
1713 wxDefaultPosition, wxDefaultSize, 0);
1714 fgSizer52->Add(m_checkBox53, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1716 m_biShowCursorData =
1717 new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1718 wxDefaultPosition, wxDefaultSize, 0);
1719 fgSizer52->Add(m_biShowCursorData, 0, wxALL, 3);
1721 wxStaticText* m_staticText49;
1723 new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Show Cursor Data"),
1724 wxDefaultPosition, wxDefaultSize, 0);
1725 m_staticText49->Wrap(-1);
1726 fgSizer52->Add(m_staticText49, 0, wxALL, 3);
1728 wxCheckBox* m_checkBox54;
1729 m_checkBox54 =
new wxCheckBox(m_scSetGuiPanel, SCD0, wxEmptyString,
1730 wxDefaultPosition, wxDefaultSize, 0);
1731 fgSizer52->Add(m_checkBox54, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1733 wxCheckBox* m_checkBox55;
1734 m_checkBox55 =
new wxCheckBox(m_scSetGuiPanel, SCD1, wxEmptyString,
1735 wxDefaultPosition, wxDefaultSize, 0);
1736 fgSizer52->Add(m_checkBox55, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1738 m_biPlay =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1739 wxDefaultPosition, wxDefaultSize, 0);
1740 fgSizer52->Add(m_biPlay, 0, wxALL, 3);
1742 wxStaticText* m_staticText50;
1743 m_staticText50 =
new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Playback"),
1744 wxDefaultPosition, wxDefaultSize, 0);
1745 m_staticText50->Wrap(-1);
1746 fgSizer52->Add(m_staticText50, 0, wxALL, 3);
1748 wxCheckBox* m_checkBox56;
1749 m_checkBox56 =
new wxCheckBox(m_scSetGuiPanel, PB0, wxEmptyString,
1750 wxDefaultPosition, wxDefaultSize, 0);
1751 fgSizer52->Add(m_checkBox56, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1753 wxCheckBox* m_checkBox57;
1754 m_checkBox57 =
new wxCheckBox(m_scSetGuiPanel, PB1, wxEmptyString,
1755 wxDefaultPosition, wxDefaultSize, 0);
1756 fgSizer52->Add(m_checkBox57, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1758 m_biTimeSlider =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1759 wxDefaultPosition, wxDefaultSize, 0);
1760 fgSizer52->Add(m_biTimeSlider, 0, wxALL, 3);
1762 wxStaticText* m_staticText51;
1763 m_staticText51 =
new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Time Slider"),
1764 wxDefaultPosition, wxDefaultSize, 0);
1765 m_staticText51->Wrap(-1);
1766 fgSizer52->Add(m_staticText51, 0, wxALL, 3);
1768 wxCheckBox* m_checkBox58;
1769 m_checkBox58 =
new wxCheckBox(m_scSetGuiPanel, TL0, wxEmptyString,
1770 wxDefaultPosition, wxDefaultSize, 0);
1771 fgSizer52->Add(m_checkBox58, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1773 wxCheckBox* m_checkBox59;
1774 m_checkBox59 =
new wxCheckBox(m_scSetGuiPanel, TL1, wxEmptyString,
1775 wxDefaultPosition, wxDefaultSize, 0);
1776 fgSizer52->Add(m_checkBox59, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1778 m_biOpenFile =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1779 wxDefaultPosition, wxDefaultSize, 0);
1780 fgSizer52->Add(m_biOpenFile, 0, wxALL, 3);
1782 wxStaticText* m_staticText52;
1783 m_staticText52 =
new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Open File"),
1784 wxDefaultPosition, wxDefaultSize, 0);
1785 m_staticText52->Wrap(-1);
1786 fgSizer52->Add(m_staticText52, 0, wxALL, 3);
1788 wxCheckBox* m_checkBox60;
1789 m_checkBox60 =
new wxCheckBox(m_scSetGuiPanel, OF0, wxEmptyString,
1790 wxDefaultPosition, wxDefaultSize, 0);
1791 fgSizer52->Add(m_checkBox60, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1793 wxCheckBox* m_checkBox61;
1794 m_checkBox61 =
new wxCheckBox(m_scSetGuiPanel, OF1, wxEmptyString,
1795 wxDefaultPosition, wxDefaultSize, 0);
1796 fgSizer52->Add(m_checkBox61, 0, wxALIGN_CENTER_HORIZONTAL, 5);
1798 m_biSettings =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1799 wxDefaultPosition, wxDefaultSize, 0);
1800 fgSizer52->Add(m_biSettings, 0, wxALL, 3);
1802 wxStaticText* m_staticText53;
1803 m_staticText53 =
new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Settings"),
1804 wxDefaultPosition, wxDefaultSize, 0);
1805 m_staticText53->Wrap(-1);
1806 fgSizer52->Add(m_staticText53, 0, wxALL, 3);
1808 wxCheckBox* m_checkBox62;
1809 m_checkBox62 =
new wxCheckBox(m_scSetGuiPanel, STS0, wxEmptyString,
1810 wxDefaultPosition, wxDefaultSize, 0);
1811 fgSizer52->Add(m_checkBox62, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1813 wxCheckBox* m_checkBox63;
1814 m_checkBox63 =
new wxCheckBox(m_scSetGuiPanel, STS1, wxEmptyString,
1815 wxDefaultPosition, wxDefaultSize, 0);
1816 fgSizer52->Add(m_checkBox63, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1818 m_biRequest =
new wxStaticBitmap(m_scSetGuiPanel, wxID_ANY, wxNullBitmap,
1819 wxDefaultPosition, wxDefaultSize, 0);
1820 fgSizer52->Add(m_biRequest, 0, wxALL, 3);
1822 wxStaticText* m_staticText54;
1823 m_staticText54 =
new wxStaticText(m_scSetGuiPanel, wxID_ANY, _(
"Request"),
1824 wxDefaultPosition, wxDefaultSize, 0);
1825 m_staticText54->Wrap(-1);
1826 fgSizer52->Add(m_staticText54, 0, wxALL, 3);
1828 wxCheckBox* m_checkBox64;
1829 m_checkBox64 =
new wxCheckBox(m_scSetGuiPanel, RQ0, wxEmptyString,
1830 wxDefaultPosition, wxDefaultSize, 0);
1831 fgSizer52->Add(m_checkBox64, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1833 wxCheckBox* m_checkBox65;
1834 m_checkBox65 =
new wxCheckBox(m_scSetGuiPanel, RQ1, wxEmptyString,
1835 wxDefaultPosition, wxDefaultSize, 0);
1836 fgSizer52->Add(m_checkBox65, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 3);
1838 sbSizer10->Add(fgSizer52, 1, wxEXPAND, 5);
1840 m_fgSetGuiSizer->Add(sbSizer10, 1, wxEXPAND | wxTOP, 5);
1842 m_scSetGuiPanel->SetSizer(m_fgSetGuiSizer);
1843 m_scSetGuiPanel->Layout();
1844 m_fgSetGuiSizer->Fit(m_scSetGuiPanel);
1845 m_nSettingsBook->AddPage(m_scSetGuiPanel, _(
"GUI"),
true);
1847 fgSizer53->Add(m_nSettingsBook, 1, wxEXPAND | wxALL, 5);
1849 m_sButton =
new wxStdDialogButtonSizer();
1850 m_sButtonOK =
new wxButton(
this, wxID_OK);
1851 m_sButton->AddButton(m_sButtonOK);
1852 m_sButtonApply =
new wxButton(
this, wxID_APPLY);
1853 m_sButton->AddButton(m_sButtonApply);
1854 m_sButtonCancel =
new wxButton(
this, wxID_CANCEL, _(
"Cancel"));
1855 m_sButton->AddButton(m_sButtonCancel);
1856 m_sButton->Realize();
1858 fgSizer53->Add(m_sButton, 1, wxEXPAND, 5);
1860 this->SetSizer(fgSizer53);
1862 fgSizer53->Fit(
this);
1864 this->Centre(wxBOTH);
1867 m_nSettingsBook->Connect(
1868 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
1869 wxNotebookEventHandler(GribSettingsDialogBase::OnPageChange),
nullptr,
1871 m_cDataType->Connect(
1872 wxEVT_COMMAND_CHOICE_SELECTED,
1873 wxCommandEventHandler(GribSettingsDialogBase::OnDataTypeChoice),
nullptr,
1875 m_cDataUnits->Connect(
1876 wxEVT_COMMAND_CHOICE_SELECTED,
1877 wxCommandEventHandler(GribSettingsDialogBase::OnUnitChange),
nullptr,
1879 m_cBarbArrFixSpac->Connect(
1880 wxEVT_COMMAND_CHECKBOX_CLICKED,
1881 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1883 m_cBarbArrMinSpac->Connect(
1884 wxEVT_COMMAND_CHECKBOX_CLICKED,
1885 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1887 m_cDirArrFixSpac->Connect(
1888 wxEVT_COMMAND_CHECKBOX_CLICKED,
1889 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1891 m_cDirArrMinSpac->Connect(
1892 wxEVT_COMMAND_CHECKBOX_CLICKED,
1893 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1895 m_cNumFixSpac->Connect(
1896 wxEVT_COMMAND_CHECKBOX_CLICKED,
1897 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1899 m_cNumMinSpac->Connect(
1900 wxEVT_COMMAND_CHECKBOX_CLICKED,
1901 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1903 m_sTransparency->Connect(
1905 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1907 m_sTransparency->Connect(
1908 wxEVT_SCROLL_BOTTOM,
1909 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1911 m_sTransparency->Connect(
1912 wxEVT_SCROLL_LINEUP,
1913 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1915 m_sTransparency->Connect(
1916 wxEVT_SCROLL_LINEDOWN,
1917 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1919 m_sTransparency->Connect(
1920 wxEVT_SCROLL_PAGEUP,
1921 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1923 m_sTransparency->Connect(
1924 wxEVT_SCROLL_PAGEDOWN,
1925 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1927 m_sTransparency->Connect(
1928 wxEVT_SCROLL_THUMBTRACK,
1929 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1931 m_sTransparency->Connect(
1932 wxEVT_SCROLL_THUMBRELEASE,
1933 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1935 m_sTransparency->Connect(
1936 wxEVT_SCROLL_CHANGED,
1937 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
1939 m_cLoopMode->Connect(
1940 wxEVT_COMMAND_CHECKBOX_CLICKED,
1941 wxCommandEventHandler(GribSettingsDialogBase::OnIntepolateChange),
1943 m_cInterpolate->Connect(
1944 wxEVT_COMMAND_CHECKBOX_CLICKED,
1945 wxCommandEventHandler(GribSettingsDialogBase::OnIntepolateChange),
1947 m_rbCurDataAttaWCap->Connect(
1948 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
1949 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
1951 m_rbCurDataAttaWoCap->Connect(
1952 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
1953 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
1955 m_rbCurDataIsolHoriz->Connect(
1956 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
1957 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
1959 m_rbCurDataIsolVertic->Connect(
1960 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
1961 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
1963 m_sButtonApply->Connect(
1964 wxEVT_COMMAND_BUTTON_CLICKED,
1965 wxCommandEventHandler(GribSettingsDialogBase::OnApply),
nullptr,
this);
1968GribSettingsDialogBase::~GribSettingsDialogBase() {
1970 m_nSettingsBook->Disconnect(
1971 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
1972 wxNotebookEventHandler(GribSettingsDialogBase::OnPageChange),
nullptr,
1974 m_cDataType->Disconnect(
1975 wxEVT_COMMAND_CHOICE_SELECTED,
1976 wxCommandEventHandler(GribSettingsDialogBase::OnDataTypeChoice),
nullptr,
1978 m_cDataUnits->Disconnect(
1979 wxEVT_COMMAND_CHOICE_SELECTED,
1980 wxCommandEventHandler(GribSettingsDialogBase::OnUnitChange),
nullptr,
1982 m_cBarbArrFixSpac->Disconnect(
1983 wxEVT_COMMAND_CHECKBOX_CLICKED,
1984 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1986 m_cBarbArrMinSpac->Disconnect(
1987 wxEVT_COMMAND_CHECKBOX_CLICKED,
1988 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1990 m_cDirArrFixSpac->Disconnect(
1991 wxEVT_COMMAND_CHECKBOX_CLICKED,
1992 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1994 m_cDirArrMinSpac->Disconnect(
1995 wxEVT_COMMAND_CHECKBOX_CLICKED,
1996 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
1998 m_cNumFixSpac->Disconnect(
1999 wxEVT_COMMAND_CHECKBOX_CLICKED,
2000 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
2002 m_cNumMinSpac->Disconnect(
2003 wxEVT_COMMAND_CHECKBOX_CLICKED,
2004 wxCommandEventHandler(GribSettingsDialogBase::OnSpacingModeChange),
2006 m_sTransparency->Disconnect(
2008 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2010 m_sTransparency->Disconnect(
2011 wxEVT_SCROLL_BOTTOM,
2012 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2014 m_sTransparency->Disconnect(
2015 wxEVT_SCROLL_LINEUP,
2016 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2018 m_sTransparency->Disconnect(
2019 wxEVT_SCROLL_LINEDOWN,
2020 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2022 m_sTransparency->Disconnect(
2023 wxEVT_SCROLL_PAGEUP,
2024 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2026 m_sTransparency->Disconnect(
2027 wxEVT_SCROLL_PAGEDOWN,
2028 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2030 m_sTransparency->Disconnect(
2031 wxEVT_SCROLL_THUMBTRACK,
2032 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2034 m_sTransparency->Disconnect(
2035 wxEVT_SCROLL_THUMBRELEASE,
2036 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2038 m_sTransparency->Disconnect(
2039 wxEVT_SCROLL_CHANGED,
2040 wxScrollEventHandler(GribSettingsDialogBase::OnTransparencyChange),
2042 m_cLoopMode->Disconnect(
2043 wxEVT_COMMAND_CHECKBOX_CLICKED,
2044 wxCommandEventHandler(GribSettingsDialogBase::OnIntepolateChange),
2046 m_cInterpolate->Disconnect(
2047 wxEVT_COMMAND_CHECKBOX_CLICKED,
2048 wxCommandEventHandler(GribSettingsDialogBase::OnIntepolateChange),
2050 m_rbCurDataAttaWCap->Disconnect(
2051 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
2052 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
2054 m_rbCurDataAttaWoCap->Disconnect(
2055 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
2056 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
2058 m_rbCurDataIsolHoriz->Disconnect(
2059 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
2060 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
2062 m_rbCurDataIsolVertic->Disconnect(
2063 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
2064 wxCommandEventHandler(GribSettingsDialogBase::OnCtrlandDataStyleChanged),
2066 m_sButtonApply->Disconnect(
2067 wxEVT_COMMAND_BUTTON_CLICKED,
2068 wxCommandEventHandler(GribSettingsDialogBase::OnApply),
nullptr,
this);
2071#ifndef __OCPN__ANDROID__
2072GribPreferencesDialogBase::GribPreferencesDialogBase(
2073 wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
2074 const wxSize& size,
long style)
2075 : wxDialog(parent, id, title, pos, size, style) {
2076 this->SetSizeHints(wxDefaultSize, wxDefaultSize);
2078 wxBoxSizer* itemBoxSizerMainPanel =
new wxBoxSizer(wxVERTICAL);
2079 SetSizer(itemBoxSizerMainPanel);
2081 wxScrolledWindow* scrollWin =
new wxScrolledWindow(
2082 this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxVSCROLL);
2083 scrollWin->SetScrollRate(1, 1);
2084 itemBoxSizerMainPanel->Add(scrollWin, 1, wxEXPAND | wxALL, 0);
2086 wxBoxSizer* bSizerPrefsMain =
new wxBoxSizer(wxVERTICAL);
2087 scrollWin->SetSizer(bSizerPrefsMain);
2089 wxStdDialogButtonSizer* m_sdbSizer2;
2090 wxButton* m_sdbSizer2OK;
2091 wxButton* m_sdbSizer2Cancel;
2092 m_sdbSizer2 =
new wxStdDialogButtonSizer();
2093 m_sdbSizer2OK =
new wxButton(
this, wxID_OK);
2094 m_sdbSizer2->AddButton(m_sdbSizer2OK);
2095 m_sdbSizer2Cancel =
new wxButton(
this, wxID_CANCEL, _(
"Cancel"));
2096 m_sdbSizer2->AddButton(m_sdbSizer2Cancel);
2097 auto help_btn =
new wxButton(
this, wxID_HELP);
2098 help_btn->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [&](wxCommandEvent) {
2099 wxString datadir = GetPluginDataDir(
"manual_pi");
2100 Manual(
this, datadir.ToStdString()).Launch(
"Grib");
2102 m_sdbSizer2->AddButton(help_btn);
2104 m_sdbSizer2->Realize();
2106 itemBoxSizerMainPanel->Add(m_sdbSizer2, 0, wxEXPAND, 5);
2108 wxStaticBoxSizer* sbSizer9;
2109 sbSizer9 =
new wxStaticBoxSizer(
2110 new wxStaticBox(scrollWin, wxID_ANY, _(
"General Options")), wxVERTICAL);
2112 wxFlexGridSizer* fgSizer46;
2113 fgSizer46 =
new wxFlexGridSizer(0, 1, 0, 0);
2114 fgSizer46->SetFlexibleDirection(wxBOTH);
2115 fgSizer46->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2118 new wxCheckBox(scrollWin, wxID_ANY, _(
"Use High Definition Graphics"),
2119 wxDefaultPosition, wxDefaultSize, 0);
2120 fgSizer46->Add(m_cbUseHiDef, 0, wxALL, 5);
2122 m_cbUseGradualColors =
2123 new wxCheckBox(scrollWin, wxID_ANY, _(
"Use Gradual Colors"),
2124 wxDefaultPosition, wxDefaultSize, 0);
2125 fgSizer46->Add(m_cbUseGradualColors, 0, wxALL, 5);
2127 m_cbCopyFirstCumulativeRecord =
new wxCheckBox(
2128 scrollWin, wxID_ANY, _(
"Copy First Cumulative Missing Record"),
2129 wxDefaultPosition, wxDefaultSize, 0);
2130 fgSizer46->Add(m_cbCopyFirstCumulativeRecord, 0, wxALL, 5);
2132 m_cbCopyMissingWaveRecord =
2133 new wxCheckBox(scrollWin, wxID_ANY, _(
"Copy Missing Wave Records"),
2134 wxDefaultPosition, wxDefaultSize, 0);
2135 fgSizer46->Add(m_cbCopyMissingWaveRecord, 0, wxALL, 5);
2137 m_cbDrawBarbedArrowHead =
2138 new wxCheckBox(scrollWin, wxID_ANY, _(
"Draw Barbed Arrows Head"),
2139 wxDefaultPosition, wxDefaultSize, 0);
2140 fgSizer46->Add(m_cbDrawBarbedArrowHead, 0, wxALL, 5);
2142 m_cZoomToCenterAtInit =
2143 new wxCheckBox(scrollWin, wxID_ANY, _(
"Zoom to file center when opened"),
2144 wxDefaultPosition, wxDefaultSize, 0);
2145 fgSizer46->Add(m_cZoomToCenterAtInit, 0, wxALL, 5);
2147 sbSizer9->Add(fgSizer46, 1, wxEXPAND, 5);
2149 bSizerPrefsMain->Add(sbSizer9, 1, wxEXPAND, 5);
2151 wxString m_rbLoadOptionsChoices[] = {
2152 _(
"Load the More Recent File in Directory"),
2153 _(
"Load the Last Opened File")};
2154 int m_rbLoadOptionsNChoices =
2155 sizeof(m_rbLoadOptionsChoices) /
sizeof(wxString);
2157 new wxRadioBox(scrollWin, wxID_ANY, _(
"Load File Options"),
2158 wxDefaultPosition, wxDefaultSize, m_rbLoadOptionsNChoices,
2159 m_rbLoadOptionsChoices, 1, wxRA_SPECIFY_COLS);
2160 m_rbLoadOptions->SetSelection(0);
2161 bSizerPrefsMain->Add(m_rbLoadOptions, 0, wxALL | wxEXPAND, 5);
2163 wxString m_rbStartOptionsChoices[] = {
2164 _(
"Start at the first forecast in GRIB file"),
2165 _(
"Start at the nearest forecast to current time"),
2166 _(
"Authorize Interpolation to start at current time")};
2167 int m_rbStartOptionsNChoices =
2168 sizeof(m_rbStartOptionsChoices) /
sizeof(wxString);
2169 m_rbStartOptions =
new wxRadioBox(
2170 scrollWin, wxID_ANY, _(
"Start Options"), wxDefaultPosition, wxDefaultSize,
2171 m_rbStartOptionsNChoices, m_rbStartOptionsChoices, 1, wxRA_SPECIFY_COLS);
2172 m_rbStartOptions->SetSelection(0);
2173 bSizerPrefsMain->Add(m_rbStartOptions, 0, wxALL | wxEXPAND, 5);
2175 wxString m_rbTimeFormatChoices[] = {_(
"Local Time"), _(
"UTC")};
2176 int m_rbTimeFormatNChoices =
sizeof(m_rbTimeFormatChoices) /
sizeof(wxString);
2177 m_rbTimeFormat =
new wxRadioBox(
2178 scrollWin, wxID_ANY, _(
"Time Options"), wxDefaultPosition, wxDefaultSize,
2179 m_rbTimeFormatNChoices, m_rbTimeFormatChoices, 1, wxRA_SPECIFY_COLS);
2180 m_rbTimeFormat->SetSelection(1);
2181 bSizerPrefsMain->Add(m_rbTimeFormat, 0, wxALL | wxEXPAND, 5);
2184 wxFlexGridSizer* fgSizer47;
2185 fgSizer47 =
new wxFlexGridSizer(0, 2, 0, 0);
2186 fgSizer47->SetFlexibleDirection(wxBOTH);
2187 fgSizer47->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2188 wxStaticText* text =
2189 new wxStaticText(scrollWin, wxID_ANY, _(
"Icons Size Factor"),
2190 wxDefaultPosition, wxDefaultSize);
2191 fgSizer47->Add(text, 0, wxALL | wxEXPAND, 5);
2193 new wxSlider(scrollWin, wxID_ANY, 0, -8, 8, wxDefaultPosition,
2194 wxDefaultSize, wxSL_BOTTOM | wxSL_HORIZONTAL | wxSL_LABELS);
2195 fgSizer47->Add(m_sIconSizeFactor, 0, wxALL | wxEXPAND, 5);
2196 bSizerPrefsMain->Add(fgSizer47, 0, wxALL | wxEXPAND, 5);
2199 wxButton* SetSaveButton =
2200 new wxButton(scrollWin, wxID_ANY, _(
"Select GRIB download directory"));
2201 bSizerPrefsMain->Add(SetSaveButton, 0, wxALL | wxEXPAND, 5);
2202 SetSaveButton->Connect(
2203 wxEVT_COMMAND_BUTTON_CLICKED,
2204 wxCommandEventHandler(GribPreferencesDialogBase::OnDirSelClick),
nullptr,
2211 m_rbStartOptions->Connect(
2212 wxEVT_COMMAND_RADIOBOX_SELECTED,
2213 wxCommandEventHandler(GribPreferencesDialogBase::OnStartOptionChange),
2215 m_sdbSizer2OK->Connect(
2216 wxEVT_COMMAND_BUTTON_CLICKED,
2217 wxCommandEventHandler(GribPreferencesDialogBase::OnOKClick),
nullptr,
2222GribPreferencesDialogBase::GribPreferencesDialogBase(
2223 wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
2224 const wxSize& size,
long style)
2225 : wxDialog(parent, id, title, pos, size, style) {
2226 this->SetSizeHints(wxDefaultSize, wxDefaultSize);
2228 wxBoxSizer* topSizer =
new wxBoxSizer(wxVERTICAL);
2231 wxBoxSizer* labelSizer =
new wxBoxSizer(wxHORIZONTAL);
2232 topSizer->Add(labelSizer, 0, wxEXPAND, 5);
2234 wxStaticText* labelBox =
2235 new wxStaticText(
this, wxID_ANY, _(
"GRIB PlugIn Preferences"),
2236 wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE);
2237 labelSizer->Add(labelBox, 1, wxEXPAND, 0);
2239 wxScrolledWindow* itemScrollWin =
new wxScrolledWindow(
2240 this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), wxVSCROLL);
2241 topSizer->Add(itemScrollWin, 1, wxEXPAND | wxALL, 0);
2242 itemScrollWin->SetScrollRate(2, 2);
2244 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
2245 itemScrollWin->SetSizer(itemBoxSizer2);
2247 wxStaticBoxSizer* sbSizer9;
2248 sbSizer9 =
new wxStaticBoxSizer(
2249 new wxStaticBox(itemScrollWin, wxID_ANY, _(
"General Options")),
2251 itemBoxSizer2->Add(sbSizer9, 1, wxEXPAND, 5);
2254 new wxCheckBox(itemScrollWin, wxID_ANY, _(
"Use High Definition Graphics"),
2255 wxDefaultPosition, wxDefaultSize, 0);
2256 sbSizer9->Add(m_cbUseHiDef, 0, wxALL, 5);
2258 m_cbUseGradualColors =
2259 new wxCheckBox(itemScrollWin, wxID_ANY, _(
"Use Gradual Colors"),
2260 wxDefaultPosition, wxDefaultSize, 0);
2261 sbSizer9->Add(m_cbUseGradualColors, 0, wxALL, 5);
2263 m_cbCopyFirstCumulativeRecord =
new wxCheckBox(
2264 itemScrollWin, wxID_ANY, _(
"Copy First Cumulative Missing Record"),
2265 wxDefaultPosition, wxDefaultSize, 0);
2266 sbSizer9->Add(m_cbCopyFirstCumulativeRecord, 0, wxALL, 5);
2268 m_cbCopyMissingWaveRecord =
2269 new wxCheckBox(itemScrollWin, wxID_ANY, _(
"Copy Missing Wave Records"),
2270 wxDefaultPosition, wxDefaultSize, 0);
2271 sbSizer9->Add(m_cbCopyMissingWaveRecord, 0, wxALL, 5);
2273 m_cbDrawBarbedArrowHead =
2274 new wxCheckBox(itemScrollWin, wxID_ANY, _(
"Draw Barbed Arrows Head"),
2275 wxDefaultPosition, wxDefaultSize, 0);
2276 sbSizer9->Add(m_cbDrawBarbedArrowHead, 0, wxALL, 5);
2278 m_cZoomToCenterAtInit =
new wxCheckBox(itemScrollWin, wxID_ANY,
2279 _(
"Zoom to file center when opened"),
2280 wxDefaultPosition, wxDefaultSize, 0);
2281 sbSizer9->Add(m_cZoomToCenterAtInit, 0, wxALL, 5);
2283 wxString m_rbLoadOptionsChoices[] = {
2284 _(
"Load the More Recent File in Directory"),
2285 _(
"Load the Last Opened File")};
2286 int m_rbLoadOptionsNChoices =
2287 sizeof(m_rbLoadOptionsChoices) /
sizeof(wxString);
2289 new wxRadioBox(itemScrollWin, wxID_ANY, _(
"Load File Options"),
2290 wxDefaultPosition, wxDefaultSize, m_rbLoadOptionsNChoices,
2291 m_rbLoadOptionsChoices, 1, wxRA_SPECIFY_COLS);
2292 m_rbLoadOptions->SetSelection(0);
2293 sbSizer9->Add(m_rbLoadOptions, 0, wxALL | wxEXPAND, 5);
2295 wxString m_rbStartOptionsChoices[] = {
2296 _(
"Start at the first forecast in GRIB file"),
2297 _(
"Start at the nearest forecast to current time"),
2298 _(
"Authorize Interpolation to start at current time")};
2299 int m_rbStartOptionsNChoices =
2300 sizeof(m_rbStartOptionsChoices) /
sizeof(wxString);
2302 new wxRadioBox(itemScrollWin, wxID_ANY, _(
"Start Options"),
2303 wxDefaultPosition, wxDefaultSize, m_rbStartOptionsNChoices,
2304 m_rbStartOptionsChoices, 1, wxRA_SPECIFY_COLS);
2305 m_rbStartOptions->SetSelection(0);
2306 sbSizer9->Add(m_rbStartOptions, 0, wxALL | wxEXPAND, 5);
2308 wxString m_rbTimeFormatChoices[] = {_(
"Local Time"), _(
"UTC")};
2309 int m_rbTimeFormatNChoices =
sizeof(m_rbTimeFormatChoices) /
sizeof(wxString);
2311 new wxRadioBox(itemScrollWin, wxID_ANY, _(
"Time Options"),
2312 wxDefaultPosition, wxDefaultSize, m_rbTimeFormatNChoices,
2313 m_rbTimeFormatChoices, 1, wxRA_SPECIFY_COLS);
2314 m_rbTimeFormat->SetSelection(1);
2315 sbSizer9->Add(m_rbTimeFormat, 0, wxALL | wxEXPAND, 5);
2317 wxBoxSizer* m_sdbButtonSizer =
new wxBoxSizer(wxHORIZONTAL);
2318 topSizer->Add(m_sdbButtonSizer, 0, wxEXPAND, 5);
2320 wxButton* m_sdbButtonSizerOK =
new wxButton(
this, wxID_OK);
2321 m_sdbButtonSizer->Add(m_sdbButtonSizerOK, 0, wxALL | wxALIGN_RIGHT, 15);
2323 wxButton* m_sdbButtonSizerCancel =
new wxButton(
this, wxID_CANCEL);
2324 m_sdbButtonSizer->Add(m_sdbButtonSizerCancel, 0, wxALL | wxALIGN_RIGHT, 15);
2327 m_rbStartOptions->Connect(
2328 wxEVT_COMMAND_RADIOBOX_SELECTED,
2329 wxCommandEventHandler(GribPreferencesDialogBase::OnStartOptionChange),
2331 m_sdbButtonSizerOK->Connect(
2332 wxEVT_COMMAND_BUTTON_CLICKED,
2333 wxCommandEventHandler(GribPreferencesDialogBase::OnOKClick),
nullptr,
2339GribPreferencesDialogBase::~GribPreferencesDialogBase() {
2341 m_rbStartOptions->Disconnect(
2342 wxEVT_COMMAND_RADIOBOX_SELECTED,
2343 wxCommandEventHandler(GribPreferencesDialogBase::OnStartOptionChange),
2347void GribPreferencesDialogBase::OnDirSelClick(wxCommandEvent& event) {
2349 int response = PlatformDirSelectorDialog(
2350 this, &dir_spec, _(
"Choose GRIB File Directory"), m_grib_dir_sel);
2352 if (response == wxID_OK) {
2353 m_grib_dir_sel = dir_spec;
2357GribRequestSettingBase::GribRequestSettingBase(wxWindow* parent, wxWindowID
id,
2358 const wxString& title,
2360 const wxSize& size,
long style)
2361 : wxDialog(parent, id, title, pos, size, style) {
2362 this->SetSizeHints(wxDefaultSize, wxDefaultSize);
2364 wxBoxSizer* bSizerMain;
2365 bSizerMain =
new wxBoxSizer(wxVERTICAL);
2368 new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
2369 m_panelWorld =
new wxPanel(m_notebookGetGrib, wxID_ANY, wxDefaultPosition,
2370 wxDefaultSize, wxTAB_TRAVERSAL);
2371 wxBoxSizer* bSizerWorldDownload;
2372 bSizerWorldDownload =
new wxBoxSizer(wxVERTICAL);
2375 new wxHtmlWindow(m_panelWorld, wxID_ANY, wxDefaultPosition, wxDefaultSize,
2376 wxHW_NO_SELECTION | wxHW_SCROLLBAR_AUTO);
2377 bSizerWorldDownload->Add(m_htmlWinWorld, 1, wxALL | wxEXPAND, 5);
2380 new wxStaticText(m_panelWorld, wxID_ANY, _(
"Download grib..."),
2381 wxDefaultPosition, wxDefaultSize, 0);
2382 m_staticTextInfo->Wrap(-1);
2383 bSizerWorldDownload->Add(m_staticTextInfo, 0, wxALL, 5);
2385 wxBoxSizer* bSizerWorld;
2386 bSizerWorld =
new wxBoxSizer(wxHORIZONTAL);
2388 m_stForecastLength =
2389 new wxStaticText(m_panelWorld, wxID_ANY, _(
"Forecast length"),
2390 wxDefaultPosition, wxDefaultSize, 0);
2391 m_stForecastLength->Wrap(-1);
2392 bSizerWorld->Add(m_stForecastLength, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
2394 wxString m_chForecastLengthChoices[] = {_(
"24 hours"), _(
"3 days"),
2396 int m_chForecastLengthNChoices =
2397 sizeof(m_chForecastLengthChoices) /
sizeof(wxString);
2398 m_chForecastLength =
2399 new wxChoice(m_panelWorld, wxID_ANY, wxDefaultPosition, wxDefaultSize,
2400 m_chForecastLengthNChoices, m_chForecastLengthChoices, 0);
2401 m_chForecastLength->SetSelection(0);
2402 bSizerWorld->Add(m_chForecastLength, 0, wxALL, 5);
2404 m_stECMWFResolution =
new wxStaticText(m_panelWorld, wxID_ANY, _(
"Model"),
2405 wxDefaultPosition, wxDefaultSize, 0);
2406 m_stECMWFResolution->Wrap(-1);
2407 bSizerWorld->Add(m_stECMWFResolution, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
2409 wxString m_chECMWFResolutionChoices[] = {
2410 wxString::Format(
"0.25%c IFS", 0x00B0),
2411 wxString::Format(
"0.25%c AIFS", 0x00B0)};
2412 int m_chECMWFResolutionNChoices =
2413 sizeof(m_chECMWFResolutionChoices) /
sizeof(wxString);
2414 m_chECMWFResolution =
2415 new wxChoice(m_panelWorld, wxID_ANY, wxDefaultPosition, wxDefaultSize,
2416 m_chECMWFResolutionNChoices, m_chECMWFResolutionChoices, 0);
2417 m_chECMWFResolution->SetSelection(0);
2418 bSizerWorld->Add(m_chECMWFResolution, 0, wxALL, 5);
2420 bSizerWorld->Add(0, 0, 1, wxEXPAND, 5);
2422 m_btnDownloadWorld =
new wxButton(m_panelWorld, wxID_ANY, _(
"Download"),
2423 wxDefaultPosition, wxDefaultSize, 0);
2424 bSizerWorld->Add(m_btnDownloadWorld, 0, wxALL, 5);
2426 bSizerWorldDownload->Add(bSizerWorld, 0, wxEXPAND, 5);
2428 m_panelWorld->SetSizer(bSizerWorldDownload);
2429 m_panelWorld->Layout();
2430 bSizerWorldDownload->Fit(m_panelWorld);
2431 m_notebookGetGrib->AddPage(m_panelWorld, _(
"World"),
true);
2432 m_panelLocalModels =
2433 new wxPanel(m_notebookGetGrib, wxID_ANY, wxDefaultPosition, wxDefaultSize,
2435 wxBoxSizer* bMainSizer;
2436 bMainSizer =
new wxBoxSizer(wxVERTICAL);
2438 wxBoxSizer* bSizerSource;
2439 bSizerSource =
new wxBoxSizer(wxHORIZONTAL);
2441 m_SourcesTreeCtrl1 =
new wxTreeCtrl(
2442 m_panelLocalModels, wxID_ANY, wxDefaultPosition, wxDefaultSize,
2443 wxTR_DEFAULT_STYLE | wxTR_FULL_ROW_HIGHLIGHT | wxTR_SINGLE);
2444 bSizerSource->Add(m_SourcesTreeCtrl1, 1, wxALL | wxEXPAND, 5);
2447 new wxHtmlWindow(m_panelLocalModels, wxID_ANY, wxDefaultPosition,
2448 wxDefaultSize, wxHW_NO_SELECTION | wxHW_SCROLLBAR_AUTO);
2449 bSizerSource->Add(m_htmlInfoWin, 1, wxALL | wxEXPAND, 5);
2451 bMainSizer->Add(bSizerSource, 1, wxEXPAND, 5);
2453 m_stLocalDownloadInfo =
2454 new wxStaticText(m_panelLocalModels, wxID_ANY, _(
"Download grib..."),
2455 wxDefaultPosition, wxDefaultSize, 0);
2456 m_stLocalDownloadInfo->Wrap(-1);
2457 bMainSizer->Add(m_stLocalDownloadInfo, 0, wxALL, 5);
2459 wxBoxSizer* bSizerLocalButtons;
2460 bSizerLocalButtons =
new wxBoxSizer(wxHORIZONTAL);
2462 m_buttonUpdateCatalog =
2463 new wxButton(m_panelLocalModels, wxID_ANY, _(
"Update Catalog"),
2464 wxDefaultPosition, wxDefaultSize, 0);
2465 bSizerLocalButtons->Add(m_buttonUpdateCatalog, 0, wxALL, 5);
2467 bSizerLocalButtons->Add(0, 0, 1, wxEXPAND, 5);
2469 m_btnDownloadLocal =
new wxButton(m_panelLocalModels, wxID_ANY, _(
"Download"),
2470 wxDefaultPosition, wxDefaultSize, 0);
2471 bSizerLocalButtons->Add(m_btnDownloadLocal, 0, wxALL, 5);
2473 bMainSizer->Add(bSizerLocalButtons, 0, wxEXPAND, 5);
2475 m_panelLocalModels->SetSizer(bMainSizer);
2476 m_panelLocalModels->Layout();
2477 bMainSizer->Fit(m_panelLocalModels);
2478 m_notebookGetGrib->AddPage(m_panelLocalModels, _(
"Local models"),
false);
2480 m_panelEmail =
new wxPanel(m_notebookGetGrib, wxID_ANY, wxDefaultPosition,
2481 wxDefaultSize, wxTAB_TRAVERSAL);
2483 wxFlexGridSizer* fgSizer101;
2484 fgSizer101 =
new wxFlexGridSizer(0, 1, 0, 0);
2485 fgSizer101->SetFlexibleDirection(wxBOTH);
2486 fgSizer101->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2488 m_sScrolledDialog =
new wxScrolledWindow(
2489 m_panelEmail, wxID_ANY, wxDefaultPosition, wxDefaultSize,
2490 wxHSCROLL | wxTAB_TRAVERSAL | wxVSCROLL);
2491 m_sScrolledDialog->SetScrollRate(0, 5);
2492 m_fgScrollSizer =
new wxFlexGridSizer(0, 1, 0, 0);
2493 m_fgScrollSizer->SetFlexibleDirection(wxBOTH);
2494 m_fgScrollSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2496 wxStaticBoxSizer* sbSizer7;
2497 sbSizer7 =
new wxStaticBoxSizer(
2498 new wxStaticBox(m_sScrolledDialog, wxID_ANY, _(
"Profile")), wxVERTICAL);
2500 wxFlexGridSizer* fgSizer17;
2501 fgSizer17 =
new wxFlexGridSizer(0, 1, 0, 0);
2502 fgSizer17->SetFlexibleDirection(wxBOTH);
2503 fgSizer17->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2505 m_pSenderSizer =
new wxFlexGridSizer(0, 2, 0, 0);
2506 m_pSenderSizer->AddGrowableCol(1);
2507 m_pSenderSizer->SetFlexibleDirection(wxBOTH);
2508 m_pSenderSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2510 wxStaticText* m_staticText25;
2512 new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Sender eMail Address"),
2513 wxDefaultPosition, wxDefaultSize, 0);
2514 m_staticText25->Wrap(-1);
2515 m_pSenderSizer->Add(m_staticText25, 0, wxALL, 5);
2517 m_pSenderAddress =
new wxTextCtrl(m_sScrolledDialog, wxID_ANY, wxEmptyString,
2518 wxDefaultPosition, wxDefaultSize, 0);
2519 m_pSenderSizer->Add(m_pSenderAddress, 0, wxALL | wxEXPAND, 5);
2521 wxStaticLine* m_staticline4;
2523 new wxStaticLine(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2524 wxDefaultSize, wxLI_HORIZONTAL);
2525 m_pSenderSizer->Add(m_staticline4, 0, wxEXPAND | wxALL, 5);
2527 wxStaticLine* m_staticline5;
2529 new wxStaticLine(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2530 wxDefaultSize, wxLI_HORIZONTAL);
2531 m_pSenderSizer->Add(m_staticline5, 0, wxEXPAND | wxALL, 5);
2533 fgSizer17->Add(m_pSenderSizer, 1, wxEXPAND, 5);
2535 wxFlexGridSizer* fgSizer9;
2536 fgSizer9 =
new wxFlexGridSizer(0, 3, 0, 0);
2537 fgSizer9->SetFlexibleDirection(wxBOTH);
2538 fgSizer9->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2540 wxFlexGridSizer* fgSizer33;
2541 fgSizer33 =
new wxFlexGridSizer(0, 2, 0, 0);
2542 fgSizer33->SetFlexibleDirection(wxBOTH);
2543 fgSizer33->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2545 wxStaticText* m_staticText15;
2546 m_staticText15 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Mail To "),
2547 wxDefaultPosition, wxDefaultSize, 0);
2548 m_staticText15->Wrap(-1);
2549 fgSizer33->Add(m_staticText15, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 5);
2551 wxArrayString m_pMailToChoices;
2552 m_pMailTo =
new wxChoice(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2553 wxDefaultSize, m_pMailToChoices, 0);
2554 m_pMailTo->SetSelection(0);
2555 fgSizer33->Add(m_pMailTo, 0, wxALL, 5);
2557 wxStaticText* m_staticText16;
2559 new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Forecast Model "),
2560 wxDefaultPosition, wxDefaultSize, 0);
2561 m_staticText16->Wrap(-1);
2562 fgSizer33->Add(m_staticText16, 0, wxALL | wxEXPAND | wxLEFT | wxRIGHT | wxTOP,
2565 wxArrayString m_pModelChoices;
2566 m_pModel =
new wxChoice(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2567 wxDefaultSize, m_pModelChoices, 0);
2568 m_pModel->SetSelection(0);
2569 fgSizer33->Add(m_pModel, 0, wxALL, 5);
2571 fgSizer9->Add(fgSizer33, 1, wxEXPAND, 5);
2573 wxFlexGridSizer* fgSizer32;
2574 fgSizer32 =
new wxFlexGridSizer(0, 2, 0, 0);
2575 fgSizer32->SetFlexibleDirection(wxBOTH);
2576 fgSizer32->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2578 m_cMovingGribEnabled =
2579 new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Moving Grib"),
2580 wxDefaultPosition, wxDefaultSize, 0);
2581 fgSizer32->Add(m_cMovingGribEnabled, 0, wxALL, 5);
2583 m_fgMovingParams =
new wxFlexGridSizer(0, 3, 0, 0);
2584 m_fgMovingParams->SetFlexibleDirection(wxBOTH);
2585 m_fgMovingParams->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2587 wxStaticText* m_staticText27;
2588 m_staticText27 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Speed"),
2589 wxDefaultPosition, wxDefaultSize, 0);
2590 m_staticText27->Wrap(-1);
2591 m_fgMovingParams->Add(m_staticText27, 0, wxALL, 5);
2593 m_sMovingSpeed =
new wxSpinCtrl(m_sScrolledDialog, wxID_ANY, wxEmptyString,
2594 wxDefaultPosition, wxDefaultSize,
2595 wxSP_ARROW_KEYS, 1, 30, 1);
2596 m_fgMovingParams->Add(m_sMovingSpeed, 0, wxALL, 5);
2598 wxStaticText* m_sSpeedUnit;
2599 m_sSpeedUnit =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Kts"),
2600 wxDefaultPosition, wxDefaultSize, 0);
2601 m_sSpeedUnit->Wrap(-1);
2602 m_fgMovingParams->Add(m_sSpeedUnit, 0, wxBOTTOM | wxEXPAND | wxRIGHT | wxTOP,
2605 wxStaticText* m_staticText29;
2606 m_staticText29 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Course"),
2607 wxDefaultPosition, wxDefaultSize, 0);
2608 m_staticText29->Wrap(-1);
2609 m_fgMovingParams->Add(m_staticText29, 0, wxALL, 5);
2611 m_sMovingCourse =
new wxSpinCtrl(m_sScrolledDialog, wxID_ANY, wxEmptyString,
2612 wxDefaultPosition, wxDefaultSize,
2613 wxSP_ARROW_KEYS, 1, 360, 1);
2614 m_fgMovingParams->Add(m_sMovingCourse, 0, wxALL, 5);
2616 m_sCourseUnit =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Deg"),
2617 wxDefaultPosition, wxDefaultSize, 0);
2618 m_sCourseUnit->Wrap(-1);
2619 m_fgMovingParams->Add(m_sCourseUnit, 0, wxBOTTOM | wxEXPAND | wxRIGHT | wxTOP,
2622 fgSizer32->Add(m_fgMovingParams, 1, wxEXPAND, 5);
2624 fgSizer9->Add(fgSizer32, 1, wxEXPAND, 5);
2626 m_fgLog =
new wxFlexGridSizer(0, 2, 0, 0);
2627 m_fgLog->SetFlexibleDirection(wxBOTH);
2628 m_fgLog->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2630 wxStaticText* m_tLogin;
2631 m_tLogin =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"zyGrib Login"),
2632 wxDefaultPosition, wxDefaultSize, 0);
2634 m_fgLog->Add(m_tLogin, 0, wxALL, 5);
2636 m_pLogin =
new wxTextCtrl(m_sScrolledDialog, wxID_ANY, wxEmptyString,
2637 wxDefaultPosition, wxDefaultSize, 0);
2638 m_fgLog->Add(m_pLogin, 0, wxALL, 5);
2640 wxStaticText* m_tCode;
2641 m_tCode =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"zyGrib Code"),
2642 wxDefaultPosition, wxDefaultSize, 0);
2644 m_fgLog->Add(m_tCode, 0, wxALL, 5);
2646 m_pCode =
new wxTextCtrl(m_sScrolledDialog, wxID_ANY, wxEmptyString,
2647 wxDefaultPosition, wxDefaultSize, 0);
2648 m_fgLog->Add(m_pCode, 0, wxALL, 5);
2650 fgSizer9->Add(m_fgLog, 1, wxEXPAND, 5);
2652 fgSizer17->Add(fgSizer9, 1, wxEXPAND, 10);
2654 wxFlexGridSizer* fgSizer13;
2655 fgSizer13 =
new wxFlexGridSizer(0, 9, 0, 0);
2656 fgSizer13->SetFlexibleDirection(wxBOTH);
2657 fgSizer13->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2659 wxStaticText* m_staticText17;
2661 new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Resolution"),
2662 wxDefaultPosition, wxDefaultSize, 0);
2663 m_staticText17->Wrap(-1);
2664 fgSizer13->Add(m_staticText17, 0, wxALL, 5);
2666 wxArrayString m_pResolutionChoices;
2667 m_pResolution =
new wxChoice(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2668 wxDefaultSize, m_pResolutionChoices, 0);
2669 m_pResolution->SetSelection(0);
2670 fgSizer13->Add(m_pResolution, 0, wxALL, 1);
2672 m_tResUnit =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Deg"),
2673 wxDefaultPosition, wxDefaultSize, 0);
2674 m_tResUnit->Wrap(-1);
2675 fgSizer13->Add(m_tResUnit, 0, wxTOP | wxBOTTOM | wxRIGHT, 5);
2677 wxStaticText* m_staticText18;
2678 m_staticText18 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Interval"),
2679 wxDefaultPosition, wxDefaultSize, 0);
2680 m_staticText18->Wrap(-1);
2681 fgSizer13->Add(m_staticText18, 0, wxALL, 5);
2683 wxArrayString m_pIntervalChoices;
2684 m_pInterval =
new wxChoice(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2685 wxDefaultSize, m_pIntervalChoices, 0);
2686 m_pInterval->SetSelection(0);
2687 fgSizer13->Add(m_pInterval, 0, wxALL, 1);
2689 wxStaticText* m_staticText20;
2690 m_staticText20 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Hours"),
2691 wxDefaultPosition, wxDefaultSize, 0);
2692 m_staticText20->Wrap(-1);
2693 fgSizer13->Add(m_staticText20, 0, wxTOP | wxBOTTOM | wxRIGHT, 5);
2695 wxStaticText* m_staticText19;
2697 new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Time Range"),
2698 wxDefaultPosition, wxDefaultSize, 0);
2699 m_staticText19->Wrap(-1);
2700 fgSizer13->Add(m_staticText19, 0, wxALL, 5);
2702 wxArrayString m_pTimeRangeChoices;
2703 m_pTimeRange =
new wxChoice(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2704 wxDefaultSize, m_pTimeRangeChoices, 0);
2705 m_pTimeRange->SetSelection(0);
2706 fgSizer13->Add(m_pTimeRange, 0, wxALL, 1);
2708 m_staticText21 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Days"),
2709 wxDefaultPosition, wxDefaultSize, 0);
2710 m_staticText21->Wrap(-1);
2711 fgSizer13->Add(m_staticText21, 0, wxTOP | wxBOTTOM | wxRIGHT, 5);
2713 fgSizer17->Add(fgSizer13, 1, wxEXPAND, 5);
2715 sbSizer7->Add(fgSizer17, 1, wxEXPAND, 5);
2717 m_fgScrollSizer->Add(sbSizer7, 1, wxEXPAND, 5);
2719 wxStaticBoxSizer* sbSizer81;
2720 sbSizer81 =
new wxStaticBoxSizer(
2721 new wxStaticBox(m_sScrolledDialog, wxID_ANY, _(
"Area Selection")),
2724 wxFlexGridSizer* fgSizer36;
2725 fgSizer36 =
new wxFlexGridSizer(0, 2, 0, 0);
2726 fgSizer36->SetFlexibleDirection(wxBOTH);
2727 fgSizer36->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2729 wxFlexGridSizer* fgSizer37;
2730 fgSizer37 =
new wxFlexGridSizer(0, 1, 0, 0);
2731 fgSizer37->SetFlexibleDirection(wxBOTH);
2732 fgSizer37->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2735 new wxCheckBox(m_sScrolledDialog, MANSELECT, _(
"Manual Selection"),
2736 wxDefaultPosition, wxDefaultSize, 0);
2737 fgSizer37->Add(m_cManualZoneSel, 0, wxLEFT | wxBOTTOM, 5);
2740 new wxCheckBox(m_sScrolledDialog, SAVEDZONE, _(
"Use Always this Area"),
2741 wxDefaultPosition, wxDefaultSize, 0);
2742 fgSizer37->Add(m_cUseSavedZone, 0, wxLEFT | wxRIGHT | wxTOP, 5);
2744 fgSizer36->Add(fgSizer37, 1, wxEXPAND | wxLEFT, 5);
2746 fgZoneCoordinatesSizer =
new wxFlexGridSizer(0, 6, 0, 0);
2747 fgZoneCoordinatesSizer->SetFlexibleDirection(wxBOTH);
2748 fgZoneCoordinatesSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2750 wxStaticText* m_staticText34;
2751 m_staticText34 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Max Lat"),
2752 wxDefaultPosition, wxDefaultSize, 0);
2753 m_staticText34->Wrap(-1);
2754 fgZoneCoordinatesSizer->Add(m_staticText34, 0, wxLEFT | wxRIGHT, 5);
2756 m_spMaxLat =
new wxSpinCtrl(m_sScrolledDialog, MAXLAT, wxEmptyString,
2757 wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS,
2759 fgZoneCoordinatesSizer->Add(m_spMaxLat, 0, wxLEFT | wxRIGHT, 5);
2761 m_stMaxLatNS =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"N"),
2762 wxDefaultPosition, wxDefaultSize, 0);
2763 m_stMaxLatNS->Wrap(-1);
2764 fgZoneCoordinatesSizer->Add(m_stMaxLatNS, 0, wxRIGHT, 20);
2766 m_staticText36 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Max Long"),
2767 wxDefaultPosition, wxDefaultSize, 0);
2768 m_staticText36->Wrap(-1);
2769 fgZoneCoordinatesSizer->Add(m_staticText36, 0, wxLEFT | wxRIGHT, 5);
2771 m_spMaxLon =
new wxSpinCtrl(m_sScrolledDialog, MAXLON, wxEmptyString,
2772 wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS,
2774 fgZoneCoordinatesSizer->Add(m_spMaxLon, 0, wxLEFT | wxRIGHT, 5);
2776 m_stMaxLonEW =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"E"),
2777 wxDefaultPosition, wxDefaultSize, 0);
2778 m_stMaxLonEW->Wrap(-1);
2779 fgZoneCoordinatesSizer->Add(m_stMaxLonEW, 0, wxRIGHT, 5);
2781 wxStaticText* m_staticText38;
2782 m_staticText38 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Min Lat"),
2783 wxDefaultPosition, wxDefaultSize, 0);
2784 m_staticText38->Wrap(-1);
2785 fgZoneCoordinatesSizer->Add(m_staticText38, 0, wxLEFT | wxRIGHT | wxTOP, 5);
2787 m_spMinLat =
new wxSpinCtrl(m_sScrolledDialog, MINLAT, wxEmptyString,
2788 wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS,
2790 fgZoneCoordinatesSizer->Add(m_spMinLat, 0, wxLEFT | wxRIGHT | wxTOP, 5);
2792 m_stMinLatNS =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"S"),
2793 wxDefaultPosition, wxDefaultSize, 0);
2794 m_stMinLatNS->Wrap(-1);
2795 fgZoneCoordinatesSizer->Add(m_stMinLatNS, 0, wxRIGHT | wxTOP, 5);
2797 wxStaticText* m_staticText40;
2798 m_staticText40 =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"Min Long"),
2799 wxDefaultPosition, wxDefaultSize, 0);
2800 m_staticText40->Wrap(-1);
2801 fgZoneCoordinatesSizer->Add(m_staticText40, 0, wxLEFT | wxRIGHT | wxTOP, 5);
2803 m_spMinLon =
new wxSpinCtrl(m_sScrolledDialog, MINLON, wxEmptyString,
2804 wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS,
2806 fgZoneCoordinatesSizer->Add(m_spMinLon, 0, wxLEFT | wxRIGHT | wxTOP, 5);
2808 m_stMinLonEW =
new wxStaticText(m_sScrolledDialog, wxID_ANY, _(
"W"),
2809 wxDefaultPosition, wxDefaultSize, 0);
2810 m_stMinLonEW->Wrap(-1);
2811 fgZoneCoordinatesSizer->Add(m_stMinLonEW, 0, wxRIGHT | wxTOP, 5);
2813 fgSizer36->Add(fgZoneCoordinatesSizer, 1, wxEXPAND | wxLEFT | wxTOP, 5);
2815 sbSizer81->Add(fgSizer36, 1, wxBOTTOM | wxEXPAND | wxTOP, 5);
2817 m_fgScrollSizer->Add(sbSizer81, 1, wxEXPAND, 5);
2819 wxStaticBoxSizer* sbSizer8;
2820 sbSizer8 =
new wxStaticBoxSizer(
2821 new wxStaticBox(m_sScrolledDialog, wxID_ANY, _(
"Data Selection")),
2824 wxFlexGridSizer* fgSizer10;
2825 fgSizer10 =
new wxFlexGridSizer(0, 3, 0, 0);
2826 fgSizer10->SetFlexibleDirection(wxBOTH);
2827 fgSizer10->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2829 m_pWind =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Wind"),
2830 wxDefaultPosition, wxDefaultSize, 0);
2831 fgSizer10->Add(m_pWind, 0, wxALL | wxEXPAND, 5);
2833 m_pPress =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Pressure"),
2834 wxDefaultPosition, wxDefaultSize, 0);
2835 fgSizer10->Add(m_pPress, 0, wxALL | wxEXPAND, 5);
2837 m_pWindGust =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Wind Gust"),
2838 wxDefaultPosition, wxDefaultSize, 0);
2839 fgSizer10->Add(m_pWindGust, 0, wxALL | wxEXPAND, 5);
2841 m_pRainfall =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Rainfall"),
2842 wxDefaultPosition, wxDefaultSize, 0);
2843 fgSizer10->Add(m_pRainfall, 0, wxALL | wxEXPAND, 5);
2845 m_pCloudCover =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Cloud Cover"),
2846 wxDefaultPosition, wxDefaultSize, 0);
2847 fgSizer10->Add(m_pCloudCover, 0, wxALL | wxEXPAND, 5);
2850 new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Air Temperature(2m)"),
2851 wxDefaultPosition, wxDefaultSize, 0);
2852 m_pAirTemp->SetValue(
true);
2853 fgSizer10->Add(m_pAirTemp, 0, wxALL | wxEXPAND, 5);
2855 m_pCAPE =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"CAPE"),
2856 wxDefaultPosition, wxDefaultSize, 0);
2857 fgSizer10->Add(m_pCAPE, 0, wxALL | wxEXPAND, 5);
2860 new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Comp. Reflect."),
2861 wxDefaultPosition, wxDefaultSize, 0);
2862 fgSizer10->Add(m_pReflectivity, 0, wxALL | wxEXPAND, 5);
2865 new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Sea Temperature(surf.)"),
2866 wxDefaultPosition, wxDefaultSize, 0);
2867 fgSizer10->Add(m_pSeaTemp, 0, wxALL | wxEXPAND, 5);
2869 m_pCurrent =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Current"),
2870 wxDefaultPosition, wxDefaultSize, 0);
2871 fgSizer10->Add(m_pCurrent, 0, wxALL | wxEXPAND, 5);
2873 wxFlexGridSizer* fgSizer28;
2874 fgSizer28 =
new wxFlexGridSizer(0, 2, 0, 0);
2875 fgSizer28->SetFlexibleDirection(wxBOTH);
2876 fgSizer28->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2878 m_pWaves =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Waves"),
2879 wxDefaultPosition, wxDefaultSize, 0);
2880 fgSizer28->Add(m_pWaves, 0, wxALL, 5);
2882 wxArrayString m_pWModelChoices;
2883 m_pWModel =
new wxChoice(m_sScrolledDialog, wxID_ANY, wxDefaultPosition,
2884 wxDefaultSize, m_pWModelChoices, 0);
2885 m_pWModel->SetSelection(0);
2886 fgSizer28->Add(m_pWModel, 0, wxALL | wxRESERVE_SPACE_EVEN_IF_HIDDEN, 1);
2888 fgSizer10->Add(fgSizer28, 1, wxEXPAND, 5);
2890 wxFlexGridSizer* fgSizer331;
2891 fgSizer331 =
new wxFlexGridSizer(0, 2, 0, 0);
2892 fgSizer331->SetFlexibleDirection(wxBOTH);
2893 fgSizer331->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2896 new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"Geopotential Height"),
2897 wxDefaultPosition, wxDefaultSize, 0);
2898 fgSizer331->Add(m_pAltitudeData, 0, wxALL | wxEXPAND, 5);
2900 fgSizer10->Add(fgSizer331, 1, wxEXPAND, 5);
2902 m_fgAltitudeData =
new wxFlexGridSizer(0, 2, 0, 0);
2903 m_fgAltitudeData->SetFlexibleDirection(wxBOTH);
2904 m_fgAltitudeData->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2906 m_p850hpa =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"850 hPa"),
2907 wxDefaultPosition, wxDefaultSize, 0);
2908 m_fgAltitudeData->Add(m_p850hpa, 0,
2909 wxALL | wxEXPAND | wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5);
2911 m_p700hpa =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"700 hPa"),
2912 wxDefaultPosition, wxDefaultSize, 0);
2913 m_fgAltitudeData->Add(m_p700hpa, 0,
2914 wxALL | wxEXPAND | wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5);
2916 m_p500hpa =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"500 hPa"),
2917 wxDefaultPosition, wxDefaultSize, 0);
2918 m_fgAltitudeData->Add(m_p500hpa, 0, wxALL | wxEXPAND, 5);
2920 m_p300hpa =
new wxCheckBox(m_sScrolledDialog, wxID_ANY, _(
"300 hPa"),
2921 wxDefaultPosition, wxDefaultSize, 0);
2922 m_fgAltitudeData->Add(m_p300hpa, 0, wxALL | wxEXPAND, 5);
2924 fgSizer10->Add(m_fgAltitudeData, 1, wxEXPAND, 5);
2926 sbSizer8->Add(fgSizer10, 1, wxEXPAND, 5);
2928 m_fgScrollSizer->Add(sbSizer8, 1, wxEXPAND | wxTOP, 5);
2930 wxStaticBoxSizer* sbSizer6;
2931 sbSizer6 =
new wxStaticBoxSizer(
2932 new wxStaticBox(m_sScrolledDialog, wxID_ANY, _(
"Mail")), wxVERTICAL);
2934 wxFlexGridSizer* fgSizer11;
2935 fgSizer11 =
new wxFlexGridSizer(0, 1, 0, 0);
2936 fgSizer11->AddGrowableCol(0);
2937 fgSizer11->SetFlexibleDirection(wxBOTH);
2938 fgSizer11->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2940 m_MailImage =
new wxTextCtrl(m_sScrolledDialog, wxID_ANY, wxEmptyString,
2941 wxDefaultPosition, wxDefaultSize,
2942 wxTE_MULTILINE | wxTE_READONLY);
2943 fgSizer11->Add(m_MailImage, 0, wxALL | wxEXPAND, 5);
2945 sbSizer6->Add(fgSizer11, 1, wxEXPAND, 5);
2947 m_fgScrollSizer->Add(sbSizer6, 1, wxEXPAND, 5);
2949 m_sScrolledDialog->SetSizer(m_fgScrollSizer);
2950 m_sScrolledDialog->Layout();
2951 m_fgScrollSizer->Fit(m_sScrolledDialog);
2952 fgSizer101->Add(m_sScrolledDialog, 1, 0, 5);
2954 m_fgFixedSizer =
new wxFlexGridSizer(0, 3, 0, 0);
2955 m_fgFixedSizer->SetFlexibleDirection(wxBOTH);
2956 m_fgFixedSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
2958 wxStaticText* m_staticText181;
2960 new wxStaticText(m_panelEmail, wxID_ANY, _(
"Estimated File Size"),
2961 wxDefaultPosition, wxDefaultSize, 0);
2962 m_staticText181->Wrap(-1);
2963 m_fgFixedSizer->Add(m_staticText181, 0, wxALL, 5);
2965 m_tFileSize =
new wxStaticText(m_panelEmail, wxID_ANY, wxEmptyString,
2966 wxDefaultPosition, wxDefaultSize, 0);
2967 m_tFileSize->Wrap(-1);
2968 m_fgFixedSizer->Add(m_tFileSize, 0, wxTOP | wxBOTTOM, 5);
2970 m_tLimit =
new wxStaticText(m_panelEmail, wxID_ANY, _(
" (Max size )"),
2971 wxDefaultPosition, wxDefaultSize, 0);
2973 m_fgFixedSizer->Add(m_tLimit, 0, wxALL, 5);
2975 fgSizer101->Add(m_fgFixedSizer, 1, wxEXPAND, 5);
2977 m_rButton =
new wxStdDialogButtonSizer();
2978 m_rButtonYes =
new wxButton(m_panelEmail, wxID_YES);
2979 m_rButton->AddButton(m_rButtonYes);
2980 m_rButtonApply =
new wxButton(m_panelEmail, wxID_APPLY);
2981 m_rButton->AddButton(m_rButtonApply);
2982 m_rButtonCancel =
new wxButton(m_panelEmail, wxID_CANCEL, _(
"Cancel"));
2983 m_rButton->AddButton(m_rButtonCancel);
2984 m_rButton->Realize();
2986 fgSizer101->Add(m_rButton, 1, wxEXPAND, 5);
2988 m_panelEmail->SetSizer(fgSizer101);
2989 m_panelEmail->Layout();
2990 fgSizer101->Fit(m_panelEmail);
2991 m_notebookGetGrib->AddPage(m_panelEmail, _(
"e-mail"),
false);
2995 new XyGribPanel(m_notebookGetGrib, wxID_ANY, wxDefaultPosition,
2996 wxDefaultSize, wxTAB_TRAVERSAL);
2998 m_notebookGetGrib->AddPage(m_xygribPanel, _(
"XyGrib"),
false);
3000 bSizerMain->Add(m_notebookGetGrib, 1, wxEXPAND | wxALL, 5);
3002 this->SetSizer(bSizerMain);
3005 bSizerMain->Fit(
this);
3007 this->Centre(wxBOTH);
3010 this->Connect(wxEVT_CLOSE_WINDOW,
3011 wxCloseEventHandler(GribRequestSettingBase::OnClose));
3012 m_chForecastLength->Connect(
3013 wxEVT_COMMAND_CHOICE_SELECTED,
3014 wxCommandEventHandler(GribRequestSettingBase::OnWorldLengthChoice),
3016 m_btnDownloadWorld->Connect(
3017 wxEVT_COMMAND_BUTTON_CLICKED,
3018 wxCommandEventHandler(GribRequestSettingBase::OnWorldDownload),
nullptr,
3020 m_SourcesTreeCtrl1->Connect(
3021 wxEVT_COMMAND_TREE_ITEM_EXPANDED,
3022 wxTreeEventHandler(GribRequestSettingBase::OnLocalTreeItemExpanded),
3024 m_SourcesTreeCtrl1->Connect(
3025 wxEVT_COMMAND_TREE_SEL_CHANGED,
3026 wxTreeEventHandler(GribRequestSettingBase::OnLocalTreeSelChanged),
3028 m_buttonUpdateCatalog->Connect(
3029 wxEVT_COMMAND_BUTTON_CLICKED,
3030 wxCommandEventHandler(GribRequestSettingBase::OnUpdateLocalCatalog),
3032 m_btnDownloadLocal->Connect(
3033 wxEVT_COMMAND_BUTTON_CLICKED,
3034 wxCommandEventHandler(GribRequestSettingBase::OnDownloadLocal),
nullptr,
3036 m_pMailTo->Connect(wxEVT_COMMAND_CHOICE_SELECTED,
3037 wxCommandEventHandler(GribRequestSettingBase::OnTopChange),
3039 m_pModel->Connect(wxEVT_COMMAND_CHOICE_SELECTED,
3040 wxCommandEventHandler(GribRequestSettingBase::OnTopChange),
3042 m_cMovingGribEnabled->Connect(
3043 wxEVT_COMMAND_CHECKBOX_CLICKED,
3044 wxCommandEventHandler(GribRequestSettingBase::OnMovingClick),
nullptr,
3046 m_sMovingSpeed->Connect(
3047 wxEVT_COMMAND_SPINCTRL_UPDATED,
3048 wxSpinEventHandler(GribRequestSettingBase::OnAnySpinChange),
nullptr,
3050 m_sMovingCourse->Connect(
3051 wxEVT_COMMAND_SPINCTRL_UPDATED,
3052 wxSpinEventHandler(GribRequestSettingBase::OnAnySpinChange),
nullptr,
3054 m_pLogin->Connect(wxEVT_COMMAND_TEXT_UPDATED,
3055 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3057 m_pCode->Connect(wxEVT_COMMAND_TEXT_UPDATED,
3058 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3060 m_pResolution->Connect(
3061 wxEVT_COMMAND_CHOICE_SELECTED,
3062 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3064 m_pInterval->Connect(
3065 wxEVT_COMMAND_CHOICE_SELECTED,
3066 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3068 m_pTimeRange->Connect(
3069 wxEVT_COMMAND_CHOICE_SELECTED,
3070 wxCommandEventHandler(GribRequestSettingBase::OnTimeRangeChange),
nullptr,
3072 m_cManualZoneSel->Connect(
3073 wxEVT_COMMAND_CHECKBOX_CLICKED,
3074 wxCommandEventHandler(GribRequestSettingBase::OnZoneSelectionModeChange),
3076 m_cUseSavedZone->Connect(
3077 wxEVT_COMMAND_CHECKBOX_CLICKED,
3078 wxCommandEventHandler(GribRequestSettingBase::OnZoneSelectionModeChange),
3080 m_spMaxLat->Connect(
3081 wxEVT_COMMAND_SPINCTRL_UPDATED,
3082 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3084 m_spMaxLon->Connect(
3085 wxEVT_COMMAND_SPINCTRL_UPDATED,
3086 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3088 m_spMinLat->Connect(
3089 wxEVT_COMMAND_SPINCTRL_UPDATED,
3090 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3092 m_spMinLon->Connect(
3093 wxEVT_COMMAND_SPINCTRL_UPDATED,
3094 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3096 m_pWind->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3097 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3099 m_pPress->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3100 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3102 m_pWindGust->Connect(
3103 wxEVT_COMMAND_CHECKBOX_CLICKED,
3104 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3106 m_pRainfall->Connect(
3107 wxEVT_COMMAND_CHECKBOX_CLICKED,
3108 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3110 m_pCloudCover->Connect(
3111 wxEVT_COMMAND_CHECKBOX_CLICKED,
3112 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3114 m_pAirTemp->Connect(
3115 wxEVT_COMMAND_CHECKBOX_CLICKED,
3116 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3118 m_pCAPE->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3119 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3121 m_pReflectivity->Connect(
3122 wxEVT_COMMAND_CHECKBOX_CLICKED,
3123 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3125 m_pSeaTemp->Connect(
3126 wxEVT_COMMAND_CHECKBOX_CLICKED,
3127 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3129 m_pCurrent->Connect(
3130 wxEVT_COMMAND_CHECKBOX_CLICKED,
3131 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3133 m_pWaves->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3134 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3136 m_pWModel->Connect(wxEVT_COMMAND_CHOICE_SELECTED,
3137 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3139 m_pAltitudeData->Connect(
3140 wxEVT_COMMAND_CHECKBOX_CLICKED,
3141 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3143 m_p850hpa->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3144 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3146 m_p700hpa->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3147 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3149 m_p500hpa->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3150 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3152 m_p300hpa->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED,
3153 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
3155 m_rButtonApply->Connect(
3156 wxEVT_COMMAND_BUTTON_CLICKED,
3157 wxCommandEventHandler(GribRequestSettingBase::OnSaveMail),
nullptr,
this);
3158 m_rButtonCancel->Connect(
3159 wxEVT_COMMAND_BUTTON_CLICKED,
3160 wxCommandEventHandler(GribRequestSettingBase::OnCancel),
nullptr,
this);
3161 m_rButtonYes->Connect(
3162 wxEVT_COMMAND_BUTTON_CLICKED,
3163 wxCommandEventHandler(GribRequestSettingBase::OnSendMaiL),
nullptr,
this);
3166 m_xygribPanel->m_download_button->Connect(
3167 wxEVT_COMMAND_BUTTON_CLICKED,
3168 wxCommandEventHandler(GribRequestSettingBase::OnXyGribDownloadButton),
3170 m_xygribPanel->m_atmmodel_choice->Connect(
3171 wxEVT_COMMAND_CHOICE_SELECTED,
3172 wxCommandEventHandler(GribRequestSettingBase::OnXyGribAtmModelChoice),
3174 m_xygribPanel->m_wavemodel_choice->Connect(
3175 wxEVT_COMMAND_CHOICE_SELECTED,
3176 wxCommandEventHandler(GribRequestSettingBase::OnXyGribWaveModelChoice),
3178 m_xygribPanel->m_wind_cbox->Connect(
3179 wxEVT_COMMAND_CHECKBOX_CLICKED,
3180 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3182 m_xygribPanel->m_gust_cbox->Connect(
3183 wxEVT_COMMAND_CHECKBOX_CLICKED,
3184 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3186 m_xygribPanel->m_reflectivity_cbox->Connect(
3187 wxEVT_COMMAND_CHECKBOX_CLICKED,
3188 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3190 m_xygribPanel->m_precipitation_cbox->Connect(
3191 wxEVT_COMMAND_CHECKBOX_CLICKED,
3192 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3194 m_xygribPanel->m_cape_cbox->Connect(
3195 wxEVT_COMMAND_CHECKBOX_CLICKED,
3196 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3198 m_xygribPanel->m_pressure_cbox->Connect(
3199 wxEVT_COMMAND_CHECKBOX_CLICKED,
3200 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3202 m_xygribPanel->m_cloudcover_cbox->Connect(
3203 wxEVT_COMMAND_CHECKBOX_CLICKED,
3204 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3206 m_xygribPanel->m_temperature_cbox->Connect(
3207 wxEVT_COMMAND_CHECKBOX_CLICKED,
3208 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3210 m_xygribPanel->m_waveheight_cbox->Connect(
3211 wxEVT_COMMAND_CHECKBOX_CLICKED,
3212 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3214 m_xygribPanel->m_windwave_cbox->Connect(
3215 wxEVT_COMMAND_CHECKBOX_CLICKED,
3216 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3218 m_xygribPanel->m_resolution_choice->Connect(
3219 wxEVT_COMMAND_CHOICE_SELECTED,
3220 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3222 m_xygribPanel->m_duration_choice->Connect(
3223 wxEVT_COMMAND_CHOICE_SELECTED,
3224 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3226 m_xygribPanel->m_interval_choice->Connect(
3227 wxEVT_COMMAND_CHOICE_SELECTED,
3228 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3232GribRequestSettingBase::~GribRequestSettingBase() {
3234 this->Disconnect(wxEVT_CLOSE_WINDOW,
3235 wxCloseEventHandler(GribRequestSettingBase::OnClose));
3236 m_chForecastLength->Disconnect(
3237 wxEVT_COMMAND_CHOICE_SELECTED,
3238 wxCommandEventHandler(GribRequestSettingBase::OnWorldLengthChoice),
3240 m_btnDownloadWorld->Disconnect(
3241 wxEVT_COMMAND_BUTTON_CLICKED,
3242 wxCommandEventHandler(GribRequestSettingBase::OnWorldDownload),
nullptr,
3244 m_SourcesTreeCtrl1->Disconnect(
3245 wxEVT_COMMAND_TREE_ITEM_EXPANDED,
3246 wxTreeEventHandler(GribRequestSettingBase::OnLocalTreeItemExpanded),
3248 m_SourcesTreeCtrl1->Disconnect(
3249 wxEVT_COMMAND_TREE_SEL_CHANGED,
3250 wxTreeEventHandler(GribRequestSettingBase::OnLocalTreeSelChanged),
3252 m_buttonUpdateCatalog->Disconnect(
3253 wxEVT_COMMAND_BUTTON_CLICKED,
3254 wxCommandEventHandler(GribRequestSettingBase::OnUpdateLocalCatalog),
3256 m_btnDownloadLocal->Disconnect(
3257 wxEVT_COMMAND_BUTTON_CLICKED,
3258 wxCommandEventHandler(GribRequestSettingBase::OnDownloadLocal),
nullptr,
3260 m_pMailTo->Disconnect(
3261 wxEVT_COMMAND_CHOICE_SELECTED,
3262 wxCommandEventHandler(GribRequestSettingBase::OnTopChange),
nullptr,
3264 m_pModel->Disconnect(
3265 wxEVT_COMMAND_CHOICE_SELECTED,
3266 wxCommandEventHandler(GribRequestSettingBase::OnTopChange),
nullptr,
3268 m_cMovingGribEnabled->Disconnect(
3269 wxEVT_COMMAND_CHECKBOX_CLICKED,
3270 wxCommandEventHandler(GribRequestSettingBase::OnMovingClick),
nullptr,
3272 m_sMovingSpeed->Disconnect(
3273 wxEVT_COMMAND_SPINCTRL_UPDATED,
3274 wxSpinEventHandler(GribRequestSettingBase::OnAnySpinChange),
nullptr,
3276 m_sMovingCourse->Disconnect(
3277 wxEVT_COMMAND_SPINCTRL_UPDATED,
3278 wxSpinEventHandler(GribRequestSettingBase::OnAnySpinChange),
nullptr,
3280 m_pLogin->Disconnect(
3281 wxEVT_COMMAND_TEXT_UPDATED,
3282 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3284 m_pCode->Disconnect(
3285 wxEVT_COMMAND_TEXT_UPDATED,
3286 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3288 m_pResolution->Disconnect(
3289 wxEVT_COMMAND_CHOICE_SELECTED,
3290 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3292 m_pInterval->Disconnect(
3293 wxEVT_COMMAND_CHOICE_SELECTED,
3294 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3296 m_pTimeRange->Disconnect(
3297 wxEVT_COMMAND_CHOICE_SELECTED,
3298 wxCommandEventHandler(GribRequestSettingBase::OnTimeRangeChange),
nullptr,
3300 m_cManualZoneSel->Disconnect(
3301 wxEVT_COMMAND_CHECKBOX_CLICKED,
3302 wxCommandEventHandler(GribRequestSettingBase::OnZoneSelectionModeChange),
3304 m_cUseSavedZone->Disconnect(
3305 wxEVT_COMMAND_CHECKBOX_CLICKED,
3306 wxCommandEventHandler(GribRequestSettingBase::OnZoneSelectionModeChange),
3308 m_spMaxLat->Disconnect(
3309 wxEVT_COMMAND_SPINCTRL_UPDATED,
3310 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3312 m_spMaxLon->Disconnect(
3313 wxEVT_COMMAND_SPINCTRL_UPDATED,
3314 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3316 m_spMinLat->Disconnect(
3317 wxEVT_COMMAND_SPINCTRL_UPDATED,
3318 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3320 m_spMinLon->Disconnect(
3321 wxEVT_COMMAND_SPINCTRL_UPDATED,
3322 wxSpinEventHandler(GribRequestSettingBase::OnCoordinatesChange),
nullptr,
3324 m_pWind->Disconnect(
3325 wxEVT_COMMAND_CHECKBOX_CLICKED,
3326 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3328 m_pPress->Disconnect(
3329 wxEVT_COMMAND_CHECKBOX_CLICKED,
3330 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3332 m_pWindGust->Disconnect(
3333 wxEVT_COMMAND_CHECKBOX_CLICKED,
3334 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3336 m_pRainfall->Disconnect(
3337 wxEVT_COMMAND_CHECKBOX_CLICKED,
3338 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3340 m_pCloudCover->Disconnect(
3341 wxEVT_COMMAND_CHECKBOX_CLICKED,
3342 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3344 m_pAirTemp->Disconnect(
3345 wxEVT_COMMAND_CHECKBOX_CLICKED,
3346 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3348 m_pCAPE->Disconnect(
3349 wxEVT_COMMAND_CHECKBOX_CLICKED,
3350 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3352 m_pReflectivity->Disconnect(
3353 wxEVT_COMMAND_CHECKBOX_CLICKED,
3354 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3356 m_pSeaTemp->Disconnect(
3357 wxEVT_COMMAND_CHECKBOX_CLICKED,
3358 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3360 m_pCurrent->Disconnect(
3361 wxEVT_COMMAND_CHECKBOX_CLICKED,
3362 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3364 m_pWaves->Disconnect(
3365 wxEVT_COMMAND_CHECKBOX_CLICKED,
3366 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3368 m_pWModel->Disconnect(
3369 wxEVT_COMMAND_CHOICE_SELECTED,
3370 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3372 m_pAltitudeData->Disconnect(
3373 wxEVT_COMMAND_CHECKBOX_CLICKED,
3374 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3376 m_p850hpa->Disconnect(
3377 wxEVT_COMMAND_CHECKBOX_CLICKED,
3378 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3380 m_p700hpa->Disconnect(
3381 wxEVT_COMMAND_CHECKBOX_CLICKED,
3382 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3384 m_p500hpa->Disconnect(
3385 wxEVT_COMMAND_CHECKBOX_CLICKED,
3386 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3388 m_p300hpa->Disconnect(
3389 wxEVT_COMMAND_CHECKBOX_CLICKED,
3390 wxCommandEventHandler(GribRequestSettingBase::OnAnyChange),
nullptr,
3392 m_rButtonApply->Disconnect(
3393 wxEVT_COMMAND_BUTTON_CLICKED,
3394 wxCommandEventHandler(GribRequestSettingBase::OnSaveMail),
nullptr,
this);
3395 m_rButtonCancel->Disconnect(
3396 wxEVT_COMMAND_BUTTON_CLICKED,
3397 wxCommandEventHandler(GribRequestSettingBase::OnCancel),
nullptr,
this);
3398 m_rButtonYes->Disconnect(
3399 wxEVT_COMMAND_BUTTON_CLICKED,
3400 wxCommandEventHandler(GribRequestSettingBase::OnSendMaiL),
nullptr,
this);
3403 m_xygribPanel->m_download_button->Disconnect(
3404 wxEVT_COMMAND_BUTTON_CLICKED,
3405 wxCommandEventHandler(GribRequestSettingBase::OnXyGribDownloadButton),
3407 m_xygribPanel->m_atmmodel_choice->Disconnect(
3408 wxEVT_COMMAND_CHOICE_SELECTED,
3409 wxCommandEventHandler(GribRequestSettingBase::OnXyGribAtmModelChoice),
3411 m_xygribPanel->m_wavemodel_choice->Disconnect(
3412 wxEVT_COMMAND_CHOICE_SELECTED,
3413 wxCommandEventHandler(GribRequestSettingBase::OnXyGribWaveModelChoice),
3415 m_xygribPanel->m_wind_cbox->Disconnect(
3416 wxEVT_COMMAND_CHECKBOX_CLICKED,
3417 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3419 m_xygribPanel->m_gust_cbox->Disconnect(
3420 wxEVT_COMMAND_CHECKBOX_CLICKED,
3421 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3423 m_xygribPanel->m_reflectivity_cbox->Disconnect(
3424 wxEVT_COMMAND_CHECKBOX_CLICKED,
3425 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3427 m_xygribPanel->m_precipitation_cbox->Disconnect(
3428 wxEVT_COMMAND_CHECKBOX_CLICKED,
3429 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3431 m_xygribPanel->m_cape_cbox->Disconnect(
3432 wxEVT_COMMAND_CHECKBOX_CLICKED,
3433 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3435 m_xygribPanel->m_pressure_cbox->Disconnect(
3436 wxEVT_COMMAND_CHECKBOX_CLICKED,
3437 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3439 m_xygribPanel->m_cloudcover_cbox->Disconnect(
3440 wxEVT_COMMAND_CHECKBOX_CLICKED,
3441 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3443 m_xygribPanel->m_temperature_cbox->Disconnect(
3444 wxEVT_COMMAND_CHECKBOX_CLICKED,
3445 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3447 m_xygribPanel->m_waveheight_cbox->Disconnect(
3448 wxEVT_COMMAND_CHECKBOX_CLICKED,
3449 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3451 m_xygribPanel->m_windwave_cbox->Disconnect(
3452 wxEVT_COMMAND_CHECKBOX_CLICKED,
3453 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3455 m_xygribPanel->m_resolution_choice->Disconnect(
3456 wxEVT_COMMAND_CHOICE_SELECTED,
3457 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3459 m_xygribPanel->m_duration_choice->Disconnect(
3460 wxEVT_COMMAND_CHOICE_SELECTED,
3461 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3463 m_xygribPanel->m_interval_choice->Disconnect(
3464 wxEVT_COMMAND_CHOICE_SELECTED,
3465 wxCommandEventHandler(GribRequestSettingBase::OnXyGribConfigChange),
3469GRIBTableBase::GRIBTableBase(wxWindow* parent, wxWindowID
id,
3470 const wxString& title,
const wxPoint& pos,
3471 const wxSize& size,
long style)
3472 : wxDialog(parent, id, title, pos, size, style) {
3473 this->SetSizeHints(wxSize(-1, -1), wxSize(-1, -1));
3475 wxBoxSizer* bSizer1;
3476 bSizer1 =
new wxBoxSizer(wxVERTICAL);
3478 wxFlexGridSizer* fgSizer18;
3479 fgSizer18 =
new wxFlexGridSizer(0, 1, 0, 0);
3480 fgSizer18->AddGrowableRow(1);
3481 fgSizer18->SetFlexibleDirection(wxBOTH);
3482 fgSizer18->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_NONE);
3484 wxFlexGridSizer* fgSizer19;
3485 fgSizer19 =
new wxFlexGridSizer(0, 2, 0, 0);
3486 fgSizer19->SetFlexibleDirection(wxBOTH);
3487 fgSizer19->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_NONE);
3489 m_pPositionText =
new wxStaticText(
this, wxID_ANY, _(
"Data at Position:"),
3490 wxDefaultPosition, wxDefaultSize, 0);
3491 m_pPositionText->Wrap(-1);
3492 fgSizer19->Add(m_pPositionText, 0, wxALL | wxEXPAND, 5);
3494 m_pCursorPosition =
new wxStaticText(
this, wxID_ANY, wxEmptyString,
3495 wxDefaultPosition, wxDefaultSize, 0);
3496 m_pCursorPosition->Wrap(-1);
3497 fgSizer19->Add(m_pCursorPosition, 0, wxALL | wxEXPAND, 5);
3499 fgSizer18->Add(fgSizer19, 1, wxEXPAND, 10);
3501 wxFlexGridSizer* fgSizer20;
3502 fgSizer20 =
new wxFlexGridSizer(0, 1, 0, 0);
3503 fgSizer20->AddGrowableRow(0);
3504 fgSizer20->SetFlexibleDirection(wxBOTH);
3505 fgSizer20->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_ALL);
3507 m_pGribTable =
new CustomGrid(
this, wxID_ANY, wxDefaultPosition,
3508 wxSize(-1, 50), 0, _T(
" "));
3511 m_pGribTable->SetDefaultCellFont(
3512 wxFont(wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT,
3513 wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString));
3514 m_pGribTable->SetDefaultCellAlignment(wxALIGN_CENTRE, wxALIGN_TOP);
3515 fgSizer20->Add(m_pGribTable, 0, wxALL | wxEXPAND, 5);
3517 fgSizer18->Add(fgSizer20, 1, wxEXPAND, 5);
3519 wxStdDialogButtonSizer* m_pButtonTable =
new wxStdDialogButtonSizer();
3520 m_pButtonTableOK =
new wxButton(
this, wxID_OK, _(
"Close"));
3522 m_pButtonTable->AddButton(m_pButtonTableOK);
3523 m_pButtonTable->Realize();
3525 fgSizer18->Add(m_pButtonTable, 1, wxEXPAND, 5);
3527 bSizer1->Add(fgSizer18, 1, wxEXPAND, 5);
3529 this->SetSizer(bSizer1);
3533 this->Centre(wxBOTH);
3536 this->Connect(wxEVT_CLOSE_WINDOW,
3537 wxCloseEventHandler(GRIBTableBase::OnClose));
3538 m_pButtonTableOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
3539 wxCommandEventHandler(GRIBTableBase::OnOKButton),
3543GRIBTableBase::~GRIBTableBase() {
3545 this->Disconnect(wxEVT_CLOSE_WINDOW,
3546 wxCloseEventHandler(GRIBTableBase::OnClose));
3547 m_pButtonTableOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED,
3548 wxCommandEventHandler(GRIBTableBase::OnOKButton),
3552ProjectBoatPanel::ProjectBoatPanel(wxWindow* parent, wxWindowID
id,
3553 const wxPoint& pos,
const wxSize& size,
3554 long style,
const wxString& name)
3555 : wxPanel(parent, id, pos, size, style, name) {
3556 wxBoxSizer* bSizerProjectBoat;
3557 bSizerProjectBoat =
new wxBoxSizer(wxHORIZONTAL);
3559 m_cbProjectPosition =
new wxCheckBox(
this, wxID_ANY, _(
"Project position"),
3560 wxDefaultPosition, wxDefaultSize, 0);
3561 bSizerProjectBoat->Add(m_cbProjectPosition, 0,
3562 wxALIGN_CENTER_VERTICAL | wxALL, 5);
3564 m_stCourse =
new wxStaticText(
this, wxID_ANY, _(
"Course"), wxDefaultPosition,
3566 m_stCourse->Wrap(-1);
3567 bSizerProjectBoat->Add(m_stCourse, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
3569 m_tCourse =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
3571 bSizerProjectBoat->Add(m_tCourse, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
3573 m_stSpeed =
new wxStaticText(
this, wxID_ANY, _(
"Speed"), wxDefaultPosition,
3575 m_stSpeed->Wrap(-1);
3576 bSizerProjectBoat->Add(m_stSpeed, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
3578 m_tSpeed =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition,
3580 bSizerProjectBoat->Add(m_tSpeed, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
3582 m_stSpeedUnit =
new wxStaticText(
this, wxID_ANY, wxT(
"kt"), wxDefaultPosition,
3584 m_stSpeedUnit->Wrap(-1);
3585 bSizerProjectBoat->Add(m_stSpeedUnit, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
3587 this->SetSizer(bSizerProjectBoat);
3591ProjectBoatPanel::~ProjectBoatPanel() {}
3593double ProjectBoatPanel::GetCourse() {
3595 if (m_tCourse->GetValue().ToDouble(&val)) {
3601double ProjectBoatPanel::GetSpeed() {
3603 if (m_tSpeed->GetValue().ToDouble(&val)) {
3609bool ProjectBoatPanel::ProjectionEnabled() {
3610 return m_cbProjectPosition->IsChecked();
Base User Interface Components for GRIB Plugin.
wxFont GetOCPNGUIScaledFont_PlugIn(wxString item)
Gets a uniquely scaled font copy for responsive UI elements.