105 wxStaticText *m_staticText1;
106 wxStaticText *m_staticText5;
107 wxStaticText *m_staticText2;
108 wxStaticText *m_staticText6;
109 wxStaticText *m_staticText3;
110 wxStaticText *m_staticText4;
111 wxStaticLine *m_staticline1;
112 wxStaticLine *m_staticline2;
113 wxStaticText *m_staticText7;
114 wxStaticText *m_staticText9;
115 wxStaticText *m_staticText10;
116 wxStdDialogButtonSizer *m_sdbSizer3;
117 wxButton *m_sdbSizer3OK;
118 wxButton *m_sdbSizer3Cancel;
121 virtual void OnSetdefault(wxCommandEvent &event);
124 wxFontPickerCtrl *m_fontPicker2;
125 wxColourPickerCtrl *m_colourPicker1;
126 wxFontPickerCtrl *m_fontPicker4;
127 wxColourPickerCtrl *m_colourPicker2;
128 wxFontPickerCtrl *m_fontPicker5;
129 wxFontPickerCtrl *m_fontPicker6;
130 wxColourPickerCtrl *m_colourPicker3;
131 wxColourPickerCtrl *m_colourPicker4;
135 wxWindowID
id = wxID_ANY,
136 const wxString &title = wxT(
"Edit Instrument"),
137 const wxPoint &pos = wxDefaultPosition,
138 const wxSize &size = wxSize(-1, -1),
139 long style = wxDEFAULT_DIALOG_STYLE);
147 wxString caption, wxString orientation,
149 wxArrayOfInstrumentProperties inProberty) {
150 m_pDashboardWindow = dashboard_window;
152 m_sCaption = caption;
153 m_sOrientation = orientation;
154 m_aInstrumentList = inst;
155 m_aInstrumentPropertyList = inProberty;
156 m_bIsVisible =
false;
157 m_bIsDeleted =
false;
161 for (
unsigned int i = 0; i < m_aInstrumentPropertyList.GetCount(); i++) {
173 wxString m_sOrientation;
174 wxArrayInt m_aInstrumentList;
175 wxArrayOfInstrumentProperties m_aInstrumentPropertyList;
177 wxSize m_conf_best_size;
178 wxSize m_persist_size;
237 void OnPaneClose(wxAuiManagerEvent &event);
239 bool SaveConfig(
void);
240 void PopulateContextMenu(wxMenu *menu);
241 void ShowDashboard(
size_t id,
bool visible);
242 int GetToolbarItemId() {
return m_toolbar_item_id; }
243 int GetDashboardWindowShownCount();
244 void SetPluginMessage(wxString &message_id, wxString &message_body);
245 void UpdateSumLog(
bool);
248 bool LoadConfig(
void);
249 void LoadFont(wxFont **target, wxString native_info);
251 void ApplyConfig(
void);
252 void SendSentenceToAllInstruments(DASH_CAP st,
double value, wxString
unit);
253 void SendSatInfoToAllInstruments(
int cnt,
int seq, wxString talk,
255 void SendUtcTimeToAllInstruments(wxDateTime value);
257 void CalculateAndUpdateTWDS(
double awsKnots,
double awaDegrees);
259 void ParseSignalK(wxString &msg);
261 void updateSKItem(
wxJSONValue &item, wxString &talker, wxString &sfixtime);
274 std::shared_ptr<ObservableListener> listener_127245;
275 std::shared_ptr<ObservableListener> listener_127257;
276 std::shared_ptr<ObservableListener> listener_128259;
277 std::shared_ptr<ObservableListener> listener_128267;
278 std::shared_ptr<ObservableListener> listener_128275;
279 std::shared_ptr<ObservableListener> listener_128777;
280 std::shared_ptr<ObservableListener> listener_129029;
281 std::shared_ptr<ObservableListener> listener_129540;
282 std::shared_ptr<ObservableListener> listener_130306;
283 std::shared_ptr<ObservableListener> listener_130310;
284 std::shared_ptr<ObservableListener> listener_130313;
286 std::string prio127245;
287 std::string prio127257;
288 std::string prio128259;
289 std::string prio128267;
290 std::string prio129029;
291 std::string prioN2kPGNsat;
292 std::string prio130306;
296 wxFileConfig *m_pconfig;
297 wxAuiManager *m_pauimgr;
298 int m_toolbar_item_id;
300 wxArrayOfDashboard m_ArrayOfDashboardWindow;
305 short mPriPosition, mPriCOGSOG, mPriHeadingM, mPriHeadingT;
306 short mPriVar, mPriDateTime, mPriAWA, mPriTWA, mPriDepth;
307 short mPriSTW, mPriWTP, mPriATMP, mPriWDN, mPriSatStatus;
308 short mPriMDA, mPriHUM;
311 short mPriSatUsed, mPriAlt, mPriRSA, mPriPitchRoll;
332 wxDateTime mUTCDateTime;
333 int m_config_version;
334 wxString m_VDO_accumulator;
343 int mDPT_DBT_Watchdog;
373 wxArrayOfDashboard config);
376 void OnCloseDialog(wxCloseEvent &event);
377 void OnDashboardSelected(wxListEvent &event);
378 void OnDashboardAdd(wxCommandEvent &event);
379 void OnDashboardDelete(wxCommandEvent &event);
380 void OnInstrumentSelected(wxListEvent &event);
381 void OnInstrumentAdd(wxCommandEvent &event);
382 void OnInstrumentEdit(wxCommandEvent &event);
383 void OnInstrumentDelete(wxCommandEvent &event);
384 void OnInstrumentUp(wxCommandEvent &event);
385 void OnInstrumentDown(wxCommandEvent &event);
386 void OnDashboarddefaultFont(wxCommandEvent &event);
387 void OnDistanceUnitSelect(wxCommandEvent &event);
388 void SaveDashboardConfig();
389 void RecalculateSize(
void);
391 wxArrayOfDashboard m_Config;
392 wxFontPickerCtrl *m_pFontPickerTitle;
393 wxFontPickerCtrl *m_pFontPickerData;
394 wxFontPickerCtrl *m_pFontPickerLabel;
395 wxFontPickerCtrl *m_pFontPickerSmall;
396 wxSpinCtrl *m_pSpinSpeedMax;
397 wxSpinCtrl *m_pSpinCOGDamp;
398 wxSpinCtrl *m_pSpinSOGDamp;
399 wxSpinCtrl *m_pSpinAWSDamp;
400 wxSpinCtrl *m_pSpinAWADamp;
401 wxChoice *m_pChoiceUTCOffset;
402 wxChoice *m_pChoiceSpeedUnit;
403 wxChoice *m_pChoiceDepthUnit;
404 wxSpinCtrlDouble *m_pSpinDBTOffset;
405 wxChoice *m_pChoiceDistanceUnit;
406 wxChoice *m_pChoiceWindSpeedUnit;
407 wxCheckBox *m_pUseInternSumLog;
408 wxStaticText *m_SumLogUnit;
409 wxTextCtrl *m_pSumLogValue;
410 wxCheckBox *m_pUseTrueWinddata;
411 wxChoice *m_pChoiceTempUnit;
414 void UpdateDashboardButtonsState(
void);
415 void UpdateButtonsState(
void);
417 wxListCtrl *m_pListCtrlDashboards;
418 wxBitmapButton *m_pButtonAddDashboard;
419 wxBitmapButton *m_pButtonDeleteDashboard;
420 wxPanel *m_pPanelDashboard;
421 wxTextCtrl *m_pTextCtrlCaption;
422 wxCheckBox *m_pCheckBoxIsVisible;
423 wxChoice *m_pChoiceOrientation;
424 wxListCtrl *m_pListCtrlInstruments;
425 wxButton *m_pButtonAdd;
426 wxButton *m_pButtonEdit;
427 wxButton *m_pButtonDelete;
428 wxButton *m_pButtonUp;
429 wxButton *m_pButtonDown;
430 wxButton *m_pButtondefaultFont;
456 DashboardWindow(wxWindow *pparent, wxWindowID
id, wxAuiManager *auimgr,
462 void SetSizerOrientation(
int orient);
463 int GetSizerOrientation();
464 void OnSize(wxSizeEvent &evt);
465 void OnContextMenu(wxContextMenuEvent &evt);
466 void OnContextMenuSelect(wxCommandEvent &evt);
468 void OnMouseEvent(wxMouseEvent &event);
470#ifdef __OCPN__ANDROID__
471 void OnEvtPinchGesture(wxQT_PinchGestureEvent &event);
472 void OnEvtPanGesture(wxQT_PanGestureEvent &event);
475 bool isInstrumentListEqual(
const wxArrayInt &list);
476 void SetInstrumentList(wxArrayInt list,
477 wxArrayOfInstrumentProperties *InstrumentPropertyList);
478 void SendSentenceToAllInstruments(DASH_CAP st,
double value, wxString
unit);
479 void SendSatInfoToAllInstruments(
int cnt,
int seq, wxString talk,
481 void SendUtcTimeToAllInstruments(wxDateTime value);
484 void ChangePaneOrientation(
int orient,
bool updateAUImgr,
int fpx = 100,
493 wxPoint m_resizeStartPoint;
494 wxSize m_resizeStartSize;
499 wxAuiManager *m_pauimgr;
503 wxBoxSizer *itemBoxSizer;
504 wxArrayOfInstrument m_ArrayOfInstrument;
519 OCPNFontButton(wxWindow *parent, wxWindowID
id,
const wxFontData &initial,
520 const wxPoint &pos = wxDefaultPosition,
521 const wxSize &size = wxDefaultSize,
522 long style = wxFONTBTN_DEFAULT_STYLE,
523 const wxValidator &validator = wxDefaultValidator,
524 const wxString &name = wxFontPickerWidgetNameStr) {
525 Create(parent,
id, initial, pos, size, style, validator, name);
528 virtual wxColour GetSelectedColour()
const {
return m_data.GetColour(); }
529 virtual void SetSelectedFont(
const wxFont &font) {
530 m_data.SetChosenFont(font);
531 m_selectedFont = m_data.GetChosenFont();
534 virtual void SetSelectedColour(
const wxColour &colour) {
535 m_data.SetColour(colour);
546 wxFontData *GetFontData() {
return &m_data; }
549 wxFont GetSelectedFont()
const {
return m_selectedFont; }
552 bool Create(wxWindow *parent, wxWindowID
id,
const wxFontData &initial,
553 const wxPoint &pos = wxDefaultPosition,
554 const wxSize &size = wxDefaultSize,
555 long style = wxFONTBTN_DEFAULT_STYLE,
556 const wxValidator &validator = wxDefaultValidator,
557 const wxString &name = wxFontPickerWidgetNameStr);
559 void OnButtonClick(wxCommandEvent &);
566 wxFont m_selectedFont;