OpenCPN Partial API docs
Loading...
Searching...
No Matches
CanvasOptions.h
1/******************************************************************************
2 *
3 * Project: OpenCPN
4 * Purpose: Canvas Options Window/Dialog
5 * Author: David Register
6 *
7 ***************************************************************************
8 * Copyright (C) 2018 by David S. Register *
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 * This program is distributed in the hope that it will be useful, *
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18 * GNU General Public License for more details. *
19 * *
20 * You should have received a copy of the GNU General Public License *
21 * along with this program; if not, write to the *
22 * Free Software Foundation, Inc., *
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
24 ***************************************************************************
25 */
26
27#ifndef __canvasoption_H__
28#define __canvasoption_H__
29
30//----------------------------------------------------------------------------
31// constants
32//----------------------------------------------------------------------------
33enum {
34 IDCO_SHOWDEPTHUNITSBOX1 = 31000,
35 IDCO_OUTLINECHECKBOX1,
36 IDCO_CHECK_DISPLAYGRID,
37 IDCO_ZTCCHECKBOX,
38 IDCO_SMOOTHPANZOOMBOX,
39 IDCO_PRESERVECHECKBOX,
40 IDCO_QUILTCHECKBOX1,
41 IDCO_CHECK_LOOKAHEAD,
42 IDCO_COURSEUPCHECKBOX,
43 IDCO_HEADUPCHECKBOX,
44 IDCO_TIDES_CHECKBOX,
45 IDCO_CURRENTS_CHECKBOX,
46 IDCO_ENCTEXT_CHECKBOX1,
47 ID_TOOLBARCHECKBOX,
48 ID_CODISPCAT,
49 IDCO_ENCDEPTH_CHECKBOX1,
50 IDCO_ENCBUOY_CHECKBOX1,
51 IDCO_ENCBUOYLABEL_CHECKBOX1,
52 IDCO_ENCANCHOR_CHECKBOX1,
53 IDCO_SHOW_AIS_CHECKBOX,
54 IDCO_ATTEN_AIS_CHECKBOX,
55 IDCO_ENCVISIBLESECTORS_CHECKBOX1,
56};
57
58class MyFrame;
59class ChartCanvas;
60
61//----------------------------------------------------------------------------
62// CanvasOptions
63//----------------------------------------------------------------------------
64
65class CanvasOptions : public wxDialog {
66public:
67 CanvasOptions(wxWindow *parent);
68
69 void OnClose(wxCloseEvent &event);
70 void OnOptionChange(wxCommandEvent &event);
71
72 void RefreshControlValues(void);
73 void UpdateCanvasOptions(void);
74 void OnEraseBackground(wxEraseEvent &event);
75 void SetENCAvailable(bool avail);
76
77private:
78 int m_style;
79 bool m_ENCAvail;
80 wxScrolledWindow *m_sWindow;
81
82 wxCheckBox *pShowStatusBar, *pShowMenuBar, *pShowChartBar, *pShowCompassWin;
83 wxCheckBox *pPrintShowIcon, *pCDOOutlines, *pSDepthUnits, *pSDisplayGrid;
84 wxCheckBox *pAutoAnchorMark, *pCDOQuilting, *pCBRaster, *pCBVector;
85 wxCheckBox *pCBCM93, *pCBLookAhead, *pSkewComp, *pOpenGL, *pSmoothPanZoom;
86 wxCheckBox *pFullScreenQuilt, *pMobile, *pResponsive, *pOverzoomEmphasis;
87 wxCheckBox *pOZScaleVector, *pToolbarAutoHideCB, *pInlandEcdis;
88 wxTextCtrl *pCOGUPUpdateSecs, *m_pText_OSCOG_Predictor, *pScreenMM;
89 wxTextCtrl *pToolbarHideSecs, *m_pText_OSHDT_Predictor;
90 wxChoice *m_pShipIconType, *m_pcTCDatasets;
91 wxSlider *m_pSlider_Zoom, *m_pSlider_GUI_Factor, *m_pSlider_Chart_Factor,
92 *m_pSlider_Ship_Factor;
93 wxSlider *m_pSlider_Zoom_Vector;
94 wxRadioButton *pCBCourseUp, *pCBNorthUp, *pCBHeadUp, *pRBSizeAuto,
95 *pRBSizeManual;
96 wxCheckBox *pEnableZoomToCursor, *pPreserveScale;
97
98 wxCheckBox *pCDOTides, *pCDOCurrents;
99 wxCheckBox *pCDOENCText, *pCBToolbar;
100 wxChoice *m_pDispCat;
101 wxCheckBox *pCBENCDepth, *pCBENCLightDesc, *pCBENCBuoyLabels, *pCBENCLights,
102 *pCBENCAnchorDetails;
103 wxCheckBox *pCBShowAIS, *pCBAttenAIS, *pCBENCVisibleSectors;
104
105 DECLARE_EVENT_TABLE()
106};
107
108#endif // guard