271 public wxScrollingDialog
275 explicit options(wxWindow *parent, wxWindowID
id = SYMBOL_OPTIONS_IDNAME,
276 const wxString &caption = SYMBOL_OPTIONS_TITLE,
277 const wxPoint &pos = SYMBOL_OPTIONS_POSITION,
278 const wxSize &size = SYMBOL_OPTIONS_SIZE,
279 long style = SYMBOL_OPTIONS_STYLE);
282#if wxCHECK_VERSION(3, 0, 0)
283 bool SendIdleEvents(wxIdleEvent &event);
285 void SetInitialPage(
int page_sel,
int sub_page = -1);
288 void OnClose(wxCloseEvent &event);
290 void CreateListbookIcons();
291 void CreateControls(
void);
292 size_t CreatePanel(
const wxString &title);
293 wxScrolledWindow *AddPage(
size_t parent,
const wxString &title);
294 bool DeletePluginPage(wxScrolledWindow *page);
295 void SetColorScheme(ColorScheme cs);
296 void RecalculateSize(
int hint_x,
int hint_y);
298 void SetInitChartDir(
const wxString &dir) { m_init_chart_dir = dir; }
299 void SetInitialSettings(
void);
300 void SetInitialVectorSettings(
void);
302 void SetCurrentDirList(ArrayOfCDI p) { m_CurrentDirList = p; }
303 void SetWorkDirListPtr(ArrayOfCDI *p) { m_pWorkDirList = p; }
304 ArrayOfCDI *GetWorkDirListPtr(
void) {
return m_pWorkDirList; }
306 void AddChartDir(
const wxString &dir);
308 void UpdateDisplayedChartDirList(ArrayOfCDI p);
309 void UpdateOptionsUnits(
void);
311 void SetConfigPtr(
MyConfig *p) { m_pConfig = p; }
312 void OnDebugcheckbox1Click(wxCommandEvent &event);
313 void OnDirctrlSelChanged(wxTreeEvent &event);
314 void OnButtonaddClick(wxCommandEvent &event);
315 void OnButtondeleteClick(wxCommandEvent &event);
316 void OnButtonParseENC(wxCommandEvent &event);
317 void OnButtoncompressClick(wxCommandEvent &event);
318 void OnButtonmigrateClick(wxCommandEvent &event);
319 void OnButtonEcdisHelp(wxCommandEvent &event);
320 void OnRadioboxSelected(wxCommandEvent &event);
321 void OnApplyClick(wxCommandEvent &event);
322 void OnXidOkClick(wxCommandEvent &event);
323 void OnCancelClick(wxCommandEvent &event);
324 void OnChooseFont(wxCommandEvent &event);
325 void OnFontChoice(wxCommandEvent &event);
326 void OnCPAWarnClick(wxCommandEvent &event);
327 void OnSyncCogPredClick(wxCommandEvent &event);
328 void OnSizeAutoButton(wxCommandEvent &event);
329 void OnSizeManualButton(wxCommandEvent &event);
331#if defined(__WXGTK__) || defined(__WXQT__)
332 void OnChooseFontColor(wxCommandEvent &event);
334 void OnGLClicked(wxCommandEvent &event);
335 void OnOpenGLOptions(wxCommandEvent &event);
336 void OnDisplayCategoryRadioButton(wxCommandEvent &event);
337 void OnButtonClearClick(wxCommandEvent &event);
338 void OnButtonSelectClick(wxCommandEvent &event);
339 void OnButtonSetStd(wxCommandEvent &event);
341 void OnPageChange(wxListbookEvent &event);
342 void OnTopNBPageChange(wxNotebookEvent &event);
343 void OnSubNBPageChange(wxNotebookEvent &event);
344 void DoOnPageChange(
size_t page);
346 wxString SelectSoundFile();
347 void OnButtonSelectSound(wxCommandEvent &event);
348 void OnButtonTestSound(wxCommandEvent &event);
350 void OnShowGpsWindowCheckboxClick(wxCommandEvent &event);
351 void OnZTCCheckboxClick(wxCommandEvent &event);
352 void OnRadarringSelect(wxCommandEvent &event);
353 void OnWaypointRangeRingSelect(wxCommandEvent &event);
354 void OnShipTypeSelect(wxCommandEvent &event);
355 void OnButtonGroups(wxCommandEvent &event);
356 void OnInsertTideDataLocation(wxCommandEvent &event);
357 void OnRemoveTideDataLocation(wxCommandEvent &event);
358 void OnCharHook(wxKeyEvent &event);
359 void OnChartsPageChange(wxListbookEvent &event);
360 void OnChartDirListSelect(wxCommandEvent &event);
361 void OnUnitsChoice(wxCommandEvent &event);
363 void UpdateWorkArrayFromDisplayPanel(
void);
364 ArrayOfCDI GetSelectedChartDirs();
365 ArrayOfCDI GetUnSelectedChartDirs();
366 void SetDirActionButtons();
368 void OnCreateConfig(wxCommandEvent &event);
369 void OnEditConfig(wxCommandEvent &event);
370 void OnDeleteConfig(wxCommandEvent &event);
371 void OnApplyConfig(wxCommandEvent &event);
372 void SetConfigButtonState();
373 void ClearConfigList();
374 void BuildConfigList();
375 void OnConfigMouseSelected(wxMouseEvent &event);
376 void OnDialogInit(wxInitDialogEvent &event);
378 bool GetNeedNew() {
return m_bneedNew; }
379 void SetNeedNew(
bool bnew) { m_bneedNew = bnew; }
380 int GetScrollRate() {
return m_scrollRate; }
381 void SetForceNewToolbarOnCancel(
bool val) {
382 m_bForceNewToolbaronCancel = val;
385 wxArrayString *GetSerialArray() {
return m_pSerialArray; }
388 static bool ShowToolTips(
void);
390#ifdef __OCPN__OPTIONS_USE_LISTBOOK__
391 wxListbook *m_pListbook;
393 wxNotebook *m_pListbook;
396 size_t m_pageDisplay, m_pageConnections, m_pageCharts, m_pageShips;
397 size_t m_pageUI, m_pagePlugins;
398 int lastPage, lastSubPage;
399 wxPoint lastWindowPos;
400 wxSize lastWindowSize;
401 wxButton *m_ApplyButton, *m_OKButton, *m_CancelButton;
403 ChartGroupArray *m_pGroupArray;
404 int m_groups_changed;
407 wxSizerFlags inputFlags, verticleInputFlags, labelFlags, groupInputFlags;
408 wxSizerFlags groupLabelFlags, groupLabelFlagsHoriz;
411 wxScrolledWindow *pDisplayPanel;
412 wxCheckBox *pShowStatusBar, *pShowMenuBar, *pShowChartBar, *pShowCompassWin;
413 wxCheckBox *pPrintShowIcon, *pCDOOutlines, *pSDepthUnits, *pSDisplayGrid;
414 wxCheckBox *pAutoAnchorMark, *pCDOQuilting, *pCBRaster, *pCBVector;
415 wxCheckBox *pCBCM93, *pCBLookAhead, *pSkewComp, *pOpenGL, *pSmoothPanZoom;
416 wxCheckBox *pFullScreenQuilt, *pMobile, *pResponsive, *pOverzoomEmphasis;
417 wxCheckBox *pOZScaleVector, *pToolbarAutoHideCB, *pInlandEcdis, *pRollover;
418 wxCheckBox *pZoomButtons, *pChartBarEX;
419 wxTextCtrl *pCOGUPUpdateSecs, *m_pText_OSCOG_Predictor, *pScreenMM;
420 wxTextCtrl *pToolbarHideSecs, *m_pText_OSHDT_Predictor;
422 wxTextCtrl *pCmdSoundString;
424 wxChoice *m_pShipIconType, *m_pcTCDatasets;
425 wxSlider *m_pSlider_Zoom_Raster, *m_pSlider_GUI_Factor,
426 *m_pSlider_Chart_Factor, *m_pSlider_Ship_Factor, *m_pSlider_Text_Factor,
427 *m_pSlider_ENCText_Factor;
428 wxSlider *m_pMouse_Zoom_Slider;
429 wxSlider *m_pSlider_Zoom_Vector;
430 wxSlider *m_pSlider_CM93_Zoom;
432 wxCheckBox *pSLiveETA;
433 wxTextCtrl *pSDefaultBoatSpeed;
435 wxRadioButton *pCBCourseUp, *pCBNorthUp, *pRBSizeAuto, *pRBSizeManual;
439 wxStaticText *itemStaticTextUserVar;
440 wxStaticText *itemStaticTextUserVar2;
441 wxButton *m_configDeleteButton, *m_configApplyButton;
443 void OnAISRolloverClick(wxCommandEvent &event);
444 void UpdateChartDirList();
446 void OnCanvasConfigSelectClick(
int ID,
bool selected);
453 wxBoxSizer *vectorPanel;
454 wxScrolledWindow *ps57Ctl;
458 wxChoice *pDispCat, *pPointStyle, *pBoundStyle, *p24Color;
459 wxButton *itemButtonClearList, *itemButtonSelectList, *itemButtonSetStd;
460 wxCheckBox *pCheck_SOUNDG, *pCheck_META, *pCheck_SHOWIMPTEXT;
461 wxCheckBox *pCheck_SCAMIN, *pCheck_SuperSCAMIN;
462 wxCheckBox *pCheck_ATONTEXT, *pCheck_LDISTEXT;
463 wxCheckBox *pCheck_XLSECTTEXT, *pCheck_DECLTEXT, *pCheck_NATIONALTEXT;
464 wxCheckBox *pSEnableCM93Offset;
465 wxTextCtrl *m_ShallowCtl, *m_SafetyCtl, *m_DeepCtl;
466 wxStaticText *m_depthUnitsShal, *m_depthUnitsSafe, *m_depthUnitsDeep;
470 wxChoice *pSDMMFormat, *pDistanceFormat, *pSpeedFormat, *pDepthUnitSelect,
471 *pTempFormat, *pWindSpeedFormat;
472 wxCheckBox *pCBTrueShow, *pCBMagShow;
476 wxStaticBoxSizer *activeSizer;
477 wxBoxSizer *chartPanel;
480 ArrayOfCDI ActiveChartArray;
482 wxStaticBox *itemActiveChartStaticBox;
483 wxCheckBox *pUpdateCheckBox, *pScanCheckBox;
484 wxButton *pParseENCButton;
485 wxButton *m_removeBtn, *m_compressBtn;
486 wxButton *m_migrateBtn;
489 wxBoxSizer *boxSizerCharts;
490 wxScrolledWindow *m_scrollWinChartList;
491 wxScrolledWindow *chartPanelWin;
492 wxBoxSizer *cmdButtonSizer;
493 wxStaticBox *loadedBox;
494 std::vector<OCPNChartDirPanel *> panelVector;
495 wxArrayString activeChartList;
498 wxScrolledWindow *m_ChartDisplayPage;
501 wxCheckBox *m_pCheck_CPA_Max, *m_pCheck_CPA_Warn, *m_pCheck_CPA_WarnT;
502 wxCheckBox *m_pCheck_Mark_Lost, *m_pCheck_Remove_Lost;
503 wxCheckBox *m_pCheck_Show_COG, *m_pCheck_Sync_OCOG_ACOG;
504 wxCheckBox *m_pCheck_Show_Tracks, *m_pCheck_Hide_Moored,
505 *m_pCheck_Scale_Priority;
506 wxCheckBox *m_pCheck_AlertDialog, *m_pCheck_AlertAudio;
507 wxCheckBox *m_pCheck_Alert_Moored, *m_pCheck_Rollover_Class;
508 wxCheckBox *m_pCheck_Rollover_COG, *m_pCheck_Rollover_CPA;
509 wxCheckBox *m_pCheck_Ack_Timout, *m_pCheck_Show_Area_Notices;
510 wxCheckBox *m_pCheck_Draw_Target_Size, *m_pCheck_Draw_Realtime_Prediction;
511 wxCheckBox *m_pCheck_Show_Target_Name;
512 wxChoice *m_pWplAction;
513 wxCheckBox *m_pCheck_use_Wpl, *m_pCheck_ShowAllCPA;
514 wxTextCtrl *m_pText_CPA_Max, *m_pText_CPA_Warn, *m_pText_CPA_WarnT;
515 wxTextCtrl *m_pText_Mark_Lost, *m_pText_Remove_Lost, *m_pText_COG_Predictor;
516 wxTextCtrl *m_pText_Track_Length, *m_pText_Moored_Speed,
517 *m_pText_Scale_Priority;
518 wxTextCtrl *m_pText_ACK_Timeout, *m_pText_Show_Target_Name_Scale;
519 wxTextCtrl *m_pText_RealtPred_Speed;
522 wxScrolledWindow *m_DisplayConfigsPage;
526 wxStaticText *m_Text_def_boat_speed;
529 wxScrolledWindow *m_scrollWinConfigList;
530 wxStaticText *m_templateTitleText;
531 wxStaticText *m_staticTextLastAppled;
532 wxStaticBoxSizer *m_templateStatusBoxSizer;
535 wxFlexGridSizer *realSizes;
536 wxTextCtrl *m_pOSLength, *m_pOSWidth, *m_pOSGPSOffsetX, *m_pOSGPSOffsetY;
537 wxTextCtrl *m_pOSMinSize, *m_pText_ACRadius;
538 wxStaticBoxSizer *dispOptions, *dispWaypointOptions;
539 wxScrolledWindow *itemPanelShip, *itemPanelRoutes;
540 wxBoxSizer *ownShip, *Routes;
541 wxCheckBox *pShowshipToActive;
542 wxChoice *m_shipToActiveStyle, *m_shipToActiveColor;
546 wxCheckBox *pScaMinChckB, *pScaMinOverruleChckB;
547 wxTextCtrl *m_pText_ScaMin;
550 wxBoxSizer *m_itemBoxSizerFontPanel;
551 wxChoice *m_itemFontElementListBox, *m_itemStyleListBox, *m_itemLangListBox;
552 wxStaticText *m_textSample;
556 wxComboBox *m_itemAISListBox;
562 wxScrolledWindow *itemPanelPlugins;
563 wxBoxSizer *itemBoxSizerPanelPlugins;
564 wxFlexGridSizer *radarGrid, *waypointradarGrid;
565 wxChoice *pNavAidRadarRingsNumberVisible, *pWaypointRangeRingsNumber;
567 wxChoice *m_itemRadarRingsUnits, *m_itemWaypointRangeRingsUnits;
570 wxChoice *pTrackPrecision;
571 wxTextCtrl *pNavAidRadarRingsStep, *pWaypointRangeRingsStep;
572 wxCheckBox *pSogCogFromLLCheckBox;
573 wxSpinCtrl *pSogCogFromLLDampInterval;
574 wxTextCtrl *m_pText_TP_Secs, *m_pText_TP_Dist;
575 wxCheckBox *pWayPointPreventDragging, *pConfirmObjectDeletion;
576 wxCheckBox *pEnableZoomToCursor, *pPreserveScale, *pPlayShipsBells;
577 wxCheckBox *pTransparentToolbar;
578 wxCheckBox *pAdvanceRouteWaypointOnArrivalOnly, *pTrackShowIcon;
579 wxCheckBox *pTrackDaily, *pTrackHighlite;
580 wxStaticText *pStatic_CallSign;
582#if wxCHECK_VERSION(2, 9, 0)
583#if wxUSE_TIMEPICKCTRL
587 wxTimePickerCtrl *pTrackRotateTime;
591 wxRadioButton *pTrackRotateComputerTime, *pTrackRotateUTC, *pTrackRotateLMT;
593 wxChoice *pSoundDeviceIndex;
594 wxStaticText *stSoundDeviceIndex;
596 wxArrayPtrVoid OBJLBoxArray;
597 wxString m_init_chart_dir;
598 wxArrayString *m_pSerialArray;
600 ArrayOfCDI m_CurrentDirList, *m_pWorkDirList;
605 bool m_bForceNewToolbaronCancel;
613 void OnUXAudioEnableButtonClickAIS(wxCommandEvent &event);
614 void OnUXAudioEnableButtonClickSART(wxCommandEvent &event);
615 void OnUXAudioEnableButtonClickDSC(wxCommandEvent &event);
623 void CreatePanel_MMSI(
size_t parent,
int border_size,
int group_item_spacing);
624 void CreatePanel_AIS(
size_t parent,
int border_size,
int group_item_spacing);
625 void CreatePanel_Ownship(
size_t parent,
int border_size,
626 int group_item_spacing);
627 void CreatePanel_NMEA(
size_t parent,
int border_size,
int group_item_spacing);
628 void CreatePanel_ChartsLoad(
size_t parent,
int border_size,
629 int group_item_spacing);
630 void CreatePanel_VectorCharts(
size_t parent,
int border_size,
631 int group_item_spacing);
632 void CreatePanel_TidesCurrents(
size_t parent,
int border_size,
633 int group_item_spacing);
634 void CreatePanel_ChartGroups(
size_t parent,
int border_size,
635 int group_item_spacing);
636 void CreatePanel_Display(
size_t parent,
int border_size,
637 int group_item_spacing);
638 void CreatePanel_UI(
size_t parent,
int border_size,
int group_item_spacing);
639 void CreatePanel_Units(
size_t parent,
int border_size,
640 int group_item_spacing);
641 void CreatePanel_Sounds(
size_t parent,
int border_size,
642 int group_item_spacing);
643 void CreatePanel_Advanced(
size_t parent,
int border_size,
644 int group_item_spacing);
645 void CreatePanel_Configs(
size_t parent,
int border_size,
646 int group_item_spacing);
647 void CreatePanel_Routes(
size_t parent,
int border_size,
648 int group_item_spacing);
650 void OnAlertEnableButtonClick(wxCommandEvent &event);
651 void OnAlertAudioEnableButtonClick(wxCommandEvent &event);
652 void OnResetFont(wxCommandEvent &event);
654 void UpdateTemplateTitleText();
655 void CheckDeviceAccess(wxString &path);
657 wxListCtrl *tcDataSelected;
658 std::vector<int> marinersStdXref;
660 wxImageList *m_topImgList;
662 wxCheckBox *m_persist_active_route_chkbox;
663 wxScrolledWindow *m_pNMEAForm;
664 void resetMarStdList(
bool bsetConfig,
bool bsetStd);
667 void ApplyChanges(wxCommandEvent &event);
669 unsigned int m_screenConfig;
671 wxNotebookPage *m_groupsPage;
675 wxSize m_small_button_size;
678 int m_fontHeight, m_scrollRate;
680 wxArrayString m_font_element_array;
684 wxBoxSizer *m_boxSizerConfigs;
685 wxColour m_panelBackgroundUnselected;
686 wxString m_selectedConfigPanelGUID;
687 wxSize m_colourPickerDefaultSize;
692 std::shared_ptr<ConnectionsDlg> comm_dialog;
694 DECLARE_EVENT_TABLE()