# See: http://wiki.flightgear.org/MapStructure
# Class things:
var name = 'ALT-profile';
var parents = [SymbolLayer.Controller];
var __self__ = caller(0)[0];
SymbolLayer.Controller.add(name, __self__);
SymbolLayer.add(name, {
	parents: [MultiSymbolLayer],
	type: name, # Symbol type
	df_controller: __self__, # controller to use by default -- this one
	df_options: { # default configuration options
		fplan_active: "/autopilot/route-manager/active",
		vnav_node: "/autopilot/route-manager/vnav/",
		types: ["tc", "td", "ec", "ed","sc", "sd"],
	}
});
var new = func(layer) {
	var m = {
		parents: [__self__],
		layer: layer,
		map: layer.map,
		listeners: [],
	};
	layer.searcher._equals = func(a,b) a.getName() == b.getName();
	append(m.listeners, setlistener(layer.options.fplan_active,
									func m.layer.update() ));
	m.addVisibilityListener();

	return m;
};
var del = func() {
	foreach (var l; me.listeners)
		removelistener(l);
};

var searchCmd = func {
	var results = [];
	var symNode = props.globals.getNode(me.layer.options.vnav_node);
	if (symNode != nil)
		foreach (var t; me.layer.options.types) {
			var n = symNode.getNode(t);
			if (n != nil)
				append(results, n);
		}
	return results;
}