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
25#include <vector>
26
27#include "model/config_vars.h"
28#include "config.h"
29
31bool g_bAISRolloverShowClass = false;
32bool g_bAISRolloverShowCOG = false;
33bool g_bAISRolloverShowCPA = false;
34bool g_bAllowShipToActive = false;
35bool g_bAutoAnchorMark = false;
36bool g_bAutoHideToolbar = false;
37bool g_bBasicMenus = false;
38bool g_bConfirmObjectDelete = false;
39bool g_bCourseUp = false;
40bool g_bDebugCM93 = false;
41bool g_bDebugGPSD = false;
42bool g_bDebugOGL = false;
43bool g_bDebugS57 = false;
44bool g_bDisplayGrid = false;
45bool g_bEmailCrashReport = false;
46bool g_benable_rotate = false;
47bool g_benableUDPNullHeader = false;
48bool g_bEnableZoomToCursor = false;
49bool g_bfilter_cogsog = false;
50bool g_bframemax = false;
51bool g_bFullscreen = false;
52bool g_bFullScreenQuilt = true;
53bool g_bFullscreenToolbar = false;
54bool g_bGarminHostUpload = false;
55bool g_bGDAL_Debug = false;
56bool g_bGLexpert = false;
57bool g_bHighliteTracks = false;
58bool g_bInlandEcdis = false;
59bool g_bLookAhead = false;
60bool g_bMagneticAPB = false;
61bool g_bNavAidRadarRingsShown = false;
62bool g_bopengl = false;
63bool g_bOverruleScaMin = false;
64bool g_bPermanentMOBIcon = false;
65bool g_bPlayShipsBells = false;
66bool g_bPreserveScaleOnX = false;
67bool g_bQuiltEnable = false;
68bool g_bQuiltStart = false;
69bool g_bresponsive = false;
70bool g_bRollover = false;
71bool g_bShowActiveRouteHighway = false;
72bool g_bShowChartBar = false;
73bool g_bShowCompassWin = false;
74bool g_bShowCurrent = false;
75bool g_bShowDepthUnits = false;
76bool g_bShowDetailSlider = false;
77bool g_bShowLayers = false;
78bool g_bShowLiveETA = false;
79bool g_bShowMag = false;
80bool g_bShowMenuBar = false;
81bool g_bShowMuiZoomButtons = true;
82bool g_bShowOutlines = false;
83bool g_bShowRouteTotal = false;
84bool g_bShowShipToActive = false;
85bool g_bShowStatusBar = false;
86bool g_bShowTide = false;
87bool g_bShowTrackPointTime = false;
88bool g_bShowTrue = false;
89bool g_bShowWptName = false;
90bool g_bsimplifiedScalebar = false;
91bool g_bskew_comp = false;
92bool g_bsmoothpanzoo = false;
93bool g_bsmoothpanzoom = false;
94bool g_bSoftwareGL = false;
95bool g_bSpaceDropMark = false;
96bool g_btenhertz = false;
97bool g_btouch = false;
98bool g_btrackContinuous = false;
99bool g_bTrackDaily = false;
100bool g_bTransparentToolbar = false;
101bool g_bUIexpert = false;
102bool g_bUseGLL = true;
103bool g_bUseGreenShip = false;
104bool g_bUserIconsFirst = true;
105bool g_bUseOnlyConfirmedAISName = false;
106bool g_bUseWptScaMin = false;
107bool g_bWayPointPreventDragging = false;
108bool g_bWplUsePosition = false;
109bool g_config_display_size_manual = false;
110bool g_declutter_anchorage = false;
111bool g_enable_root_menu_debug = false;
112bool g_fog_overzoom = false;
113bool g_own_ship_sog_cog_calc = false;
114bool g_oz_vector_scale = false;
115bool g_persist_active_route = false;
116bool g_useMUI = false;
117bool s_bSetSystemTime = false;
118
119double g_COGAvg = 0.0;
120double g_defaultBoatSpeed = 0.0;
121double g_display_size_mm = 0.0;
122double g_mouse_zoom_sensitivity = 0.0;
123double g_n_arrival_circle_radius = 0.0;
124double g_n_gps_antenna_offset_x = 0.0;
125double g_n_gps_antenna_offset_y = 0.0;
126double g_n_ownship_beam_meters = 0.0;
127double g_n_ownship_length_meters = 0.0;
128double g_overzoom_emphasis_base = 0.0;
129double g_ownship_HDTpredictor_miles = 0.0;
130double g_ownship_predictor_minutes = 0.0;
131double g_PlanSpeed = 0.0;
132double g_plus_minus_zoom_factor = 0.0;
133double g_TrackDeltaDistance = 0.0;
134double g_TrackIntervalSeconds = 0.0;
135double g_UserVar = 0.0;
136
137float g_fNavAidRadarRingsStep = 0.0;
138float g_fWaypointRangeRingsStep = 0.0;
139float g_GLMinSymbolLineWidth = 0.0;
140float g_MarkScaleFactorExp = 0.0;
141float g_selection_radius_mm = 2.0;
142float g_selection_radius_touch_mm = 10.0;
143float g_ShipScaleFactorExp = 0.0;
144
145int g_ais_cog_predictor_width = 0;
146int g_AndroidVersionCode = 0;
147int g_BSBImgDebug = 0;
148int g_ChartScaleFactor = 0;
149int g_chart_zoom_modifier_raster = 0;
150int g_chart_zoom_modifier_vector = 0;
151int g_cm93_zoom_factor = 0;
152int g_COGAvgSec = 15;
153int g_COGFilterSec = 1;
154int g_cog_predictor_endmarker = 0;
155int g_cog_predictor_style = 0;
156int g_cog_predictor_width = 0;
157int g_default_font_size = 0;
158int g_detailslider_dialog_x = 0;
159int g_detailslider_dialog_y = 0;
160int g_ENCSoundingScaleFactor = 0;
161int g_ENCTextScaleFactor = 0;
162int g_GUIScaleFactor = 0;
164int g_iENCToolbarPosX = 0;
165int g_iENCToolbarPosY = 0;
167int g_iNavAidRadarRingsNumberVisible = 0;
168int g_iSDMMFormat = 0;
169int g_iSoundDeviceIndex = 0;
172int g_iWaypointRangeRingsNumber = 0;
173int g_iWaypointRangeRingsStepUnits = 0;
174int g_iWindSpeedFormat = 0;
175int g_iWpt_ScaMin = 0;
176int g_lastClientRecth = 0;
177int g_lastClientRectw = 0;
178int g_lastClientRectx = 0;
179int g_lastClientRecty = 0;
180int g_maintoolbar_x = 0;
181int g_maintoolbar_y = 0;
182int g_maxWPNameLength;
183int g_maxzoomin = 0;
184int g_mbtilesMaxLayers = 2;
185int g_memCacheLimit = 0;
186int g_MemFootMB = 0;
187int g_mouse_zoom_sensitivity_ui = 0;
188int g_nAutoHideToolbar = 0;
189int g_navobjbackups = 1;
190int g_nAWDefault = 0;
191int g_nAWMax = 0;
192int g_nbrightness = 100;
193int g_nCacheLimit = 0;
194int g_nCOMPortCheck = 32;
195int g_nCPUCount = 0;
197int g_netmask_bits = 24;
198int g_nframewin_posx = 0;
199int g_nframewin_posy = 0;
200int g_nframewin_x = 0;
201int g_nframewin_y = 0;
202int g_NMEAAPBPrecision = 3;
203int g_nNMEADebug = 0;
204int g_n_ownship_min_mm = 0;
205int g_nTrackPrecision = 0;
206int g_ownship_HDTpredictor_endmarker = 0;
207int g_ownship_HDTpredictor_style = 0;
208int g_ownship_HDTpredictor_width = 0;
209int g_OwnShipIconType = 0;
210int g_own_ship_sog_cog_calc_damp_sec = 0;
211int g_pNavAidRadarRingsStepUnits = 0;
212int gps_watchdog_timeout_ticks = 0;
213int g_restore_dbindex = 0;
214int g_restore_stackindex = 0;
215int g_route_line_width = 0;
216int g_route_prop_sx = 0;
217int g_route_prop_sy = 0;
218int g_route_prop_x = 0;
219int g_route_prop_y = 0;
220int g_S57_dialog_sx = 0;
221int g_S57_dialog_sy = 0;
222int g_S57_extradialog_sx = 0;
223int g_S57_extradialog_sy = 0;
224int g_SENC_LOD_pixels = 0;
225int g_ShipScaleFactor = 0;
226int g_shipToActiveColor = 0;
227int g_shipToActiveStyle = 0;
228int g_SkewCompUpdatePeriod = 0;
229int g_SOGFilterSec = 0;
230int g_tcwin_scale = 0.0;
231int g_trackFilterMax = 0;
232int g_track_line_width = 0;
233int g_WplAction = 0;
234int n_NavMessageShown = 0;
235int sat_watchdog_timeout_ticks = 12;
236
237long g_maintoolbar_orient = 0L;
238
239std::vector<std::string> TideCurrentDataSet;
240
241unsigned g_canvasConfig = 0;
242
243wxString g_active_route;
244wxString g_AW1GUID;
245wxString g_AW2GUID;
246wxString g_catalog_channel;
247wxString g_catalog_custom_url;
248wxString g_CmdSoundString;
249wxString g_cog_predictor_color;
250wxString g_compatOS = PKG_TARGET;
251wxString g_compatOsVersion = PKG_TARGET_VERSION;
252wxString g_config_version_string;
255wxString g_default_routepoint_icon;
256wxString g_default_wp_icon;
257wxString g_GPS_Ident;
258wxString g_gpx_path;
259wxString g_hostname;
260wxString g_InvisibleLayers;
261wxString g_InVisiNameinLayers;
262wxString g_lastAppliedTemplateGUID;
263wxString g_locale;
264wxString g_localeOverride;
265wxString g_ObjQFileExt;
266wxString g_ownship_HDTpredictor_color;
267wxString g_SART_sound_file;
268wxString g_TalkerIdText;
269wxString g_TCData_Dir;
270wxString g_toolbarConfig = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
271wxString g_uiStyle;
272wxString g_uploadConnection;
273wxString g_UserPresLibData;
274wxString g_VisibleLayers;
275wxString g_VisiNameinLayers;
277wxString gWorldMapLocation;
278wxString gWorldShapefileLocation;
279
280static wxConfigBase* the_base_config = 0;
281
282wxConfigBase* TheBaseConfig() {
283 wxASSERT_MSG(the_base_config != 0, "Uninitialized the_base_config");
284 return the_base_config;
285}
286void InitBaseConfig(wxConfigBase* cfg) { the_base_config = cfg; }
287
288std::vector<size_t> g_config_display_size_mm;
int g_iTempFormat
User-selected temperature unit format for display and input.
wxString g_datetime_format
Date/time format to use when formatting date/time strings.
int g_iHeightFormat
User-selected height (vertical, above reference datum) unit format for display and input.
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.
int g_nDepthUnitDisplay
User-selected depth (below surface) unit format for display and input.
wxString g_default_font_facename
Default font size for user interface elements such as menus, dialogs, etc.
wxString g_winPluginDir
Base plugin directory on Windows.
bool g_bRollover
enable/disable mouse rollover GUI effects
bool g_bShowTide
not used
int g_iSpeedFormat
User-selected speed unit format for display and input.
double g_COGAvg
Debug only usage.
int g_COGAvgSec
COG average period for Course Up Mode (sec)
int g_iDistanceFormat
User-selected distance (horizontal) unit format for display and input.
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.