7ca8482b07
In time for 3.0. The API is still not fully complete, and not fully cleaned up, but this is good enough for this release cycle (and it should offer benefit longer term, if not now -- hopefully performance as well). Many thanks to Hooray as well, who has helped prepare things while I could not, and often suggested ideas.
39 lines
979 B
Text
39 lines
979 B
Text
# 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,
|
|
query_type:'vor',
|
|
};
|
|
return m;
|
|
};
|
|
var del = func() {
|
|
#print("VOR.lcontroller.del()");
|
|
foreach (var l; me.listeners)
|
|
removelistener(l);
|
|
};
|
|
|
|
var searchCmd = func {
|
|
#print("Running query: WPT");
|
|
|
|
var fp = flightplan();
|
|
var fpSize = fp.getPlanSize();
|
|
var result = [];
|
|
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
|
|
};
|
|
|