1
0
Fork 0
fgdata/Nasal/canvas/map/route.model

27 lines
1.1 KiB
Text
Raw Normal View History

var RouteModel = {route_monitor:nil};
RouteModel.new = func make(LayerModel, RouteModel);
RouteModel.init = func {
me._view.reset();
if (!getprop("/autopilot/route-manager/active"))
print("Cannot draw route, route manager inactive!") and return;
print("TODO: route.model is still an empty stub, see route.draw instead");
## TODO: all the model stuff is still inside the draw file for now, this just ensures that it will be called once
foreach(var t; [nil] )
me.push(t);
me.notifyView();
#FIXME: segfault of the day: use this layer once without a route, and then with a route - and BOOM, need to investigate.
# TODO: should register a route manager listener here to update itself whenever the route/active WPT changes!
# also, if the layer is used in a dialog, the listener should be removed when the dialog is closed
if (me.route_monitor == nil) # FIXME: remove this listener durint reinit
me.route_monitor=setlistener("/autopilot/route-manager/active", func me.init() ); # this can probably be shared (singleton), because all canvases will be displaying same route ???
}