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 *WaypointExists(
const wxString &name,
double lat,
double lon);
135RoutePoint *WaypointExists(
const wxString &guid);
136Route *RouteExists(
const wxString &guid);
138Track *TrackExists(
const wxString &guid);
139int BackupDatabase(wxWindow *parent);
140void ExportGPX(wxWindow *parent,
bool bviz_only =
false,
bool blayer =
false);
141void UI_ImportGPX(wxWindow *parent,
bool islayer =
false, wxString dirpath =
"",
142 bool isdirectory =
true,
bool isPersistent =
false);
144bool ExportGPXRoutes(wxWindow *parent, RouteList *pRoutes,
145 const wxString suggestedName =
"routes");
146bool ExportGPXTracks(wxWindow *parent, std::vector<Track *> *pRoutes,
147 const wxString suggestedName =
"tracks");
148bool ExportGPXWaypoints(wxWindow *parent, RoutePointList *pRoutePoints,
149 const wxString suggestedName =
"waypoints");
150void ImportFileArray(
const wxArrayString &file_array,
bool islayer,
151 bool isPersistent, wxString dirpath);
157 return (2.0 / 100) *
static_cast<double>(slider_pos) + 1.02;
162 return std::round((100.0 * (
static_cast<double>(value) - 1.02)) / 2.0);
171 MyConfig(
const wxString &LocalFileName);
175 void LoadS57Config();
177 virtual void CreateConfigGroups(ChartGroupArray *pGroupArray);
178 virtual void DestroyConfigGroups(
void);
179 virtual void LoadConfigGroups(ChartGroupArray *pGroupArray);
181 virtual void LoadCanvasConfigs(
bool bApplyAsTemplate =
false);
182 virtual void LoadConfigCanvas(
canvasConfig *cConfig,
bool bApplyAsTemplate);
184 virtual void SaveCanvasConfigs();
187 virtual bool UpdateChartDirs(ArrayOfCDI &dirarray);
188 virtual bool LoadChartDirArray(ArrayOfCDI &ChartDirArray);
189 virtual void UpdateSettings();
191 bool LoadLayers(wxString &path);
192 int LoadMyConfigRaw(
bool bAsTemplate =
false);
195 unsigned ReadUnsigned(
const wxString &key,
unsigned default_val);
198void 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.