274 public wxScrollingDialog
278 explicit options(wxWindow *parent, wxWindowID
id = SYMBOL_OPTIONS_IDNAME,
279 const wxString &caption = SYMBOL_OPTIONS_TITLE,
280 const wxPoint &pos = SYMBOL_OPTIONS_POSITION,
281 const wxSize &size = SYMBOL_OPTIONS_SIZE,
282 long style = SYMBOL_OPTIONS_STYLE);
285#if wxCHECK_VERSION(3, 0, 0)
286 bool SendIdleEvents(wxIdleEvent &event);
288 void SetInitialPage(
int page_sel,
int sub_page = -1);
291 void OnClose(wxCloseEvent &event);
293 void ShowOKButtons(
bool _show) { m_OK_Cancel_Apply_buttons->Show(_show); }
295 void CreateListbookIcons();
296 void CreateControls(
void);
297 size_t CreatePanel(
const wxString &title);
298 wxScrolledWindow *AddPage(
size_t parent,
const wxString &title);
299 bool DeletePluginPage(wxScrolledWindow *page);
300 void SetColorScheme(ColorScheme cs);
301 void RecalculateSize(
int hint_x,
int hint_y);
303 void SetInitChartDir(
const wxString &dir) { m_init_chart_dir = dir; }
304 void SetInitialSettings(
void);
305 void SetInitialVectorSettings(
void);
307 void SetCurrentDirList(ArrayOfCDI p) { m_CurrentDirList = p; }
308 void SetWorkDirListPtr(ArrayOfCDI *p) { m_pWorkDirList = p; }
309 ArrayOfCDI *GetWorkDirListPtr(
void) {
return m_pWorkDirList; }
311 void AddChartDir(
const wxString &dir);
313 void UpdateDisplayedChartDirList(ArrayOfCDI p);
314 void UpdateOptionsUnits(
void);
316 void SetConfigPtr(
MyConfig *p) { m_pConfig = p; }
317 void OnDebugcheckbox1Click(wxCommandEvent &event);
318 void OnDirctrlSelChanged(wxTreeEvent &event);
319 void OnButtonaddClick(wxCommandEvent &event);
320 void OnButtondeleteClick(wxCommandEvent &event);
321 void OnButtonParseENC(wxCommandEvent &event);
322 void OnButtoncompressClick(wxCommandEvent &event);
323 void OnButtonmigrateClick(wxCommandEvent &event);
324 void OnButtonEcdisHelp(wxCommandEvent &event);
325 void OnRadioboxSelected(wxCommandEvent &event);
326 void OnApplyClick(wxCommandEvent &event);
327 void OnXidOkClick(wxCommandEvent &event);
328 void OnCancelClick(wxCommandEvent &event);
329 void OnChooseFont(wxCommandEvent &event);
330 void OnFontChoice(wxCommandEvent &event);
331 void OnCPAWarnClick(wxCommandEvent &event);
332 void OnSyncCogPredClick(wxCommandEvent &event);
333 void OnSizeAutoButton(wxCommandEvent &event);
334 void OnSizeManualButton(wxCommandEvent &event);
336#if defined(__WXGTK__) || defined(__WXQT__)
337 void OnChooseFontColor(wxCommandEvent &event);
339 void OnGLClicked(wxCommandEvent &event);
340 void OnOpenGLOptions(wxCommandEvent &event);
341 void OnDisplayCategoryRadioButton(wxCommandEvent &event);
342 void OnButtonClearClick(wxCommandEvent &event);
343 void OnButtonSelectClick(wxCommandEvent &event);
344 void OnButtonSetStd(wxCommandEvent &event);
346 void OnPageChange(wxListbookEvent &event);
347 void OnTopNBPageChange(wxNotebookEvent &event);
348 void OnSubNBPageChange(wxNotebookEvent &event);
349 void DoOnPageChange(
size_t page);
351 wxString SelectSoundFile();
352 void OnButtonSelectSound(wxCommandEvent &event);
353 void OnButtonTestSound(wxCommandEvent &event);
355 void OnShowGpsWindowCheckboxClick(wxCommandEvent &event);
356 void OnZTCCheckboxClick(wxCommandEvent &event);
357 void OnRadarringSelect(wxCommandEvent &event);
358 void OnWaypointRangeRingSelect(wxCommandEvent &event);
359 void OnShipTypeSelect(wxCommandEvent &event);
360 void OnButtonGroups(wxCommandEvent &event);
361 void OnInsertTideDataLocation(wxCommandEvent &event);
362 void OnRemoveTideDataLocation(wxCommandEvent &event);
363 void OnCharHook(wxKeyEvent &event);
364 void OnChartsPageChange(wxListbookEvent &event);
365 void OnChartDirListSelect(wxCommandEvent &event);
366 void OnUnitsChoice(wxCommandEvent &event);
368 void UpdateWorkArrayFromDisplayPanel(
void);
369 ArrayOfCDI GetSelectedChartDirs();
370 ArrayOfCDI GetUnSelectedChartDirs();
371 void SetDirActionButtons();
373 void OnCreateConfig(wxCommandEvent &event);
374 void OnEditConfig(wxCommandEvent &event);
375 void OnDeleteConfig(wxCommandEvent &event);
376 void OnApplyConfig(wxCommandEvent &event);
377 void SetConfigButtonState();
378 void ClearConfigList();
379 void BuildConfigList();
380 void OnConfigMouseSelected(wxMouseEvent &event);
381 void OnDialogInit(wxInitDialogEvent &event);
383 bool GetNeedNew() {
return m_bneedNew; }
384 void SetNeedNew(
bool bnew) { m_bneedNew = bnew; }
385 int GetScrollRate() {
return m_scrollRate; }
386 void SetForceNewToolbarOnCancel(
bool val) {
387 m_bForceNewToolbaronCancel = val;
390 wxArrayString *GetSerialArray() {
return m_pSerialArray; }
393 static bool ShowToolTips(
void);
395#ifdef __OCPN__OPTIONS_USE_LISTBOOK__
396 wxListbook *m_pListbook;
398 wxNotebook *m_pListbook;
401 wxBoxSizer *m_OK_Cancel_Apply_buttons;
403 size_t m_pageDisplay, m_pageConnections, m_pageCharts, m_pageShips;
404 size_t m_pageUI, m_pagePlugins;
405 int lastPage, lastSubPage;
406 wxPoint lastWindowPos;
407 wxSize lastWindowSize;
408 wxButton *m_ApplyButton, *m_OKButton, *m_CancelButton;
410 ChartGroupArray *m_pGroupArray;
411 int m_groups_changed;
414 wxSizerFlags inputFlags, verticleInputFlags, labelFlags, groupInputFlags;
415 wxSizerFlags groupLabelFlags, groupLabelFlagsHoriz;
418 wxScrolledWindow *pDisplayPanel;
419 wxCheckBox *pShowStatusBar, *pShowMenuBar, *pShowChartBar, *pShowCompassWin;
420 wxCheckBox *pPrintShowIcon, *pCDOOutlines, *pSDepthUnits, *pSDisplayGrid;
421 wxCheckBox *pAutoAnchorMark, *pCDOQuilting, *pCBRaster, *pCBVector;
422 wxCheckBox *pCBCM93, *pCBLookAhead, *pSkewComp, *pOpenGL, *pSmoothPanZoom;
423 wxCheckBox *pFullScreenQuilt, *pMobile, *pResponsive, *pOverzoomEmphasis;
424 wxCheckBox *pOZScaleVector, *pToolbarAutoHideCB, *pInlandEcdis, *pRollover;
425 wxCheckBox *pZoomButtons, *pChartBarEX;
426 wxTextCtrl *pCOGUPUpdateSecs, *m_pText_OSCOG_Predictor, *pScreenMM;
427 wxTextCtrl *pToolbarHideSecs, *m_pText_OSHDT_Predictor, *m_pTxt_OwnMMSI;
438 wxTextCtrl *pCmdSoundString;
440 wxChoice *m_pShipIconType, *m_pcTCDatasets;
441 wxSlider *m_pSlider_Zoom_Raster, *m_pSlider_GUI_Factor,
442 *m_pSlider_Chart_Factor, *m_pSlider_Ship_Factor, *m_pSlider_Text_Factor,
443 *m_pSlider_ENCText_Factor;
444 wxSlider *m_pMouse_Zoom_Slider;
445 wxSlider *m_pSlider_Zoom_Vector;
446 wxSlider *m_pSlider_CM93_Zoom;
448 wxCheckBox *pSLiveETA;
449 wxTextCtrl *pSDefaultBoatSpeed;
451 wxRadioButton *pCBCourseUp, *pCBNorthUp, *pRBSizeAuto, *pRBSizeManual;
455 wxStaticText *itemStaticTextUserVar;
456 wxStaticText *itemStaticTextUserVar2;
457 wxButton *m_configDeleteButton, *m_configApplyButton;
459 void OnAISRolloverClick(wxCommandEvent &event);
460 void UpdateChartDirList();
462 void OnCanvasConfigSelectClick(
int ID,
bool selected);
469 wxBoxSizer *vectorPanel;
470 wxScrolledWindow *ps57Ctl;
474 wxChoice *pDispCat, *pPointStyle, *pBoundStyle, *p24Color;
475 wxButton *itemButtonClearList, *itemButtonSelectList, *itemButtonSetStd;
476 wxCheckBox *pCheck_SOUNDG, *pCheck_META, *pCheck_SHOWIMPTEXT;
477 wxCheckBox *pCheck_SCAMIN, *pCheck_SuperSCAMIN;
478 wxCheckBox *pCheck_ATONTEXT, *pCheck_LDISTEXT;
479 wxCheckBox *pCheck_XLSECTTEXT, *pCheck_DECLTEXT, *pCheck_NATIONALTEXT;
480 wxCheckBox *pSEnableCM93Offset;
481 wxTextCtrl *m_ShallowCtl, *m_SafetyCtl, *m_DeepCtl;
482 wxStaticText *m_depthUnitsShal, *m_depthUnitsSafe, *m_depthUnitsDeep;
486 wxChoice *pSDMMFormat, *pDistanceFormat, *pSpeedFormat, *pDepthUnitSelect,
487 *pTempFormat, *pWindSpeedFormat;
488 wxCheckBox *pCBTrueShow, *pCBMagShow;
492 wxStaticBoxSizer *activeSizer;
493 wxBoxSizer *chartPanel;
496 ArrayOfCDI ActiveChartArray;
498 wxStaticBox *itemActiveChartStaticBox;
499 wxCheckBox *pUpdateCheckBox, *pScanCheckBox;
500 wxButton *pParseENCButton;
501 wxButton *m_removeBtn, *m_compressBtn;
502 wxButton *m_migrateBtn;
505 wxBoxSizer *boxSizerCharts;
506 wxScrolledWindow *m_scrollWinChartList;
507 wxScrolledWindow *chartPanelWin;
508 wxBoxSizer *cmdButtonSizer;
509 wxStaticBox *loadedBox;
510 std::vector<OCPNChartDirPanel *> panelVector;
511 wxArrayString activeChartList;
514 wxScrolledWindow *m_ChartDisplayPage;
517 wxCheckBox *m_pCheck_CPA_Max, *m_pCheck_CPA_Warn, *m_pCheck_CPA_WarnT;
518 wxCheckBox *m_pCheck_Mark_Lost, *m_pCheck_Remove_Lost;
519 wxCheckBox *m_pCheck_Show_COG, *m_pCheck_Sync_OCOG_ACOG;
520 wxCheckBox *m_pCheck_Show_Tracks, *m_pCheck_Hide_Moored,
521 *m_pCheck_Scale_Priority;
522 wxCheckBox *m_pCheck_AlertDialog, *m_pCheck_AlertAudio;
523 wxCheckBox *m_pCheck_Alert_Moored, *m_pCheck_Rollover_Class;
524 wxCheckBox *m_pCheck_Rollover_COG, *m_pCheck_Rollover_CPA;
525 wxCheckBox *m_pCheck_Ack_Timout, *m_pCheck_Show_Area_Notices;
526 wxCheckBox *m_pCheck_Draw_Target_Size, *m_pCheck_Draw_Realtime_Prediction;
527 wxCheckBox *m_pCheck_Show_Target_Name;
528 wxChoice *m_pWplAction;
529 wxCheckBox *m_pCheck_use_Wpl, *m_pCheck_ShowAllCPA;
530 wxTextCtrl *m_pText_CPA_Max, *m_pText_CPA_Warn, *m_pText_CPA_WarnT;
531 wxTextCtrl *m_pText_Mark_Lost, *m_pText_Remove_Lost, *m_pText_COG_Predictor;
532 wxTextCtrl *m_pText_Track_Length, *m_pText_Moored_Speed,
533 *m_pText_Scale_Priority;
534 wxTextCtrl *m_pText_ACK_Timeout, *m_pText_Show_Target_Name_Scale;
535 wxTextCtrl *m_pText_RealtPred_Speed;
538 wxScrolledWindow *m_DisplayConfigsPage;
542 wxStaticText *m_Text_def_boat_speed;
545 wxScrolledWindow *m_scrollWinConfigList;
546 wxStaticText *m_templateTitleText;
547 wxStaticText *m_staticTextLastAppled;
548 wxStaticBoxSizer *m_templateStatusBoxSizer;
551 wxFlexGridSizer *realSizes;
552 wxTextCtrl *m_pOSLength, *m_pOSWidth, *m_pOSGPSOffsetX, *m_pOSGPSOffsetY;
553 wxTextCtrl *m_pOSMinSize, *m_pText_ACRadius;
554 wxStaticBoxSizer *dispOptions, *dispWaypointOptions;
555 wxScrolledWindow *itemPanelShip, *itemPanelRoutes;
556 wxBoxSizer *ownShip, *Routes;
557 wxCheckBox *pShowshipToActive;
558 wxChoice *m_shipToActiveStyle, *m_shipToActiveColor;
562 wxCheckBox *pScaMinChckB, *pScaMinOverruleChckB;
563 wxTextCtrl *m_pText_ScaMin;
566 wxBoxSizer *m_itemBoxSizerFontPanel;
567 wxChoice *m_itemFontElementListBox, *m_itemStyleListBox, *m_itemLangListBox;
568 wxStaticText *m_textSample;
572 wxComboBox *m_itemAISListBox;
578 wxScrolledWindow *itemPanelPlugins;
579 wxBoxSizer *itemBoxSizerPanelPlugins;
580 wxFlexGridSizer *radarGrid, *waypointradarGrid;
581 wxChoice *pNavAidRadarRingsNumberVisible, *pWaypointRangeRingsNumber;
583 wxChoice *m_itemRadarRingsUnits, *m_itemWaypointRangeRingsUnits;
586 wxChoice *pTrackPrecision;
587 wxTextCtrl *pNavAidRadarRingsStep, *pWaypointRangeRingsStep;
588 wxCheckBox *pSogCogFromLLCheckBox;
589 wxSpinCtrl *pSogCogFromLLDampInterval;
590 wxTextCtrl *m_pText_TP_Secs, *m_pText_TP_Dist;
591 wxCheckBox *pWayPointPreventDragging, *pConfirmObjectDeletion;
592 wxCheckBox *pEnableZoomToCursor, *pPreserveScale, *pPlayShipsBells;
593 wxCheckBox *pEnableTenHertz, *pTransparentToolbar;
594 wxCheckBox *pAdvanceRouteWaypointOnArrivalOnly, *pTrackShowIcon;
595 wxCheckBox *pTrackDaily, *pTrackHighlite;
596 wxStaticText *pStatic_CallSign;
598#if wxCHECK_VERSION(2, 9, 0)
599#if wxUSE_TIMEPICKCTRL
603 wxTimePickerCtrl *pTrackRotateTime;
607 wxRadioButton *pTrackRotateComputerTime, *pTrackRotateUTC, *pTrackRotateLMT;
609 wxChoice *pSoundDeviceIndex;
610 wxStaticText *stSoundDeviceIndex;
612 wxArrayPtrVoid OBJLBoxArray;
613 wxString m_init_chart_dir;
614 wxArrayString *m_pSerialArray;
616 ArrayOfCDI m_CurrentDirList, *m_pWorkDirList;
621 bool m_bForceNewToolbaronCancel;
629 void OnUXAudioEnableButtonClickAIS(wxCommandEvent &event);
630 void OnUXAudioEnableButtonClickSART(wxCommandEvent &event);
631 void OnUXAudioEnableButtonClickDSC(wxCommandEvent &event);
639 void CreatePanel_MMSI(
size_t parent,
int border_size,
int group_item_spacing);
640 void CreatePanel_AIS(
size_t parent,
int border_size,
int group_item_spacing);
641 void CreatePanel_Ownship(
size_t parent,
int border_size,
642 int group_item_spacing);
643 void CreatePanel_NMEA(
size_t parent,
int border_size,
int group_item_spacing);
644 void CreatePanel_ChartsLoad(
size_t parent,
int border_size,
645 int group_item_spacing);
646 void CreatePanel_VectorCharts(
size_t parent,
int border_size,
647 int group_item_spacing);
648 void CreatePanel_TidesCurrents(
size_t parent,
int border_size,
649 int group_item_spacing);
650 void CreatePanel_ChartGroups(
size_t parent,
int border_size,
651 int group_item_spacing);
652 void CreatePanel_Display(
size_t parent,
int border_size,
653 int group_item_spacing);
654 void CreatePanel_UI(
size_t parent,
int border_size,
int group_item_spacing);
655 void CreatePanel_Units(
size_t parent,
int border_size,
656 int group_item_spacing);
657 void CreatePanel_Sounds(
size_t parent,
int border_size,
658 int group_item_spacing);
659 void CreatePanel_Advanced(
size_t parent,
int border_size,
660 int group_item_spacing);
661 void CreatePanel_Configs(
size_t parent,
int border_size,
662 int group_item_spacing);
663 void CreatePanel_Routes(
size_t parent,
int border_size,
664 int group_item_spacing);
666 void OnAlertEnableButtonClick(wxCommandEvent &event);
667 void OnAlertAudioEnableButtonClick(wxCommandEvent &event);
668 void OnResetFont(wxCommandEvent &event);
670 void UpdateTemplateTitleText();
671 void CheckDeviceAccess(wxString &path);
673 wxListCtrl *tcDataSelected;
674 std::vector<int> marinersStdXref;
676 wxImageList *m_topImgList;
678 wxCheckBox *m_persist_active_route_chkbox;
679 wxScrolledWindow *m_pNMEAForm;
680 void resetMarStdList(
bool bsetConfig,
bool bsetStd);
683 void ApplyChanges(wxCommandEvent &event);
685 unsigned int m_screenConfig;
687 wxNotebookPage *m_groupsPage;
691 wxSize m_small_button_size;
694 int m_fontHeight, m_scrollRate;
696 wxArrayString m_font_element_array;
700 wxBoxSizer *m_boxSizerConfigs;
701 wxColour m_panelBackgroundUnselected;
702 wxString m_selectedConfigPanelGUID;
703 wxSize m_colourPickerDefaultSize;
708 std::shared_ptr<ConnectionsDlg> comm_dialog;
710 DECLARE_EVENT_TABLE()