# See: http://wiki.flightgear.org/MapStructure # Class things: var name = 'WPT'; var parents = [Symbol.Controller]; var __self__ = caller(0)[0]; Symbol.Controller.add(name, __self__); Symbol.registry[ name ].df_controller = __self__; var last_idx = nil; var new = func(symbol, model) { var m = { parents:[__self__], listeners: [], symbol: symbol, model: model, }; append(m.listeners, setlistener(symbol.layer.options.current_wp_node, func(n) { var n = n.getValue(); if (m.last_idx == model.idx or n == model.idx) symbol.update(); m.last_idx = n; }, 0, 0)); m.last_idx = getprop(symbol.layer.options.current_wp_node); return m; } var del = func() { foreach (var l; me.listeners) removelistener(l); }