278 public wxScrollingDialog
282 explicit options(wxWindow *parent, 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);
289#if wxCHECK_VERSION(3, 0, 0)
290 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 OnButtoncompressClick(wxCommandEvent &event);
327 void OnButtonmigrateClick(wxCommandEvent &event);
328 void OnButtonEcdisHelp(wxCommandEvent &event);
329 void OnRadioboxSelected(wxCommandEvent &event);
330 void OnApplyClick(wxCommandEvent &event);
331 void OnXidOkClick(wxCommandEvent &event);
332 void OnCancelClick(wxCommandEvent &event);
333 void OnChooseFont(wxCommandEvent &event);
334 void OnFontChoice(wxCommandEvent &event);
335 void OnCPAWarnClick(wxCommandEvent &event);
336 void OnSyncCogPredClick(wxCommandEvent &event);
337 void OnSizeAutoButton(wxCommandEvent &event);
338 void OnSizeManualButton(wxCommandEvent &event);
340#if defined(__WXGTK__) || defined(__WXQT__)
341 void OnChooseFontColor(wxCommandEvent &event);
343 void OnGLClicked(wxCommandEvent &event);
344 void OnOpenGLOptions(wxCommandEvent &event);
345 void OnDisplayCategoryRadioButton(wxCommandEvent &event);
346 void OnButtonClearClick(wxCommandEvent &event);
347 void OnButtonSelectClick(wxCommandEvent &event);
348 void OnButtonSetStd(wxCommandEvent &event);
350 void OnPageChange(wxListbookEvent &event);
351 void OnTopNBPageChange(wxNotebookEvent &event);
352 void OnSubNBPageChange(wxNotebookEvent &event);
353 void DoOnPageChange(
size_t page);
355 wxString SelectSoundFile();
356 void OnButtonSelectSound(wxCommandEvent &event);
357 void OnButtonTestSound(wxCommandEvent &event);
359 void OnShowGpsWindowCheckboxClick(wxCommandEvent &event);
360 void OnZTCCheckboxClick(wxCommandEvent &event);
361 void OnRadarringSelect(wxCommandEvent &event);
362 void OnWaypointRangeRingSelect(wxCommandEvent &event);
363 void OnShipTypeSelect(wxCommandEvent &event);
364 void OnButtonGroups(wxCommandEvent &event);
365 void OnInsertTideDataLocation(wxCommandEvent &event);
366 void OnRemoveTideDataLocation(wxCommandEvent &event);
367 void OnCharHook(wxKeyEvent &event);
368 void OnChartsPageChange(wxListbookEvent &event);
369 void OnChartDirListSelect(wxCommandEvent &event);
370 void OnUnitsChoice(wxCommandEvent &event);
372 void UpdateWorkArrayFromDisplayPanel(
void);
373 ArrayOfCDI GetSelectedChartDirs();
374 ArrayOfCDI GetUnSelectedChartDirs();
375 void SetDirActionButtons();
377 void OnCreateConfig(wxCommandEvent &event);
378 void OnEditConfig(wxCommandEvent &event);
379 void OnDeleteConfig(wxCommandEvent &event);
380 void OnApplyConfig(wxCommandEvent &event);
381 void SetConfigButtonState();
382 void ClearConfigList();
383 void BuildConfigList();
384 void OnConfigMouseSelected(wxMouseEvent &event);
385 void OnDialogInit(wxInitDialogEvent &event);
387 bool GetNeedNew() {
return m_bneedNew; }
388 void SetNeedNew(
bool bnew) { m_bneedNew = bnew; }
389 int GetScrollRate() {
return m_scrollRate; }
390 void SetForceNewToolbarOnCancel(
bool val) {
391 m_bForceNewToolbaronCancel = val;
394 wxArrayString *GetSerialArray() {
return m_pSerialArray; }
397 static bool ShowToolTips(
void);
399#ifdef __OCPN__OPTIONS_USE_LISTBOOK__
400 wxListbook *m_pListbook;
402 wxNotebook *m_pListbook;
405 wxBoxSizer *m_OK_Cancel_Apply_buttons;
407 size_t m_pageDisplay, m_pageConnections, m_pageCharts, m_pageShips;
408 size_t m_pageUI, m_pagePlugins;
409 int lastPage, lastSubPage;
410 wxPoint lastWindowPos;
411 wxSize lastWindowSize;
412 wxButton *m_ApplyButton, *m_OKButton, *m_CancelButton;
414 ChartGroupArray *m_pGroupArray;
415 int m_groups_changed;
418 wxSizerFlags inputFlags, verticleInputFlags, labelFlags, groupInputFlags;
419 wxSizerFlags groupLabelFlags, groupLabelFlagsHoriz;
422 wxScrolledWindow *pDisplayPanel;
423 wxCheckBox *pShowStatusBar, *pShowMenuBar, *pShowChartBar, *pShowCompassWin;
424 wxCheckBox *pPrintShowIcon, *pCDOOutlines, *pSDepthUnits, *pSDisplayGrid;
425 wxCheckBox *pAutoAnchorMark, *pCDOQuilting, *pCBRaster, *pCBVector;
426 wxCheckBox *pCBCM93, *pCBLookAhead, *pSkewComp, *pOpenGL, *pSmoothPanZoom;
427 wxCheckBox *pFullScreenQuilt, *pMobile, *pResponsive, *pOverzoomEmphasis;
428 wxCheckBox *pOZScaleVector, *pToolbarAutoHideCB, *pInlandEcdis, *pRollover;
429 wxCheckBox *pZoomButtons, *pChartBarEX;
430 wxTextCtrl *pCOGUPUpdateSecs, *m_pText_OSCOG_Predictor, *pScreenMM;
431 wxTextCtrl *pToolbarHideSecs, *m_pText_OSHDT_Predictor, *m_pTxt_OwnMMSI;
442 wxTextCtrl *pCmdSoundString;
444 wxChoice *m_pShipIconType, *m_pcTCDatasets;
445 wxSlider *m_pSlider_Zoom_Raster, *m_pSlider_GUI_Factor,
446 *m_pSlider_Chart_Factor, *m_pSlider_Ship_Factor, *m_pSlider_Text_Factor,
447 *m_pSlider_ENCText_Factor;
448 wxSlider *m_pMouse_Zoom_Slider;
449 wxSlider *m_pSlider_Zoom_Vector;
450 wxSlider *m_pSlider_CM93_Zoom;
452 wxCheckBox *pSLiveETA;
453 wxTextCtrl *pSDefaultBoatSpeed;
455 wxRadioButton *pCBCourseUp, *pCBNorthUp, *pRBSizeAuto, *pRBSizeManual;
459 wxStaticText *itemStaticTextUserVar;
460 wxStaticText *itemStaticTextUserVar2;
461 wxButton *m_configDeleteButton, *m_configApplyButton;
463 void OnAISRolloverClick(wxCommandEvent &event);
464 void UpdateChartDirList();
466 void OnCanvasConfigSelectClick(
int ID,
bool selected);
473 wxBoxSizer *vectorPanel;
474 wxScrolledWindow *ps57Ctl;
478 wxChoice *pDispCat, *pPointStyle, *pBoundStyle, *p24Color;
479 wxButton *itemButtonClearList, *itemButtonSelectList, *itemButtonSetStd;
480 wxCheckBox *pCheck_SOUNDG, *pCheck_META, *pCheck_SHOWIMPTEXT;
481 wxCheckBox *pCheck_SCAMIN, *pCheck_SuperSCAMIN;
482 wxCheckBox *pCheck_ATONTEXT, *pCheck_LDISTEXT;
483 wxCheckBox *pCheck_XLSECTTEXT, *pCheck_DECLTEXT, *pCheck_NATIONALTEXT;
484 wxCheckBox *pSEnableCM93Offset;
485 wxTextCtrl *m_ShallowCtl, *m_SafetyCtl, *m_DeepCtl;
486 wxStaticText *m_depthUnitsShal, *m_depthUnitsSafe, *m_depthUnitsDeep;
490 wxChoice *pSDMMFormat, *pDistanceFormat, *pSpeedFormat, *pDepthUnitSelect,
491 *pTempFormat, *pWindSpeedFormat;
492 wxCheckBox *pCBTrueShow, *pCBMagShow;
496 wxStaticBoxSizer *activeSizer;
497 wxBoxSizer *chartPanel;
500 ArrayOfCDI ActiveChartArray;
502 wxStaticBox *itemActiveChartStaticBox;
503 wxCheckBox *pUpdateCheckBox, *pScanCheckBox;
504 wxButton *pParseENCButton;
505 wxButton *m_removeBtn, *m_compressBtn;
506 wxButton *m_migrateBtn;
509 wxBoxSizer *boxSizerCharts;
510 wxScrolledWindow *m_scrollWinChartList;
511 wxScrolledWindow *chartPanelWin;
512 wxBoxSizer *cmdButtonSizer;
513 wxStaticBox *loadedBox;
514 std::vector<OCPNChartDirPanel *> panelVector;
515 wxArrayString activeChartList;
518 wxScrolledWindow *m_ChartDisplayPage;
521 wxCheckBox *m_pCheck_CPA_Max, *m_pCheck_CPA_Warn, *m_pCheck_CPA_WarnT;
522 wxCheckBox *m_pCheck_Mark_Lost, *m_pCheck_Remove_Lost;
523 wxCheckBox *m_pCheck_Show_COG, *m_pCheck_Sync_OCOG_ACOG;
524 wxCheckBox *m_pCheck_Show_Tracks, *m_pCheck_Hide_Moored,
525 *m_pCheck_Scale_Priority;
526 wxCheckBox *m_pCheck_AlertDialog, *m_pCheck_AlertAudio;
527 wxCheckBox *m_pCheck_Alert_Moored, *m_pCheck_Rollover_Class;
528 wxCheckBox *m_pCheck_Rollover_COG, *m_pCheck_Rollover_CPA;
529 wxCheckBox *m_pCheck_Ack_Timout, *m_pCheck_Show_Area_Notices;
530 wxCheckBox *m_pCheck_Draw_Target_Size, *m_pCheck_Draw_Realtime_Prediction;
531 wxCheckBox *m_pCheck_Show_Target_Name;
532 wxChoice *m_pWplAction;
533 wxCheckBox *m_pCheck_use_Wpl, *m_pCheck_ShowAllCPA;
534 wxTextCtrl *m_pText_CPA_Max, *m_pText_CPA_Warn, *m_pText_CPA_WarnT;
535 wxTextCtrl *m_pText_Mark_Lost, *m_pText_Remove_Lost, *m_pText_COG_Predictor;
536 wxTextCtrl *m_pText_Track_Length, *m_pText_Moored_Speed,
537 *m_pText_Scale_Priority;
538 wxTextCtrl *m_pText_ACK_Timeout, *m_pText_Show_Target_Name_Scale;
539 wxTextCtrl *m_pText_RealtPred_Speed;
542 wxScrolledWindow *m_DisplayConfigsPage;
546 wxStaticText *m_Text_def_boat_speed;
549 wxScrolledWindow *m_scrollWinConfigList;
550 wxStaticText *m_templateTitleText;
551 wxStaticText *m_staticTextLastAppled;
552 wxStaticBoxSizer *m_templateStatusBoxSizer;
555 wxFlexGridSizer *realSizes;
556 wxTextCtrl *m_pOSLength, *m_pOSWidth, *m_pOSGPSOffsetX, *m_pOSGPSOffsetY;
557 wxTextCtrl *m_pOSMinSize, *m_pText_ACRadius;
558 wxStaticBoxSizer *dispOptions, *dispWaypointOptions;
559 wxScrolledWindow *itemPanelShip, *itemPanelRoutes;
560 wxBoxSizer *ownShip, *Routes;
561 wxCheckBox *pShowshipToActive;
562 wxChoice *m_shipToActiveStyle, *m_shipToActiveColor;
566 wxCheckBox *pScaMinChckB, *pScaMinOverruleChckB;
567 wxTextCtrl *m_pText_ScaMin;
570 wxBoxSizer *m_itemBoxSizerFontPanel;
571 wxChoice *m_itemFontElementListBox, *m_itemStyleListBox, *m_itemLangListBox;
572 wxStaticText *m_textSample;
574 bool m_bVisitPlugins;
577 wxComboBox *m_itemAISListBox;
583 wxScrolledWindow *itemPanelPlugins;
584 wxBoxSizer *itemBoxSizerPanelPlugins;
585 wxFlexGridSizer *radarGrid, *waypointradarGrid;
586 wxChoice *pNavAidRadarRingsNumberVisible, *pWaypointRangeRingsNumber;
588 wxChoice *m_itemRadarRingsUnits, *m_itemWaypointRangeRingsUnits;
591 wxChoice *pTrackPrecision;
592 wxTextCtrl *pNavAidRadarRingsStep, *pWaypointRangeRingsStep;
593 wxCheckBox *pSogCogFromLLCheckBox;
594 wxSpinCtrl *pSogCogFromLLDampInterval;
595 wxTextCtrl *m_pText_TP_Secs, *m_pText_TP_Dist;
596 wxCheckBox *pWayPointPreventDragging, *pConfirmObjectDeletion;
597 wxCheckBox *pEnableZoomToCursor, *pPreserveScale, *pPlayShipsBells;
598 wxCheckBox *pEnableTenHertz, *pTransparentToolbar;
599 wxCheckBox *pAdvanceRouteWaypointOnArrivalOnly, *pTrackShowIcon;
600 wxCheckBox *pTrackDaily, *pTrackHighlite;
601 wxStaticText *pStatic_CallSign;
603#if wxCHECK_VERSION(2, 9, 0)
604#if wxUSE_TIMEPICKCTRL
608 wxTimePickerCtrl *pTrackRotateTime;
612 wxRadioButton *pTrackRotateComputerTime, *pTrackRotateUTC, *pTrackRotateLMT;
614 wxChoice *pSoundDeviceIndex;
615 wxStaticText *stSoundDeviceIndex;
617 wxArrayPtrVoid OBJLBoxArray;
618 wxString m_init_chart_dir;
619 wxArrayString *m_pSerialArray;
621 ArrayOfCDI m_CurrentDirList, *m_pWorkDirList;
626 bool m_bForceNewToolbaronCancel;
634 void OnUXAudioEnableButtonClickAIS(wxCommandEvent &event);
635 void OnUXAudioEnableButtonClickSART(wxCommandEvent &event);
636 void OnUXAudioEnableButtonClickDSC(wxCommandEvent &event);
644 void CreatePanel_MMSI(
size_t parent,
int border_size,
int group_item_spacing);
645 void CreatePanel_AIS(
size_t parent,
int border_size,
int group_item_spacing);
646 void CreatePanel_Ownship(
size_t parent,
int border_size,
647 int group_item_spacing);
648 void CreatePanel_NMEA(
size_t parent,
int border_size,
int group_item_spacing);
649 void CreatePanel_ChartsLoad(
size_t parent,
int border_size,
650 int group_item_spacing);
651 void CreatePanel_VectorCharts(
size_t parent,
int border_size,
652 int group_item_spacing);
653 void CreatePanel_TidesCurrents(
size_t parent,
int border_size,
654 int group_item_spacing);
655 void CreatePanel_ChartGroups(
size_t parent,
int border_size,
656 int group_item_spacing);
657 void CreatePanel_Display(
size_t parent,
int border_size,
658 int group_item_spacing);
659 void CreatePanel_UI(
size_t parent,
int border_size,
int group_item_spacing);
660 void CreatePanel_Units(
size_t parent,
int border_size,
661 int group_item_spacing);
662 void CreatePanel_Sounds(
size_t parent,
int border_size,
663 int group_item_spacing);
664 void CreatePanel_Advanced(
size_t parent,
int border_size,
665 int group_item_spacing);
666 void CreatePanel_Configs(
size_t parent,
int border_size,
667 int group_item_spacing);
668 void CreatePanel_Routes(
size_t parent,
int border_size,
669 int group_item_spacing);
671 void OnAlertEnableButtonClick(wxCommandEvent &event);
672 void OnAlertAudioEnableButtonClick(wxCommandEvent &event);
673 void OnResetFont(wxCommandEvent &event);
675 void UpdateTemplateTitleText();
676 void CheckDeviceAccess(wxString &path);
678 wxListCtrl *tcDataSelected;
679 std::vector<int> marinersStdXref;
681 wxImageList *m_topImgList;
683 wxCheckBox *m_persist_active_route_chkbox;
684 wxScrolledWindow *m_pNMEAForm;
685 void resetMarStdList(
bool bsetConfig,
bool bsetStd);
688 void ApplyChanges(wxCommandEvent &event);
690 unsigned int m_screenConfig;
692 wxNotebookPage *m_groupsPage;
696 wxSize m_small_button_size;
699 int m_fontHeight, m_scrollRate;
701 wxArrayString m_font_element_array;
705 wxBoxSizer *m_boxSizerConfigs;
706 wxColour m_panelBackgroundUnselected;
707 wxString m_selectedConfigPanelGUID;
708 wxSize m_colourPickerDefaultSize;
713 std::shared_ptr<ConnectionsDlg> comm_dialog;
715 DECLARE_EVENT_TABLE()