32#include <wx/confbase.h>
33#include <wx/datetime.h>
34#include <wx/fileconf.h>
35#include <wx/progdlg.h>
40#include <wx/msw/regconf.h>
41#include <wx/msw/iniconf.h>
45#include "model/nav_object_database.h"
61#define GLOBAL_SETTINGS_INPUT 3
63constexpr int kMaxCogsogFilterSeconds = 60;
64constexpr int kMaxCogAverageSeconds = 60;
71bool LogMessageOnce(
const wxString &msg);
72double fromUsrSpeed(
double usr_speed,
int unit = -1);
73double fromUsrWindSpeed(
double usr_wspeed,
int unit = -1);
74double fromUsrTemp(
double usr_temp,
int unit = -1);
75wxString getUsrTempUnit();
76wxString formatAngle(
double angle);
77wxString GetLayerName(
int id);
81extern wxArrayString *pMessageOnceArray;
104wxDateTime
toUsrDateTime(
const wxDateTime ts,
const int format,
105 const double lon = INFINITY - INFINITY);
121 const double lon = INFINITY - INFINITY);
123extern void AlphaBlending(
ocpnDC &dc,
int x,
int y,
int size_x,
int size_y,
124 float radius, wxColour color,
125 unsigned char transparency);
128void DimeControl(wxWindow *ctrl);
129void DimeControl(wxWindow *ctrl, wxColour col, wxColour col1,
130 wxColour back_color, wxColour text_color, wxColour uitext,
131 wxColour udkrd, wxColour gridline);
134RoutePoint *WaypointExistsByNamePosition(
const wxString &name,
double lat,
136RoutePoint *WaypointExistsByGUID(
const wxString &guid);
137Route *RouteExists(
const wxString &guid);
139Track *TrackExists(
const wxString &guid);
140int BackupDatabase(wxWindow *parent);
141void ExportGPX(wxWindow *parent,
bool bviz_only =
false,
bool blayer =
false);
142void UI_ImportGPX(wxWindow *parent,
bool islayer =
false, wxString dirpath =
"",
143 bool isdirectory =
true,
bool isPersistent =
false);
145bool ExportGPXRoutes(wxWindow *parent, RouteList *pRoutes,
146 const wxString suggestedName =
"routes");
147bool ExportGPXTracks(wxWindow *parent, std::vector<Track *> *pRoutes,
148 const wxString suggestedName =
"tracks");
149bool ExportGPXWaypoints(wxWindow *parent, RoutePointList *pRoutePoints,
150 const wxString suggestedName =
"waypoints");
151void ImportFileArray(
const wxArrayString &file_array,
bool islayer,
152 bool isPersistent, wxString dirpath);
158 return (2.0 / 100) *
static_cast<double>(slider_pos) + 1.02;
163 return std::round((100.0 * (
static_cast<double>(value) - 1.02)) / 2.0);
172 MyConfig(
const wxString &LocalFileName);
176 void LoadS57Config();
178 virtual void CreateConfigGroups(ChartGroupArray *pGroupArray);
179 virtual void DestroyConfigGroups(
void);
180 virtual void LoadConfigGroups(ChartGroupArray *pGroupArray);
182 virtual void LoadCanvasConfigs(
bool bApplyAsTemplate =
false);
183 virtual void LoadConfigCanvas(
canvasConfig *cConfig,
bool bApplyAsTemplate);
185 virtual void SaveCanvasConfigs();
188 virtual bool UpdateChartDirs(ArrayOfCDI &dirarray);
189 virtual bool LoadChartDirArray(ArrayOfCDI &ChartDirArray);
190 virtual void UpdateSettings();
192 bool LoadLayers(wxString &path);
193 int LoadMyConfigRaw(
bool bAsTemplate =
false);
196 unsigned ReadUnsigned(
const wxString &key,
unsigned default_val);
199void SwitchInlandEcdisMode(
bool Switch);
Chart canvas configuration state
Basic chart info storage.
static int config_to_ui(double value)
Convert configuration 1.02..3.0 value to slider scale 1..100.
static double ui_to_config(int slider_pos)
Convert a slider scale 1-100 value to configuration value 1.02..3.0.
Represents a waypoint or mark within the navigation system.
Represents a navigational route in the navigation system.
Represents a track, which is a series of connected track points.
Encapsulates persistent canvas configuration.
Device context class that can use either wxDC or OpenGL for drawing.
wxDateTime toUsrDateTime(const wxDateTime ts, const int format, const double lon=INFINITY - INFINITY)
Converts a timestamp from UTC to the user's preferred time format.
MyConfig * pConfig
Global instance.
wxDateTime fromUsrDateTime(const wxDateTime ts, const int format, const double lon=INFINITY - INFINITY)
Converts a timestamp from a user's preferred time format to UTC.
Navigation Utility Functions without GUI dependencies.
Layer to use wxDC or opengl.
Waypoint or mark abstraction.
A single, selected generic item.
Recorded track abstraction.