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