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;