[prev in list] [next in list] [prev in thread] [next in thread]
List: flightgear-cvs
Subject: [Flightgear-cvslogs] CVS: data/Nasal view.nas,1.45,1.46
From: Melchior Franz <mfranz () baron ! flightgear ! org>
Date: 2009-01-31 10:24:11
Message-ID: 200901311024.n0VAOB8l008403 () baron ! flightgear ! org
[Download RAW message or body]
Update of /var/cvs/FlightGear-0.9/data/Nasal
In directory baron.flightgear.org:/tmp/cvs-serv8390
Modified Files:
view.nas
Log Message:
model_view: remove stale/invalid entries
Index: view.nas
===================================================================
RCS file: /var/cvs/FlightGear-0.9/data/Nasal/view.nas,v
retrieving revision 1.45
retrieving revision 1.46
diff -C 2 -r1.45 -r1.46
*** view.nas 30 Jan 2009 15:22:17 -0000 1.45
--- view.nas 31 Jan 2009 10:24:08 -0000 1.46
***************
*** 326,330 ****
init: func(node) {
me.viewN = node;
- me.models = {};
me.list = [];
me.current = 0;
--- 326,329 ----
***************
*** 334,373 ****
start: func {
me.lnr = [];
! append(me.lnr, setlistener("/ai/models/model-added", func(n) {
! n = props.globals.getNode(n.getValue(), 1);
! var name = n.getName();
! if (name == "multiplayer"
! # or name == "aircraft"
! # or name == "carrier"
! # or name == "tanker"
! ) {
! me.models[n.getPath()] = { node: n, id: "" };
! me.list = sort(keys(me.models), string.icmp);
! me.scan_ident(n);
! }
! }));
!
! append(me.lnr, setlistener("/ai/models/model-removed", func(n) {
! n = props.globals.getNode(n.getValue(), 1);
! delete(me.models, n.getPath());
! me.list = sort(keys(me.models), string.icmp);
! }));
!
! me.models = { "": { node: props.globals, id: '[' ~ getprop("/sim/multiplay/callsign") ~ ']' } };
! var ai = props.globals.getNode("/ai/models", 1);
! foreach (var n; ai.getChildren("multiplayer")
! #~ ai.getChildren("aircraft")
! #~ ai.getChildren("carrier")
! #~ ai.getChildren("tanker"
! )
! setprop("/ai/models/model-added", n.getPath());
!
me.active = 1;
me.reset();
fgcommand("dialog-show", props.Node.new({ "dialog-name": "model-view" }));
},
scan_ident: func(n) {
if ((var cs = n.getNode("callsign")) == nil or !(cs = cs.getValue()))
! return settimer(func me.scan_ident(n), 2);
var path = n.getPath();
if (contains(me.models, path)) {
--- 333,365 ----
start: func {
me.lnr = [];
! append(me.lnr, setlistener("/ai/models/model-added", func me.update_list()));
! append(me.lnr, setlistener("/ai/models/model-removed", func me.update_list()));
! me.update_list();
me.active = 1;
me.reset();
fgcommand("dialog-show", props.Node.new({ "dialog-name": "model-view" }));
},
+ stop: func {
+ fgcommand("dialog-close", props.Node.new({ "dialog-name": "model-view" }));
+ me.active = 0;
+ foreach (var l; me.lnr)
+ removelistener(l);
+ },
+ reset: func {
+ me.next(me.current = 0);
+ },
+ update_list: func {
+ me.models = { "/": { node: props.globals, id: "[" ~ getprop("/sim/multiplay/callsign")~ "]" } };
+ foreach (var n; props.globals.getNode("/ai/models", 1).getChildren("multiplayer")) {
+ if (!n.getNode("valid", 1).getValue())
+ continue;
+ me.models[n.getPath()] = { node: n, id: "" };
+ me.scan_ident(n);
+ }
+ me.list = sort(keys(me.models), string.icmp);
+ },
scan_ident: func(n) {
if ((var cs = n.getNode("callsign")) == nil or !(cs = cs.getValue()))
! return settimer(func me.scan_ident(n, data), 1);
var path = n.getPath();
if (contains(me.models, path)) {
***************
*** 376,391 ****
}
},
- stop: func {
- fgcommand("dialog-close", props.Node.new({ "dialog-name": "model-view" }));
- me.active = 0;
- foreach (var listener; me.lnr)
- removelistener(listener);
- },
- reset: func {
- me.next(me.current = 0);
- },
next: func(v) {
me.legendN.setValue("");
! if (!me.active or !size(me.models))
return;
if (v)
--- 368,374 ----
}
},
next: func(v) {
me.legendN.setValue("");
! if (!me.active or size(me.models) < 1)
return;
if (v)
***************
*** 410,413 ****
--- 393,404 ----
me.legendN.setValue(me.models[path].id);
},
+ select: func(id) {
+ debug.dump(["select", id]);
+ forindex (var i; me.list)
+ if (me.models[me.list[i]].id == id)
+ me.current = i;
+ me.next(0);
+ me.next(i);
+ },
ident: func(n) {
var type = n.getName();
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Flightgear-cvslogs mailing list
Flightgear-cvslogs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-cvslogs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic