25#ifndef _ROUTE_CTX_FACTORY_H__
26#define _ROUTE_CTX_FACTORY_H__
30#include "model/nav_object_database.h"
31#include "model/routeman.h"
32#include "model/track.h"
36extern std::vector<Track*> g_TrackList;
40 ctx.find_route_by_guid = [](wxString guid) {
41 if (!g_pRouteMan)
return static_cast<Route*
>(0);
42 return g_pRouteMan->FindRouteByGUID(guid);
44 ctx.find_track_by_guid = [](wxString guid) {
45 if (!g_pRouteMan)
return static_cast<Track*
>(0);
46 return g_pRouteMan->FindTrackByGUID(guid);
48 ctx.find_wpt_by_guid = [](wxString guid) {
49 if (!pWayPointMan)
return static_cast<RoutePoint*
>(0);
50 return pWayPointMan->FindWaypointByGuid(guid.ToStdString());
52 ctx.delete_route = [](
Route* route) {
53 if (!g_pRouteMan)
return;
54 g_pRouteMan->
DeleteRoute(route, NavObjectChanges::getInstance());
56 ctx.delete_track = [](
Track* track) {
57 auto it = std::find(g_TrackList.begin(), g_TrackList.end(), track);
58 if (it != g_TrackList.end()) {
59 g_TrackList.erase(it);
64 if (!pWayPointMan)
return;
65 pWayPointMan->DestroyWaypoint(wpt);
Callbacks for handling routes and tracks.
bool DeleteRoute(Route *pRoute, NavObjectChanges *nav_obj_changes)
Represents a track, which is a series of connected track points.