163 GRIBUICtrlBar(wxWindow *parent, wxWindowID
id,
const wxString &title,
164 const wxPoint &pos,
const wxSize &size,
long style,
168 void OpenFile(
bool newestFile =
false);
170 void ContextMenuItemCallback(
int id);
171 void SetFactoryOptions();
173 wxDateTime TimelineTime();
200 void TimelineChanged();
201 void CreateActiveFileFromNames(
const wxArrayString &filenames);
202 void PopulateComboDataList();
203 void ComputeBestForecastForNow();
205 void SetDataBackGroundColor();
206 void SetTimeLineMax(
bool SetValue);
207 void SetCursorLatLon(
double lat,
double lon);
208 void UpdateTrackingControl();
209 void SetDialogsStyleSizePosition(
bool force_recompute =
false);
210 void SetRequestBitmap(
int type);
211 void OnMouseEvent(wxMouseEvent &event);
212 GRIBUICData *GetCDataDialog() {
return m_gGRIBUICData; }
213 bool InDataPlot(
int id) {
214 return id > wxID_ANY &&
id < (int)GribOverlaySettings::GEO_ALTITUDE;
216 void SetScaledBitmap(
double factor);
217 wxBitmap GetScaledBitmap(wxBitmap bitmap,
const wxString svgFileName,
218 double scale_factor);
219 void OpenFileFromJSON(wxString json);
222 double getTimeInterpolatedValue(
int idx,
double lon,
double lat,
224 bool getTimeInterpolatedValues(
double &M,
double &A,
int idx1,
int idx2,
225 double lon,
double lat, wxDateTime t);
240 bool m_bDataPlot[GribOverlaySettings::GEO_ALTITUDE];
243 int m_ZoneSelAllowed;
244 int m_old_DialogStyle;
245 double m_ScaledFactor;
246 void DoZoomToCenter();
247 const wxString GetGribDir() {
249 m_grib_dir = GetpPrivateApplicationDataLocation()
250 ->Append(wxFileName::GetPathSeparator())
256 int response = PlatformDirSelectorDialog(
257 this, &dir_spec, _(
"Choose GRIB File Directory"),
m_grib_dir);
259 if (response == wxID_OK) {
266 void GetProjectedLatLon(
int &x,
int &y);
267 bool ProjectionEnabled() {
268 if (m_ProjectBoatPanel)
269 return m_ProjectBoatPanel->ProjectionEnabled();
273 double m_highlight_latmax;
274 double m_highlight_lonmax;
275 double m_highlight_latmin;
276 double m_highlight_lonmin;
283 void OnClose(wxCloseEvent &event);
284 void OnSize(wxSizeEvent &event);
285 void OnPaint(wxPaintEvent &event);
286 void OnSettings(wxCommandEvent &event);
287 void OnPlayStop(wxCommandEvent &event);
288 void OnPlayStopTimer(wxTimerEvent &event);
289 void OnMove(wxMoveEvent &event);
290 void OnMenuEvent(wxMenuEvent &event);
291 void MenuAppend(wxMenu *menu,
int id, wxString label, wxItemKind kind,
292 wxBitmap bitmap = wxNullBitmap, wxMenu *submenu =
nullptr);
293 void OnZoomToCenterClick(wxCommandEvent &event);
294 void OnPrev(wxCommandEvent &event);
295 void OnRecordForecast(wxCommandEvent &event) {
297 m_InterpolateMode =
false;
301 void OnNext(wxCommandEvent &event);
302 void OnNow(wxCommandEvent &event) {
304 ComputeBestForecastForNow();
306 void OnAltitude(wxCommandEvent &event);
307 void OnOpenFile(wxCommandEvent &event);
308 void OnRequest(wxCommandEvent &event);
309 void OnCompositeDialog(wxCommandEvent &event);
311 void OnTimeline(wxScrollEvent &event);
312 void OnShowCursorData(wxCommandEvent &event);
314 wxDateTime MinTime();
315 wxArrayString GetFilesInDirectory();
317 int GetNearestIndex(wxDateTime time,
int model);
318 int GetNearestValue(wxDateTime time,
int model);
320 double *latmax,
double *lonmin,
double *lonmax);
322 void RestaureSelectionString();
323 void SaveSelectionString() {
324 m_SelectionIsSaved =
true;
325 m_Selection_index = m_cRecordForecast->GetSelection();
326 m_Selection_label = m_cRecordForecast->GetString(m_Selection_index);
338 int m_FileIntervalIndex;
339 bool m_InterpolateMode;
343 bool m_SelectionIsSaved;
344 int m_Selection_index;
345 wxString m_Selection_label;
346 wxSize m_DialogsOffset;
347 double m_projected_lat;
348 double m_projected_lon;