141 wxCheckBox* m_cbProjectPosition;
142 wxStaticText* m_stCourse;
143 wxTextCtrl* m_tCourse;
144 wxStaticText* m_stSpeed;
145 wxTextCtrl* m_tSpeed;
146 wxStaticText* m_stSpeedUnit;
150 const wxPoint& pos = wxDefaultPosition,
151 const wxSize& size = wxSize(580, 40),
152 long style = wxTAB_TRAVERSAL,
153 const wxString& name = wxEmptyString);
159 bool ProjectionEnabled();
160 void SetCourse(
const double course) {
161 m_tCourse->SetValue(!wxIsNaN(course) ? wxString::FromDouble(course)
164 void SetSpeed(
const double speed) {
165 m_tSpeed->SetValue(!wxIsNaN(speed) ? wxString::FromDouble(speed) :
"6.0");
167 void EnableProjection(
bool enabled) {
168 m_cbProjectPosition->SetValue(enabled);
178 wxFlexGridSizer* m_fgCtrlBarSizer;
179 wxBitmapButton* m_bpPrev;
180 wxChoice* m_cRecordForecast;
181 wxBitmapButton* m_bpNext;
182 wxBitmapButton* m_bpNow;
183 wxBitmapButton* m_bpZoomToCenter;
184 wxBitmapButton* m_bpShowCursorData;
185 wxBitmapButton* m_bpPlay;
186 wxBitmapButton* m_bpOpenFile;
187 wxBitmapButton* m_bpSettings;
188 wxBitmapButton* m_bpRequest;
189 wxFlexGridSizer* m_fgCDataSizer;
190 wxFlexGridSizer* m_fgCtrlGrabberSize;
192 double m_ScaledFactor;
195 virtual void OnClose(wxCloseEvent& event) {
event.Skip(); }
196 virtual void OnMouseEvent(wxMouseEvent& event) {
event.Skip(); }
197 virtual void OnPaint(wxPaintEvent& event) {
event.Skip(); }
198 virtual void OnSize(wxSizeEvent& event) {
event.Skip(); }
199 virtual void OnPrev(wxCommandEvent& event) {
event.Skip(); }
200 virtual void OnRecordForecast(wxCommandEvent& event) {
event.Skip(); }
201 virtual void OnNext(wxCommandEvent& event) {
event.Skip(); }
202 virtual void OnAltitude(wxCommandEvent& event) {
event.Skip(); }
203 virtual void OnNow(wxCommandEvent& event) {
event.Skip(); }
204 virtual void OnZoomToCenterClick(wxCommandEvent& event) {
event.Skip(); }
205 virtual void OnShowCursorData(wxCommandEvent& event) {
event.Skip(); }
206 virtual void OnPlayStop(wxCommandEvent& event) {
event.Skip(); }
207 virtual void OnTimeline(wxScrollEvent& event) {
event.Skip(); }
208 virtual void OnOpenFile(wxCommandEvent& event) {
event.Skip(); }
209 virtual void OnSettings(wxCommandEvent& event) {
event.Skip(); }
210 virtual void OnRequestForecastData(wxCommandEvent& event) {
event.Skip(); }
211 virtual void OnCompositeDialog(wxCommandEvent& event) {
event.Skip(); }
214 wxBitmapButton* m_bpAltitude;
215 wxSlider* m_sTimeline;
218 const wxString& title = wxEmptyString,
219 const wxPoint& pos = wxDefaultPosition,
220 const wxSize& size = wxDefaultSize,
221 long style = wxDEFAULT_DIALOG_STYLE | wxSYSTEM_MENU,
222 double scale_factor = 1.0);
225 void SetScaleFactor(
double factor) { m_ScaledFactor = factor; }
226 double GetScaleFactor() {
return m_ScaledFactor; }
227 static wxBitmap GetScaledBitmap(wxBitmap bitmap,
const wxString svgFileName,
228 double scale_factor);
254 wxFlexGridSizer* fgSizer30;
255 wxStaticText* m_stTrackingText;
256 wxFlexGridSizer* m_fgTrackingControls;
257 wxTextCtrl* m_tcWindSpeed;
258 wxTextCtrl* m_tcWindSpeedBf;
259 wxTextCtrl* m_tcWindDirection;
260 wxTextCtrl* m_tcWindGust;
261 wxTextCtrl* m_tcPressure;
262 wxTextCtrl* m_tcWaveHeight;
263 wxTextCtrl* m_tcWavePeriode;
264 wxTextCtrl* m_tcWaveDirection;
265 wxTextCtrl* m_tcCurrentVelocity;
266 wxTextCtrl* m_tcCurrentDirection;
267 wxTextCtrl* m_tcPrecipitation;
268 wxTextCtrl* m_tcCloud;
269 wxTextCtrl* m_tcAirTemperature;
270 wxTextCtrl* m_tcSeaTemperature;
271 wxTextCtrl* m_tcCAPE;
272 wxTextCtrl* m_tcReflC;
273 wxCheckBox* m_cbAltitude;
274 wxTextCtrl* m_tcAltitude;
275 wxCheckBox* m_cbTemp;
276 wxTextCtrl* m_tcTemp;
277 wxCheckBox* m_cbRelHumid;
278 wxTextCtrl* m_tcRelHumid;
281 virtual void OnMouseEvent(wxMouseEvent& event) {
event.Skip(); }
282 virtual void OnCBAny(wxCommandEvent& event) {
event.Skip(); }
283 virtual void OnMenuCallBack(wxMouseEvent& event) {
event.Skip(); }
286 wxCheckBox* m_cbWind;
287 wxCheckBox* m_cbWindGust;
288 wxCheckBox* m_cbPressure;
289 wxCheckBox* m_cbWave;
290 wxCheckBox* m_cbCurrent;
291 wxCheckBox* m_cbPrecipitation;
292 wxCheckBox* m_cbCloud;
293 wxCheckBox* m_cbAirTemperature;
294 wxCheckBox* m_cbSeaTemperature;
295 wxCheckBox* m_cbCAPE;
296 wxCheckBox* m_cbReflC;
299 const wxPoint& pos = wxDefaultPosition,
300 const wxSize& size = wxSize(-1, -1),
301 long style = wxNO_BORDER | wxTAB_TRAVERSAL);
311 wxFlexGridSizer* m_fgSetDataSizer;
312 wxChoice* m_cDataType;
313 wxChoice* m_cDataUnits;
314 wxCheckBox* m_cbBarbedArrows;
315 wxFlexGridSizer* m_fgBarbedData1;
316 wxChoice* m_cBarbedColours;
325 wxCheckBox* m_cBarbArrMinSpac;
326 wxFlexGridSizer* m_fgBarbedData2;
327 wxCheckBox* m_cBarbedVisibility;
341 wxCheckBox* m_cbIsoBars;
342 wxFlexGridSizer* m_fIsoBarSpacing;
343 wxStaticText* m_tIsoBarSpacing;
344 wxSpinCtrl* m_sIsoBarSpacing;
345 wxFlexGridSizer* m_fIsoBarVisibility;
346 wxCheckBox* m_sIsoBarVisibility;
347 wxCheckBox* m_cbAbbrIsoBarsNumbers;
348 wxCheckBox* m_cbDirectionArrows;
349 wxFlexGridSizer* m_fgDirArrData1;
350 wxChoice* m_cDirectionArrowForm;
351 wxCheckBox* m_cDirArrFixSpac;
352 wxCheckBox* m_cDirArrMinSpac;
353 wxFlexGridSizer* m_fgDirArrData2;
354 wxChoice* m_cDirectionArrowSize;
355 wxSpinCtrl* m_sDirArrSpacing;
356 wxCheckBox* m_cbOverlayMap;
357 wxStaticText* m_tOverlayColors;
358 wxChoice* m_cOverlayColors;
359 wxCheckBox* m_cbNumbers;
360 wxFlexGridSizer* m_fgNumData1;
361 wxCheckBox* m_cNumFixSpac;
362 wxCheckBox* m_cNumMinSpac;
363 wxSpinCtrl* m_sNumbersSpacing;
364 wxCheckBox* m_cbParticles;
365 wxStaticText* m_ctParticles;
366 wxSlider* m_sParticleDensity;
367 wxStaticText* m_staticText24;
368 wxSlider* m_sTransparency;
369 wxFlexGridSizer* m_fgSetPlaybackSizer;
370 wxStaticText* m_staticText26;
371 wxChoice* m_cLoopStartPoint;
372 wxSlider* m_sUpdatesPerSecond;
373 wxStaticText* m_tSlicesPerUpdate;
374 wxFlexGridSizer* m_fgSetGuiSizer;
375 wxRadioButton* m_rbCurDataAttaWCap;
376 wxRadioButton* m_rbCurDataAttaWoCap;
377 wxRadioButton* m_rbCurDataIsolHoriz;
378 wxRadioButton* m_rbCurDataIsolVertic;
379 wxStaticBitmap* m_biAltitude;
380 wxStaticBitmap* m_biNow;
381 wxStaticBitmap* m_biZoomToCenter;
382 wxStaticBitmap* m_biShowCursorData;
383 wxStaticBitmap* m_biPlay;
384 wxStaticBitmap* m_biTimeSlider;
385 wxStaticBitmap* m_biOpenFile;
386 wxStaticBitmap* m_biSettings;
387 wxStaticBitmap* m_biRequest;
390 virtual void OnPageChange(wxNotebookEvent& event) {
event.Skip(); }
391 virtual void OnDataTypeChoice(wxCommandEvent& event) {
event.Skip(); }
392 virtual void OnUnitChange(wxCommandEvent& event) {
event.Skip(); }
393 virtual void OnSpacingModeChange(wxCommandEvent& event) {
event.Skip(); }
394 virtual void OnTransparencyChange(wxScrollEvent& event) {
event.Skip(); }
395 virtual void OnIntepolateChange(wxCommandEvent& event) {
event.Skip(); }
396 virtual void OnCtrlandDataStyleChanged(wxCommandEvent& event) {
399 virtual void OnApply(wxCommandEvent& event) {
event.Skip(); }
402 wxNotebook* m_nSettingsBook;
403 wxCheckBox* m_cLoopMode;
404 wxCheckBox* m_cInterpolate;
405 wxChoice* m_sSlicesPerUpdate;
406 wxStdDialogButtonSizer* m_sButton;
407 wxButton* m_sButtonOK;
408 wxButton* m_sButtonApply;
409 wxButton* m_sButtonCancel;
412 const wxString& title = _(
"Settings"),
413 const wxPoint& pos = wxDefaultPosition,
414 const wxSize& size = wxSize(-1, -1),
415 long style = wxDEFAULT_DIALOG_STYLE);
426 virtual void OnStartOptionChange(wxCommandEvent& event) {
event.Skip(); }
427 virtual void OnOKClick(wxCommandEvent& event) {
event.Skip(); }
428 void OnDirSelClick(wxCommandEvent& event);
431 wxCheckBox* m_cbUseHiDef;
432 wxCheckBox* m_cbUseGradualColors;
433 wxCheckBox* m_cbCopyFirstCumulativeRecord;
434 wxCheckBox* m_cbCopyMissingWaveRecord;
435 wxCheckBox* m_cbDrawBarbedArrowHead;
436 wxCheckBox* m_cZoomToCenterAtInit;
437 wxRadioBox* m_rbLoadOptions;
438 wxRadioBox* m_rbStartOptions;
439 wxRadioBox* m_rbTimeFormat;
440 wxString m_grib_dir_sel;
442 wxSlider* m_sIconSizeFactor;
446 const wxString& title = _(
"Preferences"),
447 const wxPoint& pos = wxDefaultPosition,
448 const wxSize& size = wxDefaultSize,
449 long style = wxDEFAULT_DIALOG_STYLE);
458 wxStaticBoxSizer* createAreaSelectionSection(wxWindow* parent,
460 void createWorldPanel();
461 void createLocalModelsPanel();
462 void createEmailPanel();
465 wxNotebook* m_notebookGetGrib;
466 wxPanel* m_panelWorld;
467 wxHtmlWindow* m_htmlWinWorld;
468 wxStaticText* m_staticTextInfo;
469 wxStaticText* m_stForecastLength;
470 wxChoice* m_chForecastLength;
471 wxStaticText* m_stECMWFResolution;
472 wxChoice* m_chECMWFResolution;
473 wxButton* m_btnDownloadWorld;
474 wxPanel* m_panelLocalModels;
475 wxTreeCtrl* m_SourcesTreeCtrl1;
476 wxStaticText* m_stLocalDownloadInfo;
477 wxHtmlWindow* m_htmlInfoWin;
478 wxButton* m_buttonUpdateCatalog;
479 wxButton* m_btnDownloadLocal;
480 wxPanel* m_panelEmail;
481 wxFlexGridSizer* m_fgScrollSizer;
482 wxFlexGridSizer* m_pSenderSizer;
483 wxTextCtrl* m_pSenderAddress;
486 wxCheckBox* m_cMovingGribEnabled;
487 wxFlexGridSizer* m_fgMovingParams;
488 wxSpinCtrl* m_sMovingSpeed;
489 wxSpinCtrl* m_sMovingCourse;
490 wxStaticText* m_sCourseUnit;
491 wxFlexGridSizer* m_fgLog;
492 wxTextCtrl* m_pLogin;
494 wxChoice* m_pResolution;
495 wxStaticText* m_tResUnit;
496 wxChoice* m_pInterval;
497 wxChoice* m_pTimeRange;
498 wxStaticText* m_staticText21;
510 wxBitmapToggleButton* m_bpManualSelection;
511 wxFlexGridSizer* fgZoneCoordinatesSizer;
512 wxCheckBox* m_cUseSavedZone;
515 wxStaticText* m_stMaxLatNS;
516 wxStaticText* m_staticText36;
519 wxStaticText* m_stMaxLonEW;
522 wxStaticText* m_stMinLatNS;
525 wxStaticText* m_stMinLonEW;
527 wxCheckBox* m_pPress;
528 wxCheckBox* m_pWindGust;
529 wxCheckBox* m_pRainfall;
530 wxCheckBox* m_pCloudCover;
531 wxCheckBox* m_pAirTemp;
533 wxCheckBox* m_pReflectivity;
534 wxCheckBox* m_pSeaTemp;
535 wxCheckBox* m_pCurrent;
536 wxCheckBox* m_pWaves;
538 wxCheckBox* m_pAltitudeData;
539 wxFlexGridSizer* m_fgAltitudeData;
540 wxCheckBox* m_p850hpa;
541 wxCheckBox* m_p700hpa;
542 wxCheckBox* m_p500hpa;
543 wxCheckBox* m_p300hpa;
544 wxTextCtrl* m_MailImage;
545 wxFlexGridSizer* m_fgFixedSizer;
546 wxStaticText* m_tFileSize;
547 wxStaticText* m_tLimit;
558 virtual void OnClose(wxCloseEvent& event) {
event.Skip(); }
559 virtual void OnNotebookPageChanged(wxNotebookEvent& event) {
event.Skip(); }
560 virtual void OnWorldLengthChoice(wxCommandEvent& event) {
event.Skip(); }
561 virtual void OnWorldResolutionChoice(wxCommandEvent& event) {
event.Skip(); }
562 virtual void OnWorldDownload(wxCommandEvent& event) {
event.Skip(); }
563 virtual void OnLocalTreeItemExpanded(wxTreeEvent& event) {
event.Skip(); }
564 virtual void OnLocalTreeSelChanged(wxTreeEvent& event) {
event.Skip(); }
565 virtual void OnUpdateLocalCatalog(wxCommandEvent& event) {
event.Skip(); }
566 virtual void OnDownloadLocal(wxCommandEvent& event) {
event.Skip(); }
567 virtual void OnTopChange(wxCommandEvent& event) {
event.Skip(); }
568 virtual void OnMovingClick(wxCommandEvent& event) {
event.Skip(); }
569 virtual void OnAnySpinChange(wxSpinEvent& event) {
event.Skip(); }
570 virtual void OnAnyChange(wxCommandEvent& event) {
event.Skip(); }
571 virtual void OnTimeRangeChange(wxCommandEvent& event) {
event.Skip(); }
572 virtual void OnZoneSelectionModeChange(wxCommandEvent& event) {
575 virtual void OnCoordinatesChange(wxSpinEvent& event) {
event.Skip(); }
580 virtual void OnOK(wxCommandEvent& event) {
event.Skip(); }
585 virtual void OnCancel(wxCommandEvent& event) {
event.Skip(); }
590 virtual void OnSendMaiL(wxCommandEvent& event) {
event.Skip(); }
591 virtual void OnXyGribDownloadButton(wxCommandEvent& event) {
event.Skip(); }
592 virtual void OnXyGribAtmModelChoice(wxCommandEvent& event) {
event.Skip(); }
593 virtual void OnXyGribWaveModelChoice(wxCommandEvent& event) {
event.Skip(); }
594 virtual void OnXyGribConfigChange(wxCommandEvent& event) {
event.Skip(); }
596 virtual void SaveConfig() {};
599 wxScrolledWindow* m_sScrolledDialog;
602 const wxString& title = _(
"Get forecast..."),
603 const wxPoint& pos = wxDefaultPosition,
604 const wxSize& size = wxSize(-1, -1),
605 long style = wxDEFAULT_DIALOG_STYLE);
615 wxStaticText* m_pPositionText;
616 wxStaticText* m_pCursorPosition;
619 virtual void OnClose(wxCloseEvent& event) {
event.Skip(); }
620 virtual void OnClick(wxGridEvent& event) {
event.Skip(); }
621 virtual void OnRangeClick(wxGridRangeSelectEvent& event) {
event.Skip(); }
622 virtual void OnOKButton(wxCommandEvent& event) {
event.Skip(); }
626 wxButton* m_pButtonTableOK;
630 const wxString& title = _(
"Grib Data Table"),
631 const wxPoint& pos = wxDefaultPosition,
632 const wxSize& size = wxSize(-1, -1),
633 long style = wxDEFAULT_DIALOG_STYLE | wxMAXIMIZE_BOX |