1
0
Fork 0
fgdata/Nasal/canvas/map/DME.lcontroller

57 lines
1.5 KiB
Text

# See: http://wiki.flightgear.org/MapStructure
# Class things:
var name = 'DME';
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
df_style: {
line_width: 3,
scale_factor: 1,
animation_test: 0,
debug: 1,
color_default: [0,0.6,0.85],
color_tuned: [0,1,0],
}
});
var new = func(layer) {
var m = {
parents: [__self__],
layer: layer,
map: layer.map,
listeners: [],
query_type:'dme',
};
##
# default styling parameters - can be overridden via addLayer( style:{key:value, ...} )
if (contains(m.layer,'style')) return m; # we already have a proper style
# otherwise, set up a default style:
m.layer.style={};
m.layer.style.debug = 0; # HACK: setting this enables benchmarking and printlog statements
m.layer.style.animation_test = 0;
# these are used by the draw() routines, see DME.symbol
m.layer.style.scale_factor = 1.0 ; # applied to the whole group for now
m.layer.style.line_width = 3.0;
m.layer.style.color_tuned = [0,1,0];
m.layer.style.color_default = [0,0.6,0.85];
return m;
};
var del = func() {
foreach (var l; me.listeners)
removelistener(l);
};
var searchCmd = func {
printlog(_MP_dbg_lvl, "Running query:", me.query_type);
var range = me.map.getRange();
if (range == nil) return;
return positioned.findWithinRange(me.map.getPosCoord(), range, me.query_type);
};