96 std::function<bool()> confirm_delete_ais_mob;
97 std::function<wxColour(wxString)> get_global_colour;
98 std::function<void()> show_with_fresh_fonts;
99 std::function<void()> clear_console_background;
100 std::function<void()> route_mgr_dlg_update_list_ctrl;
103 : confirm_delete_ais_mob([]() {
return true; }),
104 get_global_colour([](wxString c) {
return *wxBLACK; }),
105 show_with_fresh_fonts([]() {}),
106 clear_console_background([]() {}),
107 route_mgr_dlg_update_list_ctrl([]() {}) {}
122 bool DeleteTrack(
Track *pTrack);
126 bool IsRouteValid(
Route *pRoute);
128 Route *FindRouteByGUID(
const wxString &guid);
129 Track *FindTrackByGUID(
const wxString &guid);
132 wxArrayPtrVoid *GetRouteArrayContaining(
RoutePoint *pWP);
133 bool DoesRouteContainSharedPoints(
Route *pRoute);
134 void RemovePointFromRoute(
RoutePoint *point,
Route *route,
int route_state);
136 bool ActivateRoute(
Route *pRouteToActivate,
RoutePoint *pStartPoint = NULL);
140 double cog,
double sog);
142 bool UpdateAutopilot();
143 bool DeactivateRoute(
bool b_arrival =
false);
144 bool IsAnyRouteActive(
void) {
return (pActiveRoute != NULL); }
145 bool GetArrival() {
return m_bArrival; }
147 Route *GetpActiveRoute() {
return pActiveRoute; }
148 RoutePoint *GetpActiveRouteSegmentBeginPoint() {
149 return pActiveRouteSegmentBeginPoint;
152 RoutePoint *GetpActivePoint() {
return pActivePoint; }
153 double GetCurrentRngToActivePoint() {
return CurrentRngToActivePoint; }
154 double GetCurrentBrgToActivePoint() {
return CurrentBrgToActivePoint; }
155 double GetCurrentRngToActiveNormalArrival() {
156 return CurrentRangeToActiveNormalCrossing;
158 double GetCurrentXTEToActivePoint() {
return CurrentXTEToActivePoint; }
159 void ZeroCurrentXTEToActivePoint();
160 double GetCurrentSegmentCourse() {
return CurrentSegmentCourse; }
161 int GetXTEDir() {
return XTEDir; }
163 void SetColorScheme(ColorScheme cs,
double displayDPmm);
164 wxPen *GetRoutePen(
void) {
return m_pRoutePen; }
165 wxPen *GetTrackPen(
void) {
return m_pTrackPen; }
166 wxPen *GetSelectedRoutePen(
void) {
return m_pSelectedRoutePen; }
167 wxPen *GetActiveRoutePen(
void) {
return m_pActiveRoutePen; }
168 wxPen *GetActiveRoutePointPen(
void) {
return m_pActiveRoutePointPen; }
169 wxPen *GetRoutePointPen(
void) {
return m_pRoutePointPen; }
170 wxBrush *GetRouteBrush(
void) {
return m_pRouteBrush; }
171 wxBrush *GetSelectedRouteBrush(
void) {
return m_pSelectedRouteBrush; }
172 wxBrush *GetActiveRouteBrush(
void) {
return m_pActiveRouteBrush; }
173 wxBrush *GetActiveRoutePointBrush(
void) {
return m_pActiveRoutePointBrush; }
174 wxBrush *GetRoutePointBrush(
void) {
return m_pRoutePointBrush; }
176 wxString GetRouteReverseMessage(
void);
177 wxString GetRouteResequenceMessage(
void);
178 struct RoutemanDlgCtx &GetDlgContext() {
return m_route_dlg_ctx; }
179 NMEA0183 GetNMEA0183() {
return m_NMEA0183; }
180 NmeaLog &GetNmeaLog() {
return m_nmea_log; }
182 std::vector<DriverHandle> GetOutpuDriverArray() {
return m_output_drivers; }
203 double RouteBrgToActivePoint;
204 double CurrentSegmentBeginLat;
205 double CurrentSegmentBeginLon;
206 double CurrentRngToActivePoint;
207 double CurrentBrgToActivePoint;
208 double CurrentXTEToActivePoint;
209 double CourseToRouteSegment;
210 double CurrentRangeToActiveNormalCrossing;
213 double CurrentSegmentCourse;
218 wxPen *m_pSelectedRoutePen;
219 wxPen *m_pActiveRoutePen;
220 wxPen *m_pActiveRoutePointPen;
221 wxPen *m_pRoutePointPen;
222 wxBrush *m_pRouteBrush;
223 wxBrush *m_pSelectedRouteBrush;
224 wxBrush *m_pActiveRouteBrush;
225 wxBrush *m_pActiveRoutePointBrush;
226 wxBrush *m_pRoutePointBrush;
230 double m_arrival_min;
238 std::vector<DriverHandle> m_output_drivers;
239 bool m_have_n0183_out;
240 bool m_have_n2000_out;
255 wxBitmap *GetIconBitmap(
const wxString &icon_key)
const;
256 bool GetIconPrescaled(
const wxString &icon_key)
const;
257 int GetIconIndex(
const wxBitmap *pbm)
const;
258 int GetIconImageListIndex(
const wxBitmap *pbm)
const;
266 int GetNumIcons(
void) {
return m_pIconArray->Count(); }
268 RoutePoint *FindWaypointByGuid(
const std::string &guid);
269 RoutePoint *GetNearbyWaypoint(
double lat,
double lon,
double radius_meters);
270 RoutePoint *GetOtherNearbyWaypoint(
double lat,
double lon,
271 double radius_meters,
272 const wxString &guid);
274 bool SharedWptsExist();
275 void DeleteAllWaypoints(
bool b_delete_used);
276 RoutePoint *FindRoutePointByGUID(
const wxString &guid);
277 void DestroyWaypoint(
RoutePoint *pRp,
bool b_update_changeset =
true);
278 void ClearRoutePointFonts(
void);
280 bool DoesIconExist(
const wxString &icon_key)
const;
281 wxBitmap GetIconBitmapForList(
int index,
int height)
const;
282 wxString *GetIconDescription(
int index)
const;
283 wxString *GetIconKey(
int index)
const;
284 wxString GetIconDescription(wxString icon_key)
const;
286 wxImageList *Getpmarkicon_image_list(
int nominal_height);
302 const RoutePointList *GetWaypointList(
void) {
return m_pWayPointList; }
305 wxImage CreateDimImage(wxImage &image,
double factor);
307 RoutePointList *m_pWayPointList;
308 wxBitmap *CreateDimBitmap(wxBitmap *pBitmap,
double factor);
310 wxImageList *pmarkicon_image_list;
312 int m_markicon_image_list_base_count;
313 ArrayOfMarkIcon *m_pIconArray;
316 double m_iconListScale;
318 SortedArrayOfMarkIcon *m_pLegacyIconArray;
319 SortedArrayOfMarkIcon *m_pExtendedIconArray;
321 int m_bitmapSizeForList;
322 int m_iconListHeight;
324 GlobalColourFunc m_get_global_colour;