93 std::function<bool()> confirm_delete_ais_mob;
94 std::function<wxColour(wxString)> get_global_colour;
95 std::function<void()> show_with_fresh_fonts;
96 std::function<void()> clear_console_background;
97 std::function<void()> route_mgr_dlg_update_list_ctrl;
100 : confirm_delete_ais_mob([]() {
return true; }),
101 get_global_colour([](wxString c) {
return *wxBLACK; }),
102 show_with_fresh_fonts([]() {}),
103 clear_console_background([]() {}),
104 route_mgr_dlg_update_list_ctrl([]() {}) {}
119 bool DeleteTrack(
Track *pTrack);
121 void DeleteAllRoutes();
123 bool IsRouteValid(
Route *pRoute);
124 bool IsRouteInList(
Route *pRoute);
126 Route *FindRouteByGUID(
const wxString &guid);
127 Track *FindTrackByGUID(
const wxString &guid);
129 Route *FindRouteContainingWaypoint(
const std::string &guid);
144 bool DoesRouteContainSharedPoints(
Route *pRoute);
145 void RemovePointFromRoute(
RoutePoint *point,
Route *route,
int route_state);
209 double cog,
double sog);
211 bool UpdateAutopilot();
212 bool DeactivateRoute(
bool b_arrival =
false);
213 bool IsAnyRouteActive(
void) {
return (pActiveRoute != NULL); }
214 bool GetArrival() {
return m_bArrival; }
216 Route *GetpActiveRoute() {
return pActiveRoute; }
217 RoutePoint *GetpActiveRouteSegmentBeginPoint() {
218 return pActiveRouteSegmentBeginPoint;
221 RoutePoint *GetpActivePoint() {
return pActivePoint; }
222 double GetCurrentRngToActivePoint() {
return CurrentRngToActivePoint; }
223 double GetCurrentBrgToActivePoint() {
return CurrentBrgToActivePoint; }
224 double GetCurrentRngToActiveNormalArrival() {
225 return CurrentRangeToActiveNormalCrossing;
227 double GetCurrentXTEToActivePoint() {
return CurrentXTEToActivePoint; }
228 void ZeroCurrentXTEToActivePoint();
229 double GetCurrentSegmentCourse() {
return CurrentSegmentCourse; }
230 int GetXTEDir() {
return XTEDir; }
232 void SetColorScheme(ColorScheme cs,
double displayDPmm);
233 wxPen *GetRoutePen(
void) {
return m_pRoutePen; }
234 wxPen *GetTrackPen(
void) {
return m_pTrackPen; }
235 wxPen *GetSelectedRoutePen(
void) {
return m_pSelectedRoutePen; }
236 wxPen *GetActiveRoutePen(
void) {
return m_pActiveRoutePen; }
237 wxPen *GetActiveRoutePointPen(
void) {
return m_pActiveRoutePointPen; }
238 wxPen *GetRoutePointPen(
void) {
return m_pRoutePointPen; }
239 wxBrush *GetRouteBrush(
void) {
return m_pRouteBrush; }
240 wxBrush *GetSelectedRouteBrush(
void) {
return m_pSelectedRouteBrush; }
241 wxBrush *GetActiveRouteBrush(
void) {
return m_pActiveRouteBrush; }
242 wxBrush *GetActiveRoutePointBrush(
void) {
return m_pActiveRoutePointBrush; }
243 wxBrush *GetRoutePointBrush(
void) {
return m_pRoutePointBrush; }
245 wxString GetRouteReverseMessage(
void);
246 wxString GetRouteResequenceMessage(
void);
247 struct RoutemanDlgCtx &GetDlgContext() {
return m_route_dlg_ctx; }
248 NMEA0183 GetNMEA0183() {
return m_NMEA0183; }
250 std::vector<DriverHandle> GetOutpuDriverArray() {
return m_output_drivers; }
268 double RouteBrgToActivePoint;
269 double CurrentSegmentBeginLat;
270 double CurrentSegmentBeginLon;
271 double CurrentRngToActivePoint;
272 double CurrentBrgToActivePoint;
273 double CurrentXTEToActivePoint;
274 double CourseToRouteSegment;
275 double CurrentRangeToActiveNormalCrossing;
278 double CurrentSegmentCourse;
283 wxPen *m_pSelectedRoutePen;
284 wxPen *m_pActiveRoutePen;
285 wxPen *m_pActiveRoutePointPen;
286 wxPen *m_pRoutePointPen;
287 wxBrush *m_pRouteBrush;
288 wxBrush *m_pSelectedRouteBrush;
289 wxBrush *m_pActiveRouteBrush;
290 wxBrush *m_pActiveRoutePointBrush;
291 wxBrush *m_pRoutePointBrush;
295 double m_arrival_min;
300 obs::Listener msg_sent_listener;
301 obs::Listener active_route_listener;
302 std::vector<DriverHandle> m_output_drivers;
303 bool m_have_n0183_out;
304 bool m_have_n2000_out;
319 wxBitmap *GetIconBitmap(
const wxString &icon_key)
const;
320 bool GetIconPrescaled(
const wxString &icon_key)
const;
321 int GetIconIndex(
const wxBitmap *pbm)
const;
322 int GetIconImageListIndex(
const wxBitmap *pbm)
const;
330 int GetNumIcons(
void) {
return m_pIconArray->Count(); }
332 RoutePoint *FindWaypointByGuid(
const std::string &guid);
333 RoutePoint *GetNearbyWaypoint(
double lat,
double lon,
double radius_meters);
334 RoutePoint *GetOtherNearbyWaypoint(
double lat,
double lon,
335 double radius_meters,
336 const wxString &guid);
338 bool SharedWptsExist();
339 void DeleteAllWaypoints(
bool b_delete_used);
340 RoutePoint *FindRoutePointByGUID(
const wxString &guid);
341 void DestroyWaypoint(
RoutePoint *pRp,
bool b_update_changeset =
true);
342 void ClearRoutePointFonts(
void);
344 bool DoesIconExist(
const wxString &icon_key)
const;
345 wxBitmap GetIconBitmapForList(
int index,
int height)
const;
346 wxString *GetIconDescription(
int index)
const;
347 wxString *GetIconKey(
int index)
const;
348 wxString GetIconDescription(wxString icon_key)
const;
350 wxImageList *Getpmarkicon_image_list(
int nominal_height);
366 const RoutePointList *GetWaypointList(
void) {
return m_pWayPointList; }
369 wxImage CreateDimImage(wxImage &image,
double factor);
371 RoutePointList *m_pWayPointList;
372 wxBitmap *CreateDimBitmap(wxBitmap *pBitmap,
double factor);
374 wxImageList *pmarkicon_image_list;
376 int m_markicon_image_list_base_count;
377 ArrayOfMarkIcon *m_pIconArray;
380 double m_iconListScale;
382 SortedArrayOfMarkIcon *m_pLegacyIconArray;
383 SortedArrayOfMarkIcon *m_pExtendedIconArray;
385 int m_bitmapSizeForList;
386 int m_iconListHeight;
388 GlobalColourFunc m_get_global_colour;