282 wxWindowID
id = SYMBOL_OPTIONS_IDNAME,
283 const wxString &caption = SYMBOL_OPTIONS_TITLE,
284 const wxPoint &pos = SYMBOL_OPTIONS_POSITION,
285 const wxSize &size = SYMBOL_OPTIONS_SIZE,
286 long style = SYMBOL_OPTIONS_STYLE);
291 bool SendIdleEvents(wxIdleEvent &event);
292 void SetInitialPage(
int page_sel,
int sub_page = -1);
295 void OnClose(wxCloseEvent &event);
297 void ShowOKButtons(
bool _show) { m_OK_Cancel_Apply_buttons->Show(_show); }
299 void CreateListbookIcons();
300 void CreateControls(
void);
301 size_t CreatePanel(
const wxString &title);
302 wxScrolledWindow *AddPage(
size_t parent,
const wxString &title);
303 bool DeletePluginPage(wxScrolledWindow *page);
304 void SetColorScheme(ColorScheme cs);
305 void RecalculateSize(
int hint_x,
int hint_y);
307 void SetInitChartDir(
const wxString &dir) { m_init_chart_dir = dir; }
308 void SetInitialSettings(
void);
309 void SetInitialVectorSettings(
void);
311 void SetCurrentDirList(ArrayOfCDI p) { m_CurrentDirList = p; }
312 void SetWorkDirListPtr(ArrayOfCDI *p) { m_pWorkDirList = p; }
313 ArrayOfCDI *GetWorkDirListPtr(
void) {
return m_pWorkDirList; }
315 void AddChartDir(
const wxString &dir);
317 void UpdateDisplayedChartDirList(ArrayOfCDI p);
318 void UpdateOptionsUnits(
void);
320 void SetConfigPtr(
MyConfig *p) { m_pConfig = p; }
321 void OnDebugcheckbox1Click(wxCommandEvent &event);
322 void OnDirctrlSelChanged(wxTreeEvent &event);
323 void OnButtonaddClick(wxCommandEvent &event);
324 void OnButtondeleteClick(wxCommandEvent &event);
325 void OnButtonParseENC(wxCommandEvent &event);
326 void OnButtonRebuildChartDb(wxCommandEvent &event);
327 void OnButtoncompressClick(wxCommandEvent &event);
328 void OnButtonmigrateClick(wxCommandEvent &event);
329 void OnButtonEcdisHelp(wxCommandEvent &event);
330 void OnRadioboxSelected(wxCommandEvent &event);
331 void OnApplyClick(wxCommandEvent &event);
332 void OnXidOkClick(wxCommandEvent &event);
333 void OnCancelClick(wxCommandEvent &event);
334 void OnChooseFont(wxCommandEvent &event);
335 void OnFontChoice(wxCommandEvent &event);
336 void OnCPAWarnClick(wxCommandEvent &event);
337 void OnSyncCogPredClick(wxCommandEvent &event);
338 void OnSizeAutoButton(wxCommandEvent &event);
339 void OnSizeManualButton(wxCommandEvent &event);
341#if defined(__WXGTK__) || defined(__WXQT__)
342 void OnChooseFontColor(wxCommandEvent &event);
344 void OnGLClicked(wxCommandEvent &event);
345 void OnOpenGLOptions(wxCommandEvent &event);
346 void OnDisplayCategoryRadioButton(wxCommandEvent &event);
347 void OnButtonClearClick(wxCommandEvent &event);
348 void OnButtonSelectClick(wxCommandEvent &event);
349 void OnButtonSetStd(wxCommandEvent &event);
351 void OnPageChange(wxListbookEvent &event);
352 void OnTopNBPageChange(wxNotebookEvent &event);
353 void OnSubNBPageChange(wxNotebookEvent &event);
354 void DoOnPageChange(
size_t page);
356 wxString SelectSoundFile();
357 void OnButtonSelectSound(wxCommandEvent &event);
358 void OnButtonTestSound(wxCommandEvent &event);
360 void OnShowGpsWindowCheckboxClick(wxCommandEvent &event);
361 void OnZTCCheckboxClick(wxCommandEvent &event);
362 void OnRadarringSelect(wxCommandEvent &event);
363 void OnWaypointRangeRingSelect(wxCommandEvent &event);
364 void OnShipTypeSelect(wxCommandEvent &event);
365 void OnButtonGroups(wxCommandEvent &event);
366 void OnInsertTideDataLocation(wxCommandEvent &event);
367 void OnRemoveTideDataLocation(wxCommandEvent &event);
368 void OnCharHook(wxKeyEvent &event);
369 void OnChartsPageChange(wxListbookEvent &event);
370 void OnChartDirListSelect(wxCommandEvent &event);
371 void OnUnitsChoice(wxCommandEvent &event);
373 void UpdateWorkArrayFromDisplayPanel(
void);
374 ArrayOfCDI GetSelectedChartDirs();
375 ArrayOfCDI GetUnSelectedChartDirs();
376 void SetDirActionButtons();
378 void OnCreateConfig(wxCommandEvent &event);
379 void OnEditConfig(wxCommandEvent &event);
380 void OnDeleteConfig(wxCommandEvent &event);
381 void OnApplyConfig(wxCommandEvent &event);
382 void SetConfigButtonState();
383 void ClearConfigList();
384 void BuildConfigList();
385 void OnConfigMouseSelected(wxMouseEvent &event);
386 void OnDialogInit(wxInitDialogEvent &event);
388 bool GetNeedNew() {
return m_bneedNew; }
389 void SetNeedNew(
bool bnew) { m_bneedNew = bnew; }
390 int GetScrollRate() {
return m_scrollRate; }
391 void SetForceNewToolbarOnCancel(
bool val) {
392 m_bForceNewToolbaronCancel = val;
395 wxArrayString *GetSerialArray() {
return m_pSerialArray; }
396 void OptionsFinalizeChartDBUpdate();
399 static bool ShowToolTips(
void);
401#ifdef OCPN_OPTIONS_USE_LISTBOOK
402 wxListbook *m_pListbook;
404 wxNotebook *m_pListbook;
407 wxBoxSizer *m_OK_Cancel_Apply_buttons;
409 size_t m_pageDisplay, m_pageConnections, m_pageCharts, m_pageShips;
410 size_t m_pageUI, m_pagePlugins;
411 int lastPage, lastSubPage;
412 wxPoint lastWindowPos;
413 wxSize lastWindowSize;
414 wxButton *m_ApplyButton, *m_OKButton, *m_CancelButton;
416 ChartGroupArray *m_pGroupArray;
417 int m_groups_changed;
420 wxSizerFlags inputFlags, verticleInputFlags, labelFlags, groupInputFlags;
421 wxSizerFlags groupLabelFlags, groupLabelFlagsHoriz;
424 wxScrolledWindow *pDisplayPanel;
425 wxCheckBox *pShowStatusBar, *pShowMenuBar, *pShowChartBar, *pShowCompassWin;
426 wxCheckBox *pPrintShowIcon, *pCDOOutlines, *pSDepthUnits, *pSDisplayGrid;
427 wxCheckBox *pAutoAnchorMark, *pCDOQuilting, *pCBRaster, *pCBVector;
428 wxCheckBox *pCBCM93, *pCBLookAhead, *pSkewComp, *pOpenGL, *pSmoothPanZoom;
429 wxCheckBox *pFullScreenQuilt, *pMobile, *pResponsive, *pOverzoomEmphasis;
430 wxCheckBox *pOZScaleVector, *pToolbarAutoHideCB, *pInlandEcdis, *pRollover;
431 wxCheckBox *pZoomButtons, *pChartBarEX;
432 wxTextCtrl *pCOGUPUpdateSecs, *m_pText_OSCOG_Predictor, *pScreenMM;
433 wxTextCtrl *pToolbarHideSecs, *m_pText_OSHDT_Predictor, *m_pTxt_OwnMMSI;
444 wxTextCtrl *pCmdSoundString;
446 wxChoice *m_pShipIconType, *m_pcTCDatasets;
447 wxSlider *m_pSlider_Zoom_Raster, *m_pSlider_GUI_Factor,
448 *m_pSlider_Chart_Factor, *m_pSlider_Ship_Factor, *m_pSlider_Text_Factor,
449 *m_pSlider_ENCText_Factor;
450 wxSlider *m_pMouse_Zoom_Slider;
451 wxSlider *m_pSlider_Zoom_Vector;
452 wxSlider *m_pSlider_CM93_Zoom;
454 wxCheckBox *pSLiveETA;
455 wxTextCtrl *pSDefaultBoatSpeed;
457 wxRadioButton *pCBCourseUp, *pCBNorthUp, *pRBSizeAuto, *pRBSizeManual;
460 wxStaticText *itemStaticTextUserVar;
461 wxStaticText *itemStaticTextUserVar2;
462 wxButton *m_configDeleteButton, *m_configApplyButton;
464 void OnAISRolloverClick(wxCommandEvent &event);
465 void UpdateChartDirList();
467 void OnCanvasConfigSelectClick(
int ID,
bool selected);
474 wxBoxSizer *vectorPanel;
475 wxScrolledWindow *ps57Ctl;
479 wxChoice *pDispCat, *pPointStyle, *pBoundStyle, *p24Color;
480 wxButton *itemButtonClearList, *itemButtonSelectList, *itemButtonSetStd;
481 wxCheckBox *pCheck_SOUNDG, *pCheck_META, *pCheck_SHOWIMPTEXT;
482 wxCheckBox *pCheck_SCAMIN, *pCheck_SuperSCAMIN;
483 wxCheckBox *pCheck_ATONTEXT, *pCheck_LDISTEXT;
484 wxCheckBox *pCheck_XLSECTTEXT, *pCheck_DECLTEXT, *pCheck_NATIONALTEXT;
485 wxCheckBox *pSEnableCM93Offset;
486 wxTextCtrl *m_ShallowCtl, *m_SafetyCtl, *m_DeepCtl;
487 wxStaticText *m_depthUnitsShal, *m_depthUnitsSafe, *m_depthUnitsDeep;
491 wxChoice *pSDMMFormat, *pDistanceFormat, *pSpeedFormat, *pDepthUnitSelect,
492 *pTempFormat, *pWindSpeedFormat, *pHeightUnitSelect;
493 wxCheckBox *pCBTrueShow, *pCBMagShow;
497 wxStaticBoxSizer *activeSizer;
498 wxBoxSizer *chartPanel;
501 ArrayOfCDI ActiveChartArray;
503 wxStaticBox *itemActiveChartStaticBox;
504 wxCheckBox *pUpdateCheckBox, *pScanCheckBox;
505 wxButton *pParseENCButton, *pRebuildChartDatabase;
506 wxButton *m_removeBtn, *m_compressBtn;
507 wxButton *m_migrateBtn;
510 wxBoxSizer *boxSizerCharts;
511 wxScrolledWindow *m_scrollWinChartList;
512 wxScrolledWindow *chartPanelWin;
513 wxBoxSizer *cmdButtonSizer;
514 wxStaticBox *loadedBox;
515 std::vector<OCPNChartDirPanel *> panelVector;
516 wxArrayString activeChartList;
519 wxScrolledWindow *m_ChartDisplayPage;
522 wxCheckBox *m_pCheck_CPA_Max, *m_pCheck_CPA_Warn, *m_pCheck_CPA_WarnT;
523 wxCheckBox *m_pCheck_Mark_Lost, *m_pCheck_Remove_Lost;
524 wxCheckBox *m_pCheck_Show_COG, *m_pCheck_Sync_OCOG_ACOG;
525 wxCheckBox *m_pCheck_Show_Tracks, *m_pCheck_Hide_Moored,
526 *m_pCheck_Scale_Priority;
527 wxCheckBox *m_pCheck_AlertDialog, *m_pCheck_AlertAudio;
528 wxCheckBox *m_pCheck_Alert_Moored, *m_pCheck_Rollover_Class;
529 wxCheckBox *m_pCheck_Rollover_COG, *m_pCheck_Rollover_CPA;
530 wxCheckBox *m_pCheck_Ack_Timout, *m_pCheck_Show_Area_Notices;
531 wxCheckBox *m_pCheck_Draw_Target_Size, *m_pCheck_Draw_Realtime_Prediction;
532 wxCheckBox *m_pCheck_Show_Target_Name;
533 wxChoice *m_pWplAction;
534 wxCheckBox *m_pCheck_use_Wpl, *m_pCheck_ShowAllCPA;
535 wxTextCtrl *m_pText_CPA_Max, *m_pText_CPA_Warn, *m_pText_CPA_WarnT;
536 wxTextCtrl *m_pText_Mark_Lost, *m_pText_Remove_Lost, *m_pText_COG_Predictor;
537 wxTextCtrl *m_pText_Track_Length, *m_pText_Moored_Speed,
538 *m_pText_Scale_Priority;
539 wxTextCtrl *m_pText_ACK_Timeout, *m_pText_Show_Target_Name_Scale;
540 wxTextCtrl *m_pText_RealtPred_Speed;
543 wxScrolledWindow *m_DisplayConfigsPage;
547 wxStaticText *m_Text_def_boat_speed;
550 wxScrolledWindow *m_scrollWinConfigList;
551 wxStaticText *m_templateTitleText;
552 wxStaticText *m_staticTextLastAppled;
553 wxStaticBoxSizer *m_templateStatusBoxSizer;
556 wxFlexGridSizer *realSizes;
557 wxTextCtrl *m_pOSLength, *m_pOSWidth, *m_pOSGPSOffsetX, *m_pOSGPSOffsetY;
558 wxTextCtrl *m_pOSMinSize, *m_pText_ACRadius;
559 wxStaticBoxSizer *dispOptions, *dispWaypointOptions;
560 wxScrolledWindow *itemPanelShip, *itemPanelRoutes;
561 wxBoxSizer *ownShip, *Routes;
562 wxCheckBox *pShowshipToActive;
563 wxChoice *m_shipToActiveStyle, *m_shipToActiveColor;
567 wxCheckBox *pScaMinChckB, *pScaMinOverruleChckB;
568 wxTextCtrl *m_pText_ScaMin;
569 wxTextCtrl *m_pText_ScaMax;
572 wxBoxSizer *m_itemBoxSizerFontPanel;
573 wxChoice *m_itemFontElementListBox, *m_itemStyleListBox, *m_itemLangListBox;
574 wxStaticText *m_textSample;
576 bool m_bVisitPlugins;
579 wxComboBox *m_itemAISListBox;
585 wxScrolledWindow *itemPanelPlugins;
586 wxBoxSizer *itemBoxSizerPanelPlugins;
587 wxFlexGridSizer *radarGrid, *waypointradarGrid;
588 wxChoice *pNavAidRadarRingsNumberVisible, *pWaypointRangeRingsNumber;
590 wxChoice *m_itemRadarRingsUnits, *m_itemWaypointRangeRingsUnits;
593 wxChoice *pTrackPrecision;
594 wxTextCtrl *pNavAidRadarRingsStep, *pWaypointRangeRingsStep;
595 wxCheckBox *pSogCogFromLLCheckBox;
596 wxSpinCtrl *pSogCogFromLLDampInterval;
597 wxTextCtrl *m_pText_TP_Secs, *m_pText_TP_Dist;
598 wxCheckBox *pWayPointPreventDragging, *pConfirmObjectDeletion;
599 wxCheckBox *pEnableZoomToCursor, *pPreserveScale, *pPlayShipsBells;
600 wxCheckBox *pEnableTenHertz, *pTransparentToolbar;
601 wxCheckBox *pAdvanceRouteWaypointOnArrivalOnly, *pTrackShowIcon;
602 wxCheckBox *pTrackDaily, *pTrackHighlite;
603 wxStaticText *pStatic_CallSign;
605#if wxCHECK_VERSION(2, 9, 0)
606#if wxUSE_TIMEPICKCTRL
610 wxTimePickerCtrl *pTrackRotateTime;
614 wxRadioButton *pTrackRotateComputerTime, *pTrackRotateUTC, *pTrackRotateLMT;
616 wxChoice *pSoundDeviceIndex;
617 wxStaticText *stSoundDeviceIndex;
619 wxArrayPtrVoid OBJLBoxArray;
620 wxString m_init_chart_dir;
621 wxArrayString *m_pSerialArray;
623 ArrayOfCDI m_CurrentDirList, *m_pWorkDirList;
628 bool m_bForceNewToolbaronCancel;
636 void OnUXAudioEnableButtonClickAIS(wxCommandEvent &event);
637 void OnUXAudioEnableButtonClickSART(wxCommandEvent &event);
638 void OnUXAudioEnableButtonClickDSC(wxCommandEvent &event);
643 wxGenericProgressDialog *m_pCBDSprog;
644 void DoDBSUpdate(
bool force_full);
645 bool m_bTextureCacheingSave;
649 void CreatePanel_MMSI(
size_t parent,
int border_size,
int group_item_spacing);
650 void CreatePanel_AIS(
size_t parent,
int border_size,
int group_item_spacing);
651 void CreatePanel_Ownship(
size_t parent,
int border_size,
652 int group_item_spacing);
653 void CreatePanel_NMEA(
size_t parent,
int border_size,
int group_item_spacing);
654 void CreatePanel_ChartsLoad(
size_t parent,
int border_size,
655 int group_item_spacing);
656 void CreatePanel_VectorCharts(
size_t parent,
int border_size,
657 int group_item_spacing);
658 void CreatePanel_TidesCurrents(
size_t parent,
int border_size,
659 int group_item_spacing);
660 void CreatePanel_ChartGroups(
size_t parent,
int border_size,
661 int group_item_spacing);
662 void CreatePanel_Display(
size_t parent,
int border_size,
663 int group_item_spacing);
664 void CreatePanel_UI(
size_t parent,
int border_size,
int group_item_spacing);
665 void CreatePanel_Units(
size_t parent,
int border_size,
666 int group_item_spacing);
667 void CreatePanel_Sounds(
size_t parent,
int border_size,
668 int group_item_spacing);
669 void CreatePanel_Advanced(
size_t parent,
int border_size,
670 int group_item_spacing);
671 void CreatePanel_Configs(
size_t parent,
int border_size,
672 int group_item_spacing);
673 void CreatePanel_Routes(
size_t parent,
int border_size,
674 int group_item_spacing);
676 void OnAlertEnableButtonClick(wxCommandEvent &event);
677 void OnAlertAudioEnableButtonClick(wxCommandEvent &event);
678 void OnResetFont(wxCommandEvent &event);
680 void UpdateTemplateTitleText();
681 void CheckDeviceAccess(wxString &path);
685 wxListCtrl *tcDataSelected;
686 std::vector<int> marinersStdXref;
688 wxImageList *m_topImgList;
690 wxCheckBox *m_persist_active_route_chkbox;
691 wxScrolledWindow *m_pNMEAForm;
692 void resetMarStdList(
bool bsetConfig,
bool bsetStd);
695 void ApplyChanges(wxCommandEvent &event);
697 unsigned int m_screenConfig;
699 wxNotebookPage *m_groupsPage;
703 wxSize m_small_button_size;
706 int m_fontHeight, m_scrollRate;
708 wxArrayString m_font_element_array;
712 wxBoxSizer *m_boxSizerConfigs;
713 wxColour m_panelBackgroundUnselected;
714 wxString m_selectedConfigPanelGUID;
715 wxSize m_colourPickerDefaultSize;
720 std::shared_ptr<ConnectionsDlg> comm_dialog;
722 DECLARE_EVENT_TABLE()