OpenCPN Partial API docs
Loading...
Searching...
No Matches
config_vars.cpp
Go to the documentation of this file.
1/***************************************************************************
2 * Copyright (C) 2023 - 2025 Alec Leamas *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, see <https://www.gnu.org/licenses/>. *
16 **************************************************************************/
17
24#include <vector>
25
26#include "model/config_vars.h"
27#include "config.h"
28
30bool g_bAISRolloverShowClass = false;
31bool g_bAISRolloverShowCOG = false;
32bool g_bAISRolloverShowCPA = false;
33bool g_bAllowShipToActive = false;
34bool g_bAutoAnchorMark = false;
35bool g_bAutoHideToolbar = false;
36bool g_bBasicMenus = false;
37bool g_bConfirmObjectDelete = false;
38bool g_bCourseUp = false;
39bool g_bDebugCM93 = false;
40bool g_bDebugOGL = false;
41bool g_bDisplayGrid = false;
42bool g_bEmailCrashReport = false;
43bool g_benable_rotate = false;
44bool g_benableUDPNullHeader = false;
45bool g_bEnableZoomToCursor = false;
46bool g_bfilter_cogsog = false;
47bool g_bframemax = false;
48bool g_bFullscreen = false;
49bool g_bFullScreenQuilt = true;
50bool g_bFullscreenToolbar = false;
51bool g_bGarminHostUpload = false;
52bool g_bGLexpert = false;
53bool g_bHighliteTracks = false;
54bool g_bInlandEcdis = false;
55bool g_bLookAhead = false;
56bool g_bMagneticAPB = false;
57bool g_bNavAidRadarRingsShown = false;
58bool g_bopengl = false;
59bool g_bOverruleScaMin = false;
60bool g_bPermanentMOBIcon = false;
61bool g_bPlayShipsBells = false;
62bool g_bPreserveScaleOnX = false;
63bool g_bQuiltEnable = false;
64bool g_bQuiltStart = false;
65bool g_bresponsive = false;
66bool g_bRollover = false;
67bool g_bShowActiveRouteHighway = false;
68bool g_bShowChartBar = false;
69bool g_bShowCompassWin = false;
70bool g_bShowDepthUnits = false;
71bool g_bShowDetailSlider = false;
72bool g_bShowLayers = false;
73bool g_bShowLiveETA = false;
74bool g_bShowMag = false;
75bool g_bShowMenuBar = false;
76bool g_bShowOutlines = false;
77bool g_bShowRouteTotal = false;
78bool g_bShowShipToActive = false;
79bool g_bShowStatusBar = false;
80bool g_bShowTrackPointTime = false;
81bool g_bShowTrue = false;
82bool g_bShowWptName = false;
83bool g_bsimplifiedScalebar = false;
84bool g_bskew_comp = false;
85bool g_bsmoothpanzoo = false;
86bool g_bsmoothpanzoom = false;
87bool g_bSoftwareGL = false;
88bool g_bSpaceDropMark = false;
89bool g_btenhertz = false;
90bool g_btouch = false;
91bool g_bTrackDaily = false;
92bool g_bUIexpert = false;
93bool g_bUseGLL = true;
94bool g_bUserIconsFirst = true;
95bool g_bUseWptScaMin = false;
96bool g_bWayPointPreventDragging = false;
97bool g_bWplUsePosition = false;
98bool g_config_display_size_manual = false;
99bool g_fog_overzoom = false;
100bool g_enable_root_menu_debug = false;
101bool g_own_ship_sog_cog_calc = false;
102bool g_oz_vector_scale = false;
103bool g_persist_active_route = false;
104bool g_useMUI = false;
105bool s_bSetSystemTime = false;
106
107double g_COGAvg = 0.0;
108double g_defaultBoatSpeed = 0.0;
109double g_display_size_mm = 0.0;
110double g_mouse_zoom_sensitivity = 0.0;
111double g_n_arrival_circle_radius = 0.0;
112double g_n_gps_antenna_offset_x = 0.0;
113double g_n_gps_antenna_offset_y = 0.0;
114double g_n_ownship_beam_meters = 0.0;
115double g_n_ownship_length_meters = 0.0;
116double g_overzoom_emphasis_base = 0.0;
117double g_ownship_HDTpredictor_miles = 0.0;
118double g_ownship_predictor_minutes = 0.0;
119double g_PlanSpeed = 0.0;
120double g_plus_minus_zoom_factor = 0.0;
121double g_TrackDeltaDistance = 0.0;
122double g_TrackIntervalSeconds = 0.0;
123double g_UserVar = 0.0;
124
125float g_fNavAidRadarRingsStep = 0.0;
126float g_fWaypointRangeRingsStep = 0.0;
127float g_GLMinSymbolLineWidth = 0.0;
128float g_selection_radius_mm = 2.0;
129float g_selection_radius_touch_mm = 10.0;
130float g_ShipScaleFactorExp = 0.0;
131
132int g_ais_cog_predictor_width = 0;
133int g_ChartScaleFactor = 0;
134int g_chart_zoom_modifier_raster = 0;
135int g_chart_zoom_modifier_vector = 0;
136int g_cm93_zoom_factor = 0;
137int g_COGAvgSec = 15;
138int g_COGFilterSec = 1;
139int g_cog_predictor_endmarker = 0;
140int g_cog_predictor_style = 0;
141int g_cog_predictor_width = 0;
142int g_default_font_size = 0;
143int g_detailslider_dialog_x = 0;
144int g_detailslider_dialog_y = 0;
145int g_ENCSoundingScaleFactor = 0;
146int g_ENCTextScaleFactor = 0;
147int g_GUIScaleFactor = 0;
148int g_iDistanceFormat = 0;
149int g_iENCToolbarPosX = 0;
150int g_iENCToolbarPosY = 0;
151int g_iNavAidRadarRingsNumberVisible = 0;
152int g_iSDMMFormat = 0;
153int g_iSoundDeviceIndex = 0;
154int g_iSpeedFormat = 0;
155int g_iTempFormat = 0;
156int g_iWaypointRangeRingsNumber = 0;
157int g_iWaypointRangeRingsStepUnits = 0;
158int g_iWindSpeedFormat = 0;
159int g_iWpt_ScaMin = 0;
160int g_lastClientRecth = 0;
161int g_lastClientRectw = 0;
162int g_lastClientRectx = 0;
163int g_lastClientRecty = 0;
164int g_maintoolbar_x = 0;
165int g_maintoolbar_y = 0;
166int g_maxWPNameLength;
167int g_maxzoomin = 0;
168int g_mbtilesMaxLayers = 2;
169int g_memCacheLimit = 0;
170int g_MemFootMB = 0;
171int g_nAutoHideToolbar = 0;
172int g_navobjbackups = 1;
173int g_nAWDefault = 0;
174int g_nAWMax = 0;
175int g_nbrightness = 100;
176int g_nCacheLimit = 0;
177int g_nCPUCount = 0;
178int g_nCOMPortCheck = 32;
179int g_nDepthUnitDisplay = 0;
180int g_netmask_bits = 24;
181int g_nframewin_posx = 0;
182int g_nframewin_posy = 0;
183int g_nframewin_x = 0;
184int g_nframewin_y = 0;
185int g_NMEAAPBPrecision = 3;
186int g_nNMEADebug = 0;
187int g_n_ownship_min_mm = 0;
188int g_nTrackPrecision = 0;
189int g_ownship_HDTpredictor_endmarker = 0;
190int g_ownship_HDTpredictor_style = 0;
191int g_ownship_HDTpredictor_width = 0;
192int g_OwnShipIconType = 0;
193int g_own_ship_sog_cog_calc_damp_sec = 0;
194int g_pNavAidRadarRingsStepUnits = 0;
195int gps_watchdog_timeout_ticks = 0;
196int g_restore_dbindex = 0;
197int g_restore_stackindex = 0;
198int g_route_line_width = 0;
199int g_S57_dialog_sx = 0;
200int g_S57_dialog_sy = 0;
201int g_SENC_LOD_pixels = 0;
202int g_ShipScaleFactor = 0;
203int g_shipToActiveColor = 0;
204int g_shipToActiveStyle = 0;
205int g_SkewCompUpdatePeriod = 0;
206int g_SOGFilterSec = 0;
207int g_trackFilterMax = 0;
208int g_track_line_width = 0;
209int g_WplAction = 0;
210int sat_watchdog_timeout_ticks = 12;
211
212long g_maintoolbar_orient = 0L;
213
214unsigned g_canvasConfig = 0;
215
216wxString g_active_route;
217wxString g_AW1GUID;
218wxString g_AW2GUID;
219wxString g_catalog_channel;
220wxString g_catalog_custom_url;
221wxString g_CmdSoundString;
222wxString g_cog_predictor_color;
223wxString g_compatOS = PKG_TARGET;
224wxString g_compatOsVersion = PKG_TARGET_VERSION;
226wxString g_default_routepoint_icon;
227wxString g_default_wp_icon;
228wxString g_GPS_Ident;
229wxString g_gpx_path;
230wxString g_hostname;
231wxString g_locale;
232wxString g_localeOverride;
233wxString g_ObjQFileExt;
234wxString g_ownship_HDTpredictor_color;
235wxString g_SART_sound_file;
236wxString g_TalkerIdText;
237wxString g_TCData_Dir;
238wxString g_toolbarConfig = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
239wxString g_uiStyle;
240wxString g_uploadConnection;
241wxString g_UserPresLibData;
243wxString gWorldMapLocation;
244wxString gWorldShapefileLocation;
245
246static wxConfigBase* the_base_config = 0;
247
248wxConfigBase* TheBaseConfig() {
249 wxASSERT_MSG(the_base_config != 0, "Uninitialized the_base_config");
250 return the_base_config;
251}
252void InitBaseConfig(wxConfigBase* cfg) { the_base_config = cfg; }
253
254std::vector<size_t> g_config_display_size_mm;
wxString g_datetime_format
Date/time format to use when formatting date/time strings.
bool g_always_send_rmb_rmc
Always send RMB and RMC n0183 messages even if there is no active route.
bool g_bsmoothpanzoom
Controls how the chart panning and zooming smoothing is done during user interactions.
wxString g_winPluginDir
Base plugin directory on Windows.
bool g_bRollover
enable/disable mouse rollover GUI effects
double g_COGAvg
Debug only usage.
int g_COGAvgSec
COG average period for Course Up Mode (sec)
std::vector< size_t > g_config_display_size_mm
Size of pysical screen in millimeters.
bool g_bDisplayGrid
Should lat/lon grid be displayed ?
double g_display_size_mm
Physical display width (mm)
Global variables stored in configuration file.