2014-04-29 02:26:32 +00:00
|
|
|
# See: http://wiki.flightgear.org/MapStructure
|
2014-01-10 03:04:36 +00:00
|
|
|
# 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
|
2014-04-29 02:26:32 +00:00
|
|
|
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],
|
|
|
|
}
|
2014-01-10 03:04:36 +00:00
|
|
|
});
|
|
|
|
var new = func(layer) {
|
|
|
|
var m = {
|
|
|
|
parents: [__self__],
|
|
|
|
layer: layer,
|
2014-04-29 02:26:32 +00:00
|
|
|
map: layer.map,
|
2014-01-10 03:04:36 +00:00
|
|
|
listeners: [],
|
|
|
|
query_type:'dme',
|
|
|
|
};
|
2014-04-29 02:26:32 +00:00
|
|
|
##
|
|
|
|
# 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];
|
|
|
|
|
2014-01-10 03:04:36 +00:00
|
|
|
return m;
|
|
|
|
};
|
|
|
|
var del = func() {
|
|
|
|
foreach (var l; me.listeners)
|
|
|
|
removelistener(l);
|
|
|
|
};
|
|
|
|
|
|
|
|
var searchCmd = func {
|
2014-04-29 02:26:32 +00:00
|
|
|
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);
|
2014-01-10 03:04:36 +00:00
|
|
|
};
|
|
|
|
|