2014-01-10 03:04:36 +00:00
# Class things:
var name = 'WPT'; # for waypoints
var parents = [SymbolLayer.Controller];
var __self__ = caller(0)[0];
SymbolLayer.Controller.add(name, __self__);
SymbolLayer.add(name, {
parents: [SymbolLayer],
type: name, # Symbol type
df_controller: __self__, # controller to use by default -- this one
});
var new = func(layer) {
var m = {
parents: [__self__],
layer: layer,
listeners: [],
query_range_nm: 25,
};
return m;
};
var del = func() {
2014-01-27 02:18:30 +00:00
#print(name~"VOR.lcontroller.del()");
2014-01-10 03:04:36 +00:00
foreach (var l; me.listeners)
removelistener(l);
};
var searchCmd = func {
2014-01-27 02:18:30 +00:00
#print("Running query: "~name);
2014-01-10 03:04:36 +00:00
var fp = flightplan();
var fpSize = fp.getPlanSize();
2014-01-27 02:18:30 +00:00
var result = [];
2014-01-10 03:04:36 +00:00
for (var i = 1; i <fpSize; i+=1)
append(result, fp.getWP(i).path()[0] );
return result;
# return positioned.findWithinRange(me.query_range_nm, me.query_type); # the range should also be exposed, it will typically be controlled via a GUI widget or NavDisplay switch
};