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 wxString m_grib_dir_sel;
440 wxTextCtrl* m_textDirectory;
443 wxSlider* m_sIconSizeFactor;
447 const wxString& title = _(
"Preferences"),
448 const wxPoint& pos = wxDefaultPosition,
449 const wxSize& size = wxDefaultSize,
450 long style = wxDEFAULT_DIALOG_STYLE);
459 wxStaticBoxSizer* createAreaSelectionSection(wxWindow* parent,
461 void createWorldPanel();
462 void createLocalModelsPanel();
463 void createEmailPanel();
466 wxNotebook* m_notebookGetGrib;
467 wxPanel* m_panelWorld;
468 wxHtmlWindow* m_htmlWinWorld;
469 wxStaticText* m_staticTextInfo;
470 wxStaticText* m_stForecastLength;
471 wxChoice* m_chForecastLength;
472 wxStaticText* m_stECMWFResolution;
473 wxChoice* m_chECMWFResolution;
474 wxButton* m_btnDownloadWorld;
475 wxPanel* m_panelLocalModels;
476 wxTreeCtrl* m_SourcesTreeCtrl1;
477 wxStaticText* m_stLocalDownloadInfo;
478 wxHtmlWindow* m_htmlInfoWin;
479 wxButton* m_buttonUpdateCatalog;
480 wxButton* m_btnDownloadLocal;
481 wxPanel* m_panelEmail;
482 wxFlexGridSizer* m_fgScrollSizer;
483 wxFlexGridSizer* m_pSenderSizer;
484 wxTextCtrl* m_pSenderAddress;
487 wxCheckBox* m_cMovingGribEnabled;
488 wxFlexGridSizer* m_fgMovingParams;
489 wxSpinCtrl* m_sMovingSpeed;
490 wxSpinCtrl* m_sMovingCourse;
491 wxStaticText* m_sCourseUnit;
492 wxFlexGridSizer* m_fgLog;
493 wxTextCtrl* m_pLogin;
495 wxChoice* m_pResolution;
496 wxStaticText* m_tResUnit;
497 wxChoice* m_pInterval;
498 wxChoice* m_pTimeRange;
499 wxStaticText* m_staticText21;
511 wxBitmapToggleButton* m_bpManualSelection;
512 wxFlexGridSizer* fgZoneCoordinatesSizer;
513 wxCheckBox* m_cUseSavedZone;
516 wxStaticText* m_stMaxLatNS;
517 wxStaticText* m_staticText36;
520 wxStaticText* m_stMaxLonEW;
523 wxStaticText* m_stMinLatNS;
526 wxStaticText* m_stMinLonEW;
528 wxCheckBox* m_pPress;
529 wxCheckBox* m_pWindGust;
530 wxCheckBox* m_pRainfall;
531 wxCheckBox* m_pCloudCover;
532 wxCheckBox* m_pAirTemp;
534 wxCheckBox* m_pReflectivity;
535 wxCheckBox* m_pSeaTemp;
536 wxCheckBox* m_pCurrent;
537 wxCheckBox* m_pWaves;
539 wxCheckBox* m_pAltitudeData;
540 wxFlexGridSizer* m_fgAltitudeData;
541 wxCheckBox* m_p850hpa;
542 wxCheckBox* m_p700hpa;
543 wxCheckBox* m_p500hpa;
544 wxCheckBox* m_p300hpa;
545 wxTextCtrl* m_MailImage;
546 wxFlexGridSizer* m_fgFixedSizer;
547 wxStaticText* m_tFileSize;
548 wxStaticText* m_tLimit;
559 virtual void OnClose(wxCloseEvent& event) {
event.Skip(); }
560 virtual void OnNotebookPageChanged(wxNotebookEvent& event) {
event.Skip(); }
561 virtual void OnWorldLengthChoice(wxCommandEvent& event) {
event.Skip(); }
562 virtual void OnWorldResolutionChoice(wxCommandEvent& event) {
event.Skip(); }
563 virtual void OnWorldDownload(wxCommandEvent& event) {
event.Skip(); }
564 virtual void OnLocalTreeItemExpanded(wxTreeEvent& event) {
event.Skip(); }
565 virtual void OnLocalTreeSelChanged(wxTreeEvent& event) {
event.Skip(); }
566 virtual void OnUpdateLocalCatalog(wxCommandEvent& event) {
event.Skip(); }
567 virtual void OnDownloadLocal(wxCommandEvent& event) {
event.Skip(); }
568 virtual void OnTopChange(wxCommandEvent& event) {
event.Skip(); }
569 virtual void OnMovingClick(wxCommandEvent& event) {
event.Skip(); }
570 virtual void OnAnySpinChange(wxSpinEvent& event) {
event.Skip(); }
571 virtual void OnAnyChange(wxCommandEvent& event) {
event.Skip(); }
572 virtual void OnTimeRangeChange(wxCommandEvent& event) {
event.Skip(); }
573 virtual void OnZoneSelectionModeChange(wxCommandEvent& event) {
576 virtual void OnCoordinatesChange(wxSpinEvent& event) {
event.Skip(); }
581 virtual void OnOK(wxCommandEvent& event) {
event.Skip(); }
586 virtual void OnCancel(wxCommandEvent& event) {
event.Skip(); }
591 virtual void OnSendMaiL(wxCommandEvent& event) {
event.Skip(); }
592 virtual void OnXyGribDownloadButton(wxCommandEvent& event) {
event.Skip(); }
593 virtual void OnXyGribAtmModelChoice(wxCommandEvent& event) {
event.Skip(); }
594 virtual void OnXyGribWaveModelChoice(wxCommandEvent& event) {
event.Skip(); }
595 virtual void OnXyGribConfigChange(wxCommandEvent& event) {
event.Skip(); }
597 virtual void SaveConfig() {};
600 wxScrolledWindow* m_sScrolledDialog;
603 const wxString& title = _(
"Get forecast..."),
604 const wxPoint& pos = wxDefaultPosition,
605 const wxSize& size = wxSize(-1, -1),
606 long style = wxDEFAULT_DIALOG_STYLE);
616 wxStaticText* m_pPositionText;
617 wxStaticText* m_pCursorPosition;
620 virtual void OnClose(wxCloseEvent& event) {
event.Skip(); }
621 virtual void OnClick(wxGridEvent& event) {
event.Skip(); }
622 virtual void OnRangeClick(wxGridRangeSelectEvent& event) {
event.Skip(); }
623 virtual void OnOKButton(wxCommandEvent& event) {
event.Skip(); }
627 wxButton* m_pButtonTableOK;
631 const wxString& title = _(
"Grib Data Table"),
632 const wxPoint& pos = wxDefaultPosition,
633 const wxSize& size = wxSize(-1, -1),
634 long style = wxDEFAULT_DIALOG_STYLE | wxMAXIMIZE_BOX |