97 std::function<bool()> confirm_delete_ais_mob;
98 std::function<wxColour(wxString)> get_global_colour;
99 std::function<void()> show_with_fresh_fonts;
100 std::function<void()> clear_console_background;
101 std::function<void()> route_mgr_dlg_update_list_ctrl;
104 : confirm_delete_ais_mob([]() {
return true; }),
105 get_global_colour([](wxString c) {
return *wxBLACK; }),
106 show_with_fresh_fonts([]() {}),
107 clear_console_background([]() {}),
108 route_mgr_dlg_update_list_ctrl([]() {}) {}
123 bool DeleteTrack(
Track *pTrack);
127 bool IsRouteValid(
Route *pRoute);
129 Route *FindRouteByGUID(
const wxString &guid);
130 Track *FindTrackByGUID(
const wxString &guid);
146 bool DoesRouteContainSharedPoints(
Route *pRoute);
147 void RemovePointFromRoute(
RoutePoint *point,
Route *route,
int route_state);
211 double cog,
double sog);
213 bool UpdateAutopilot();
214 bool DeactivateRoute(
bool b_arrival =
false);
215 bool IsAnyRouteActive(
void) {
return (pActiveRoute != NULL); }
216 bool GetArrival() {
return m_bArrival; }
218 Route *GetpActiveRoute() {
return pActiveRoute; }
219 RoutePoint *GetpActiveRouteSegmentBeginPoint() {
220 return pActiveRouteSegmentBeginPoint;
223 RoutePoint *GetpActivePoint() {
return pActivePoint; }
224 double GetCurrentRngToActivePoint() {
return CurrentRngToActivePoint; }
225 double GetCurrentBrgToActivePoint() {
return CurrentBrgToActivePoint; }
226 double GetCurrentRngToActiveNormalArrival() {
227 return CurrentRangeToActiveNormalCrossing;
229 double GetCurrentXTEToActivePoint() {
return CurrentXTEToActivePoint; }
230 void ZeroCurrentXTEToActivePoint();
231 double GetCurrentSegmentCourse() {
return CurrentSegmentCourse; }
232 int GetXTEDir() {
return XTEDir; }
234 void SetColorScheme(ColorScheme cs,
double displayDPmm);
235 wxPen *GetRoutePen(
void) {
return m_pRoutePen; }
236 wxPen *GetTrackPen(
void) {
return m_pTrackPen; }
237 wxPen *GetSelectedRoutePen(
void) {
return m_pSelectedRoutePen; }
238 wxPen *GetActiveRoutePen(
void) {
return m_pActiveRoutePen; }
239 wxPen *GetActiveRoutePointPen(
void) {
return m_pActiveRoutePointPen; }
240 wxPen *GetRoutePointPen(
void) {
return m_pRoutePointPen; }
241 wxBrush *GetRouteBrush(
void) {
return m_pRouteBrush; }
242 wxBrush *GetSelectedRouteBrush(
void) {
return m_pSelectedRouteBrush; }
243 wxBrush *GetActiveRouteBrush(
void) {
return m_pActiveRouteBrush; }
244 wxBrush *GetActiveRoutePointBrush(
void) {
return m_pActiveRoutePointBrush; }
245 wxBrush *GetRoutePointBrush(
void) {
return m_pRoutePointBrush; }
247 wxString GetRouteReverseMessage(
void);
248 wxString GetRouteResequenceMessage(
void);
249 struct RoutemanDlgCtx &GetDlgContext() {
return m_route_dlg_ctx; }
250 NMEA0183 GetNMEA0183() {
return m_NMEA0183; }
251 NmeaLog *GetNmeaLog() {
return m_nmea_log; }
253 std::vector<DriverHandle> GetOutpuDriverArray() {
return m_output_drivers; }
274 double RouteBrgToActivePoint;
275 double CurrentSegmentBeginLat;
276 double CurrentSegmentBeginLon;
277 double CurrentRngToActivePoint;
278 double CurrentBrgToActivePoint;
279 double CurrentXTEToActivePoint;
280 double CourseToRouteSegment;
281 double CurrentRangeToActiveNormalCrossing;
284 double CurrentSegmentCourse;
289 wxPen *m_pSelectedRoutePen;
290 wxPen *m_pActiveRoutePen;
291 wxPen *m_pActiveRoutePointPen;
292 wxPen *m_pRoutePointPen;
293 wxBrush *m_pRouteBrush;
294 wxBrush *m_pSelectedRouteBrush;
295 wxBrush *m_pActiveRouteBrush;
296 wxBrush *m_pActiveRoutePointBrush;
297 wxBrush *m_pRoutePointBrush;
301 double m_arrival_min;
309 std::vector<DriverHandle> m_output_drivers;
310 bool m_have_n0183_out;
311 bool m_have_n2000_out;
326 wxBitmap *GetIconBitmap(
const wxString &icon_key)
const;
327 bool GetIconPrescaled(
const wxString &icon_key)
const;
328 int GetIconIndex(
const wxBitmap *pbm)
const;
329 int GetIconImageListIndex(
const wxBitmap *pbm)
const;
337 int GetNumIcons(
void) {
return m_pIconArray->Count(); }
339 RoutePoint *FindWaypointByGuid(
const std::string &guid);
340 RoutePoint *GetNearbyWaypoint(
double lat,
double lon,
double radius_meters);
341 RoutePoint *GetOtherNearbyWaypoint(
double lat,
double lon,
342 double radius_meters,
343 const wxString &guid);
345 bool SharedWptsExist();
346 void DeleteAllWaypoints(
bool b_delete_used);
347 RoutePoint *FindRoutePointByGUID(
const wxString &guid);
348 void DestroyWaypoint(
RoutePoint *pRp,
bool b_update_changeset =
true);
349 void ClearRoutePointFonts(
void);
351 bool DoesIconExist(
const wxString &icon_key)
const;
352 wxBitmap GetIconBitmapForList(
int index,
int height)
const;
353 wxString *GetIconDescription(
int index)
const;
354 wxString *GetIconKey(
int index)
const;
355 wxString GetIconDescription(wxString icon_key)
const;
357 wxImageList *Getpmarkicon_image_list(
int nominal_height);
373 const RoutePointList *GetWaypointList(
void) {
return m_pWayPointList; }
376 wxImage CreateDimImage(wxImage &image,
double factor);
378 RoutePointList *m_pWayPointList;
379 wxBitmap *CreateDimBitmap(wxBitmap *pBitmap,
double factor);
381 wxImageList *pmarkicon_image_list;
383 int m_markicon_image_list_base_count;
384 ArrayOfMarkIcon *m_pIconArray;
387 double m_iconListScale;
389 SortedArrayOfMarkIcon *m_pLegacyIconArray;
390 SortedArrayOfMarkIcon *m_pExtendedIconArray;
392 int m_bitmapSizeForList;
393 int m_iconListHeight;
395 GlobalColourFunc m_get_global_colour;