1
0
Fork 0
A320-family/Models/Instruments/ND/canvas/map/DEBUG.lcontroller

72 lines
2 KiB
Text
Raw Normal View History

2019-10-14 16:48:35 +00:00
# See: http://wiki.flightgear.org/MapStructure
# Class things:
var name = 'DEBUG';
var parents = [canvas.SymbolLayer.Controller];
var __self__ = caller(0)[0];
canvas.SymbolLayer.Controller.add(name, __self__);
canvas.SymbolLayer.add(name, {
parents: [canvas.MultiSymbolLayer],
type: name, # Symbol type
df_controller: __self__, # controller to use by default -- this one
df_options: {
update_t : 'autopilot/route-manager/debug/update_t',
listen: ['update_t']
},
df_style: {
default_color: [1,0,0],
}
});
var new = func(layer) {
var m = {
parents: [__self__],
layer: layer,
map: layer.map,
listeners: [],
};
layer.searcher._equals = func(a,b) a.equals(b);
return m;
};
var del = func() {
foreach (var l; me.listeners)
removelistener(l);
};
var searchCmd = func {
var result = [];
#return result;
var node = me['node'];
if (node == nil) {
node = props.globals.getNode('autopilot/route-manager/debug/', 1);
me.node = node;
}
var points = me.node.getNode('points', 1).getChildren();
#var count = getprop('autopilot/route-manager/debug/num') or 0;
var count = size(points);
#print('Map DEBUG: querying '~ count ~' results.');
for(var idx = 0; idx < count; idx += 1){
var point = points[idx];
#var id = getprop('autopilot/route-manager/debug/point['~idx~']/id');
#var lat = getprop('autopilot/route-manager/debug/point['~idx~']/lat');
#var lon = getprop('autopilot/route-manager/debug/point['~idx~']/lon');
var id = point.getValue('id');
var lat = point.getValue('lat');
var lon = point.getValue('lon');
if (id == nil or id == '') continue;
#print('Map DEBUG: found '~ id ~' debug point.');
var model = {
id: id,
lat: lat,
lon: lon,
equals: func(o){
me.id == o.id and me.lat == o.lat and me.lon == o.lon
}
};
append(result, model);
}
return result;
}