283 wxWindowID
id = SYMBOL_OPTIONS_IDNAME,
284 const wxString &caption = SYMBOL_OPTIONS_TITLE,
285 const wxPoint &pos = SYMBOL_OPTIONS_POSITION,
286 const wxSize &size = SYMBOL_OPTIONS_SIZE,
287 long style = SYMBOL_OPTIONS_STYLE);
292 bool SendIdleEvents(wxIdleEvent &event)
override;
293 void SetInitialPage(
int page_sel,
int sub_page = -1);
296 void OnClose(wxCloseEvent &event);
298 void ShowOKButtons(
bool _show) { m_OK_Cancel_Apply_buttons->Show(_show); }
300 void CreateListbookIcons();
301 void CreateControls(
void);
302 size_t CreatePanel(
const wxString &title);
303 wxScrolledWindow *AddPage(
size_t parent,
const wxString &title);
304 bool DeletePluginPage(wxScrolledWindow *page);
305 void SetColorScheme(ColorScheme cs);
306 void RecalculateSize(
int hint_x,
int hint_y);
308 void SetInitChartDir(
const wxString &dir) { m_init_chart_dir = dir; }
309 void SetInitialSettings(
void);
310 void SetInitialVectorSettings(
void);
312 void SetCurrentDirList(ArrayOfCDI p) { m_CurrentDirList = p; }
313 void SetWorkDirListPtr(ArrayOfCDI *p) { m_pWorkDirList = p; }
314 ArrayOfCDI *GetWorkDirListPtr(
void) {
return m_pWorkDirList; }
316 void AddChartDir(
const wxString &dir);
318 void UpdateDisplayedChartDirList(ArrayOfCDI p);
319 void UpdateOptionsUnits(
void);
321 void SetConfigPtr(
MyConfig *p) { m_pConfig = p; }
322 void OnDebugcheckbox1Click(wxCommandEvent &event);
323 void OnDirctrlSelChanged(wxTreeEvent &event);
324 void OnButtonaddClick(wxCommandEvent &event);
325 void OnButtondeleteClick(wxCommandEvent &event);
326 void OnButtonParseENC(wxCommandEvent &event);
327 void OnButtonRebuildChartDb(wxCommandEvent &event);
328 void OnButtoncompressClick(wxCommandEvent &event);
329 void OnButtonmigrateClick(wxCommandEvent &event);
330 void OnButtonEcdisHelp(wxCommandEvent &event);
331 void OnRadioboxSelected(wxCommandEvent &event);
332 void OnApplyClick(wxCommandEvent &event);
333 void OnXidOkClick(wxCommandEvent &event);
334 void OnCancelClick(wxCommandEvent &event);
335 void OnChooseFont(wxCommandEvent &event);
336 void OnFontChoice(wxCommandEvent &event);
337 void OnCPAWarnClick(wxCommandEvent &event);
338 void OnSyncCogPredClick(wxCommandEvent &event);
339 void OnSizeAutoButton(wxCommandEvent &event);
340 void OnSizeManualButton(wxCommandEvent &event);
342#if defined(__WXGTK__) || defined(__WXQT__)
343 void OnChooseFontColor(wxCommandEvent &event);
345 void OnGLClicked(wxCommandEvent &event);
346 void OnOpenGLOptions(wxCommandEvent &event);
347 void OnDisplayCategoryRadioButton(wxCommandEvent &event);
348 void OnButtonClearClick(wxCommandEvent &event);
349 void OnButtonSelectClick(wxCommandEvent &event);
350 void OnButtonSetStd(wxCommandEvent &event);
352 void OnPageChange(wxListbookEvent &event);
353 void OnTopNBPageChange(wxNotebookEvent &event);
354 void OnSubNBPageChange(wxNotebookEvent &event);
355 void DoOnPageChange(
size_t page);
357 wxString SelectSoundFile();
358 void OnButtonSelectSound(wxCommandEvent &event);
359 void OnButtonTestSound(wxCommandEvent &event);
361 void OnShowGpsWindowCheckboxClick(wxCommandEvent &event);
362 void OnZTCCheckboxClick(wxCommandEvent &event);
363 void OnRadarringSelect(wxCommandEvent &event);
364 void OnWaypointRangeRingSelect(wxCommandEvent &event);
365 void OnShipTypeSelect(wxCommandEvent &event);
366 void OnButtonGroups(wxCommandEvent &event);
367 void OnInsertTideDataLocation(wxCommandEvent &event);
368 void OnRemoveTideDataLocation(wxCommandEvent &event);
369 void OnCharHook(wxKeyEvent &event);
370 void OnChartsPageChange(wxListbookEvent &event);
371 void OnChartDirListSelect(wxCommandEvent &event);
372 void OnUnitsChoice(wxCommandEvent &event);
374 void UpdateWorkArrayFromDisplayPanel(
void);
375 ArrayOfCDI GetSelectedChartDirs();
376 ArrayOfCDI GetUnSelectedChartDirs();
377 void SetDirActionButtons();
379 void OnCreateConfig(wxCommandEvent &event);
380 void OnEditConfig(wxCommandEvent &event);
381 void OnDeleteConfig(wxCommandEvent &event);
382 void OnApplyConfig(wxCommandEvent &event);
383 void SetConfigButtonState();
384 void ClearConfigList();
385 void BuildConfigList();
386 void OnConfigMouseSelected(wxMouseEvent &event);
387 void OnDialogInit(wxInitDialogEvent &event);
389 bool GetNeedNew() {
return m_bneedNew; }
390 void SetNeedNew(
bool bnew) { m_bneedNew = bnew; }
391 int GetScrollRate() {
return m_scrollRate; }
392 void SetForceNewToolbarOnCancel(
bool val) {
393 m_bForceNewToolbaronCancel = val;
396 wxArrayString *GetSerialArray() {
return m_pSerialArray; }
397 void OptionsFinalizeChartDBUpdate();
400 static bool ShowToolTips(
void);
402#ifdef OCPN_OPTIONS_USE_LISTBOOK
403 wxListbook *m_pListbook;
405 wxNotebook *m_pListbook;
408 wxBoxSizer *m_OK_Cancel_Apply_buttons;
410 size_t m_pageDisplay, m_pageConnections, m_pageCharts, m_pageShips;
411 size_t m_pageUI, m_pagePlugins;
412 int lastPage, lastSubPage;
413 wxPoint lastWindowPos;
414 wxSize lastWindowSize;
415 wxButton *m_ApplyButton, *m_OKButton, *m_CancelButton;
417 ChartGroupArray *m_pGroupArray;
418 int m_groups_changed;
421 wxSizerFlags inputFlags, verticleInputFlags, labelFlags, groupInputFlags;
422 wxSizerFlags groupLabelFlags, groupLabelFlagsHoriz;
425 wxScrolledWindow *pDisplayPanel;
426 wxCheckBox *pShowStatusBar, *pShowMenuBar, *pShowChartBar, *pShowCompassWin;
427 wxCheckBox *pPrintShowIcon, *pCDOOutlines, *pSDepthUnits, *pSDisplayGrid;
428 wxCheckBox *pAutoAnchorMark, *pCDOQuilting, *pCBRaster, *pCBVector;
429 wxCheckBox *pCBCM93, *pCBLookAhead, *pSkewComp, *pOpenGL, *pSmoothPanZoom;
430 wxCheckBox *pFullScreenQuilt, *pMobile, *pResponsive, *pOverzoomEmphasis;
431 wxCheckBox *pOZScaleVector, *pToolbarAutoHideCB, *pInlandEcdis, *pRollover;
432 wxCheckBox *pZoomButtons, *pChartBarEX, *pHiconColors;
433 wxTextCtrl *pCOGUPUpdateSecs, *m_pText_OSCOG_Predictor, *pScreenMM;
434 wxTextCtrl *pToolbarHideSecs, *m_pText_OSHDT_Predictor, *m_pTxt_OwnMMSI;
445 wxTextCtrl *pCmdSoundString;
449 wxChoice *m_pShipIconType, *m_pcTCDatasets;
450 wxSlider *m_pSlider_Zoom_Raster, *m_pSlider_GUI_Factor,
451 *m_pSlider_Chart_Factor, *m_pSlider_Ship_Factor, *m_pSlider_Text_Factor,
452 *m_pSlider_ENCText_Factor;
453 wxSlider *m_pMouse_Zoom_Slider;
454 wxSlider *m_pSlider_Zoom_Vector;
455 wxSlider *m_pSlider_CM93_Zoom;
457 wxCheckBox *pSLiveETA;
458 wxTextCtrl *pSDefaultBoatSpeed;
460 wxRadioButton *pCBCourseUp, *pCBNorthUp, *pRBSizeAuto, *pRBSizeManual;
463 wxStaticText *itemStaticTextUserVar;
464 wxStaticText *itemStaticTextUserVar2;
465 wxButton *m_configDeleteButton, *m_configApplyButton;
467 void OnAISRolloverClick(wxCommandEvent &event);
468 void UpdateChartDirList();
470 void OnCanvasConfigSelectClick(
int ID,
bool selected);
477 wxBoxSizer *vectorPanel;
478 wxScrolledWindow *ps57Ctl;
482 wxChoice *pDispCat, *pPointStyle, *pBoundStyle, *p24Color;
483 wxButton *itemButtonClearList, *itemButtonSelectList, *itemButtonSetStd;
484 wxCheckBox *pCheck_SOUNDG, *pCheck_META, *pCheck_SHOWIMPTEXT;
485 wxCheckBox *pCheck_SCAMIN, *pCheck_SuperSCAMIN;
486 wxCheckBox *pCheck_ATONTEXT, *pCheck_LDISTEXT;
487 wxCheckBox *pCheck_XLSECTTEXT, *pCheck_DECLTEXT, *pCheck_NATIONALTEXT;
488 wxCheckBox *pSEnableCM93Offset;
489 wxTextCtrl *m_ShallowCtl, *m_SafetyCtl, *m_DeepCtl;
490 wxStaticText *m_depthUnitsShal, *m_depthUnitsSafe, *m_depthUnitsDeep;
494 wxChoice *pSDMMFormat, *pDistanceFormat, *pSpeedFormat, *pDepthUnitSelect,
495 *pTempFormat, *pWindSpeedFormat, *pHeightUnitSelect;
496 wxCheckBox *pCBTrueShow, *pCBMagShow;
500 wxStaticBoxSizer *activeSizer;
501 wxBoxSizer *chartPanel;
504 ArrayOfCDI ActiveChartArray;
506 wxStaticBox *itemActiveChartStaticBox;
507 wxCheckBox *pUpdateCheckBox, *pScanCheckBox;
508 wxButton *pParseENCButton, *pRebuildChartDatabase;
509 wxButton *m_removeBtn, *m_compressBtn;
510 wxButton *m_migrateBtn;
513 wxBoxSizer *boxSizerCharts;
514 wxScrolledWindow *m_scrollWinChartList;
515 wxScrolledWindow *chartPanelWin;
516 wxBoxSizer *cmdButtonSizer;
517 wxStaticBox *loadedBox;
518 std::vector<OCPNChartDirPanel *> panelVector;
519 wxArrayString activeChartList;
522 wxScrolledWindow *m_ChartDisplayPage;
525 wxCheckBox *m_pCheck_CPA_Max, *m_pCheck_CPA_Warn, *m_pCheck_CPA_WarnT;
526 wxCheckBox *m_pCheck_Mark_Lost, *m_pCheck_Remove_Lost;
527 wxCheckBox *m_pCheck_Show_COG, *m_pCheck_Sync_OCOG_ACOG;
528 wxCheckBox *m_pCheck_Show_Tracks, *m_pCheck_Hide_Moored,
529 *m_pCheck_Scale_Priority;
530 wxCheckBox *m_pCheck_AlertDialog, *m_pCheck_AlertAudio;
531 wxCheckBox *m_pCheck_Alert_Moored, *m_pCheck_Rollover_Class;
532 wxCheckBox *m_pCheck_Rollover_COG, *m_pCheck_Rollover_CPA;
533 wxCheckBox *m_pCheck_Ack_Timout, *m_pCheck_Show_Area_Notices;
534 wxCheckBox *m_pCheck_Draw_Target_Size, *m_pCheck_Draw_Realtime_Prediction;
535 wxCheckBox *m_pCheck_Show_Target_Name;
536 wxChoice *m_pWplAction;
537 wxCheckBox *m_pCheck_use_Wpl, *m_pCheck_ShowAllCPA;
538 wxTextCtrl *m_pText_CPA_Max, *m_pText_CPA_Warn, *m_pText_CPA_WarnT;
539 wxTextCtrl *m_pText_Mark_Lost, *m_pText_Remove_Lost, *m_pText_COG_Predictor;
540 wxTextCtrl *m_pText_Track_Length, *m_pText_Moored_Speed,
541 *m_pText_Scale_Priority;
542 wxTextCtrl *m_pText_ACK_Timeout, *m_pText_Show_Target_Name_Scale;
543 wxTextCtrl *m_pText_RealtPred_Speed;
546 wxScrolledWindow *m_DisplayConfigsPage;
550 wxStaticText *m_Text_def_boat_speed;
553 wxScrolledWindow *m_scrollWinConfigList;
554 wxStaticText *m_templateTitleText;
555 wxStaticText *m_staticTextLastAppled;
556 wxStaticBoxSizer *m_templateStatusBoxSizer;
559 wxFlexGridSizer *realSizes;
560 wxTextCtrl *m_pOSLength, *m_pOSWidth, *m_pOSGPSOffsetX, *m_pOSGPSOffsetY;
561 wxTextCtrl *m_pOSMinSize, *m_pText_ACRadius;
562 wxStaticBoxSizer *dispOptions, *dispWaypointOptions;
563 wxScrolledWindow *itemPanelShip, *itemPanelRoutes;
564 wxBoxSizer *ownShip, *Routes;
565 wxCheckBox *pShowshipToActive;
566 wxChoice *m_shipToActiveStyle, *m_shipToActiveColor;
570 wxCheckBox *pScaMinChckB, *pScaMinOverruleChckB;
571 wxTextCtrl *m_pText_ScaMin;
572 wxTextCtrl *m_pText_ScaMax;
575 wxBoxSizer *m_itemBoxSizerFontPanel;
576 wxChoice *m_itemFontElementListBox, *m_itemStyleListBox, *m_itemLangListBox;
577 wxStaticText *m_textSample;
579 bool m_bVisitPlugins;
582 wxComboBox *m_itemAISListBox;
588 wxScrolledWindow *itemPanelPlugins;
589 wxBoxSizer *itemBoxSizerPanelPlugins;
590 wxFlexGridSizer *radarGrid, *waypointradarGrid;
591 wxChoice *pNavAidRadarRingsNumberVisible, *pWaypointRangeRingsNumber;
593 wxChoice *m_itemRadarRingsUnits, *m_itemWaypointRangeRingsUnits;
596 wxChoice *pTrackPrecision;
597 wxTextCtrl *pNavAidRadarRingsStep, *pWaypointRangeRingsStep;
598 wxTextCtrl *m_pText_TP_Secs, *m_pText_TP_Dist;
599 wxCheckBox *pWayPointPreventDragging, *pConfirmObjectDeletion;
600 wxCheckBox *pEnableZoomToCursor, *pPreserveScale, *pPlayShipsBells;
601 wxCheckBox *pEnableTenHertz, *pTransparentToolbar;
602 wxCheckBox *pAdvanceRouteWaypointOnArrivalOnly, *pTrackShowIcon;
603 wxCheckBox *pTrackDaily, *pTrackHighlite;
604 wxStaticText *pStatic_CallSign;
606#if wxCHECK_VERSION(2, 9, 0)
607#if wxUSE_TIMEPICKCTRL
611 wxTimePickerCtrl *pTrackRotateTime;
615 wxRadioButton *pTrackRotateComputerTime, *pTrackRotateUTC, *pTrackRotateLMT;
617 wxChoice *pSoundDeviceIndex;
618 wxStaticText *stSoundDeviceIndex;
620 wxArrayPtrVoid OBJLBoxArray;
621 wxString m_init_chart_dir;
622 wxArrayString *m_pSerialArray;
624 ArrayOfCDI m_CurrentDirList, *m_pWorkDirList;
629 bool m_bForceNewToolbaronCancel;
637 void OnUXAudioEnableButtonClickAIS(wxCommandEvent &event);
638 void OnUXAudioEnableButtonClickSART(wxCommandEvent &event);
639 void OnUXAudioEnableButtonClickDSC(wxCommandEvent &event);
643 obs::Listener m_sound_done_listener;
644 wxGenericProgressDialog *m_pCBDSprog;
645 void DoDBSUpdate(
bool force_full);
646 bool m_bTextureCacheingSave;
650 void CreatePanel_MMSI(
size_t parent,
int border_size,
int group_item_spacing);
651 void CreatePanel_AIS(
size_t parent,
int border_size,
int group_item_spacing);
652 void CreatePanel_Ownship(
size_t parent,
int border_size,
653 int group_item_spacing);
654 void CreatePanel_NMEA(
size_t parent,
int border_size,
int group_item_spacing);
655 void CreatePanel_ChartsLoad(
size_t parent,
int border_size,
656 int group_item_spacing);
657 void CreatePanel_VectorCharts(
size_t parent,
int border_size,
658 int group_item_spacing);
659 void CreatePanel_TidesCurrents(
size_t parent,
int border_size,
660 int group_item_spacing);
661 void CreatePanel_ChartGroups(
size_t parent,
int border_size,
662 int group_item_spacing);
663 void CreatePanel_Display(
size_t parent,
int border_size,
664 int group_item_spacing);
665 void CreatePanel_UI(
size_t parent,
int border_size,
int group_item_spacing);
666 void CreatePanel_Units(
size_t parent,
int border_size,
667 int group_item_spacing);
668 void CreatePanel_Sounds(
size_t parent,
int border_size,
669 int group_item_spacing);
670 void CreatePanel_Advanced(
size_t parent,
int border_size,
671 int group_item_spacing);
672 void CreatePanel_Configs(
size_t parent,
int border_size,
673 int group_item_spacing);
674 void CreatePanel_Routes(
size_t parent,
int border_size,
675 int group_item_spacing);
677 void OnAlertEnableButtonClick(wxCommandEvent &event);
678 void OnAlertAudioEnableButtonClick(wxCommandEvent &event);
679 void OnResetFont(wxCommandEvent &event);
681 void UpdateTemplateTitleText();
682 void CheckDeviceAccess(wxString &path);
686 wxListCtrl *tcDataSelected;
687 std::vector<int> marinersStdXref;
689 wxImageList *m_topImgList;
691 wxCheckBox *m_persist_active_route_chkbox;
692 wxScrolledWindow *m_pNMEAForm;
693 void resetMarStdList(
bool bsetConfig,
bool bsetStd);
696 void ApplyChanges(wxCommandEvent &event);
698 unsigned int m_screenConfig;
700 wxNotebookPage *m_groupsPage;
704 wxSize m_small_button_size;
707 int m_fontHeight, m_scrollRate;
709 wxArrayString m_font_element_array;
713 wxBoxSizer *m_boxSizerConfigs;
714 wxColour m_panelBackgroundUnselected;
715 wxString m_selectedConfigPanelGUID;
716 wxSize m_colourPickerDefaultSize;
720 obs::Listener m_OnChartDb_finalize_listener;
721 std::shared_ptr<ConnectionsDlg> comm_dialog;
723 DECLARE_EVENT_TABLE()