Richard Harrison
32266ba928
Add comments for props.UpdateManager methods
2020-11-17 11:59:29 +01:00
Henning Stahlke
ed1deacce8
props.nas: add isValidPropName and makeValidPropName; add props.nut
2020-06-08 19:52:48 +01:00
Henning Stahlke
b5f00cb50e
replace typeof() by is<type>()
...
Signed-off-by: Stuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
2020-06-03 22:55:51 +01:00
Henning Stahlke
627530cf5b
props.nas prevent endless recursion in copy if destination is a subnode of source
2020-05-17 20:03:30 +01:00
Henning Stahlke
95d0aa032e
bugfixes for debug.nas and props.nas
2020-04-24 16:00:09 +02:00
Henning Stahlke
fba17e4d34
Replace printlog by logprint
2020-04-21 09:07:20 +02:00
Henning Stahlke
ed3568554d
Add toggleBool() to props.nas
2020-04-21 09:02:16 +02:00
Henning Stahlke
8f6fd3cb79
props.nas add adjustValue()
2020-04-16 16:25:20 +01:00
Henning Stahlke
b4eaa3e438
props.nas add increment and decrement for int props
2020-04-16 16:25:17 +01:00
Stuart Buchanan
01dc9d0b38
Add props.nas getDoubleValue(), getIntValue()
...
Also fixed an issue with whitespace around view parameters.
2019-09-22 21:14:07 +01:00
Henning Stahlke
406aa96ecf
props.nas add createNodeObjectsFromHash()
2019-05-05 20:00:44 +02:00
Henning Stahlke
74b0ef63c2
add resolveAlias() to props.nas
2019-02-12 18:35:10 +01:00
Richard Harrison
04adc76265
Better support for numeric properties in PropertyUpdateManager
2018-07-28 00:39:21 +02:00
Richard Harrison
bc71bf297e
Add Property / object update manager to props
...
Manage updates when a value has changed more than a predetermined amount. This makes updating displays (e.g. canvas), or performing actions based on a property (or value in a hash) changing by more than the preset amount.
2017-09-17 22:22:00 +02:00
Stuart Buchanan
2b072dd992
Use new C++ setValues/setChildren
...
Improve Nasal poperty access performance by
re-implementing props.nas functions in C++.
2017-08-06 21:16:26 +01:00
Thomas Geymayer
43f8ce0870
Add props.compileCondition to actually use exposed SGCondition.
2014-06-23 21:12:57 +02:00
Philosopher
807062d0b6
Misc. Nasal cleanup
2014-06-06 21:19:11 -05:00
Thomas Geymayer
4766ed21a6
Nasal: use new built-in props.Node.removeAllChildren()
...
This require less interaction between Nasal and C++ and
also does not need to create a list of removed children
which was not used anyway. Now it require about 70% less
time to execute.
2013-12-07 13:48:55 +01:00
Thomas Geymayer
d80722065f
Fix path validation (ensure listeners are attached to existing nodes)
2013-04-29 22:27:26 +02:00
Thomas Geymayer
7f1117a537
Use new props.addChildren method to speed up 'Select Aiport' dialog
2012-10-14 17:33:31 +02:00
Thomas Geymayer
a15d582937
Use newly exposed props.Node.addChild method
2012-10-13 15:20:27 +02:00
ThorstenB
ed5692f411
props.nas: allow "getBoolValue" to work with properties of UNSPECIFIED type.
2012-04-08 23:02:36 +02:00
Anders Gidenstam
6e5b38aebf
Nasal/props.nas: Added missing var keywords.
2012-03-23 22:29:35 +01:00
mfranz
e8a666c8e4
globals: cosmetics
...
props: initNode(): allow nil as first arg
2008-12-14 23:45:33 +00:00
mfranz
71f80dff34
initNode: add fourth optional parameter: "force", which enforces a type,
...
so n.initNode("whatever", 1 "BOOL", 1); will make node n a BOOL even
if it was "DOUBLE" before. Default: 0. An existing value will be retained,
though.
2008-12-04 11:30:44 +00:00
mfranz
8bf823c4fb
initNode: make path optional and let it default to "". This is allowed:
...
props.globals.getNode("sim/foo", 1).initNode(); and equivalent to
props.globals.getNode("sim").initNode("foo");
2008-12-03 20:53:00 +00:00
mfranz
acff4f55ab
add getAliasTarget() wrapper
2008-11-26 11:35:48 +00:00
mfranz
75470bf31d
Rename Node.clear() to Node.clearValue(), because that's the name that we
...
use on the C++ side.
2008-11-22 12:05:01 +00:00
mfranz
b3032f63c7
Add Node.clear() method, which resets a node to type "NONE" and value 'nil'.
...
This can be used to invalidate nodes and may be interesting for debugging
purposes. Use carefully!
2008-11-22 11:20:44 +00:00
mfranz
f263e693f2
remove deprecated (wrapper) function props.initNode()
2008-11-20 20:41:19 +00:00
mfranz
c74d6ee75e
- make props.initNode a props.Node method
...
- props.nas: some minor improvements
2008-11-20 19:45:40 +00:00
mfranz
81e967a609
nasal now returns constant and readable ghosttypes, so we do no longer
...
need the symbol table and comparison with the ghosttype of props._globals()
2008-11-13 12:00:23 +00:00
mfranz
c6cd898f64
- update comment to reflect alias()/unalias() addition
...
- minor improvements & cosmetics
2008-11-13 11:57:07 +00:00
mfranz
2aba6e7d80
Node: only wrap() functions that actually return property ghosts
2008-11-12 17:06:53 +00:00
mfranz
547770e30b
add alias()/unalias() wrapper methods
2008-11-12 14:43:41 +00:00
mfranz
5d576f0e3d
- gui.OverlaySelector: add optional sort criterion, add selection by index,
...
add next(), and previous() methods.
- aircraft.nas: deprecate formation class
2008-10-15 15:27:56 +00:00
mfranz
024842d9b9
indendation fix, drop a few braces (because we can :-)
2008-09-29 10:06:50 +00:00
mfranz
bb6b98b306
runBinding: support optional default namespace/module
2008-09-25 11:10:35 +00:00
mfranz
ba68b4f8eb
typo & consistency
2008-09-24 23:06:43 +00:00
mfranz
366792cf3d
add props.runBinding(<binding-node>) command
2008-09-24 20:03:06 +00:00
mfranz
917cace77c
string.nas: remove forgotten debug message
...
props.nas: replace some "arg[*]" by named args
aircraft.nas: load aircraft data only if the file exists (to avoid warning)
debug.nas: no space before colon & fixed comment & cosmetics
2008-08-14 22:13:25 +00:00
mfranz
238fce1d15
let initNode() initialize a property to double(0) by default
2008-06-04 20:41:44 +00:00
mfranz
8fe1cf807d
add initNode() function that initializes (if necessary) and returns a property.
...
If the property has a valid value already, then the given value is ignored.
var x = props.initNode("/foo", 10);
var y = props.initNode("/bar", 1, "BOOL");
2008-05-19 15:44:23 +00:00
mfranz
a329a7ba14
- add props.nodeList() function which turns property ghosts, props.Nodes,
...
and path strings into a list of props.Nodes. It also digests lists of
properties, or lists of lists of properties etc., thus allowing things
like props.nodeList(arg), props.nodeList(n.getChildren("foo")). This is
meant for functions like aircraft.data.add() or screen.display.add().
- remove some redundant braces
- fix comment
2008-05-15 15:17:56 +00:00
mfranz
fd20d330ba
props.Node: add remove() method that removes the node it was calleed on
...
from its property tree. The node remains accessible as long as references
to it are kept. Example:
var cow_chain = func {
var cow = geo.put_model("Models/Fauna/cow.ac", geo.aircraft_position());
settimer(func { cow.remove() }, 10);
settimer(cow_chain, 2);
}
cow_chain();
2007-08-07 11:30:30 +00:00
mfranz
a9b9c86750
- add Node.getValues() in analogy to Node.setValues(). Returns a hash with
...
all children, vectors for multiply used names, further hashes for subtrees
etc. Meant for quickly pulling in config branches where (almost) all values
are needed.
- usage of "var" keyword and named parameters in other (but not all) funcs
2007-05-14 15:15:00 +00:00
mfranz
38c170baa5
props.copy: add third argument that, if set, also copies the node attributes
2007-04-04 14:44:13 +00:00
andy
3bcfb0624a
Add soft-coded utilites to the "io" and "math" modules. The math
...
stuff is, for the most part, already available in the geo module; but
it's small and this naming matches the evolvoing "standard nasal
library".
2007-03-29 22:09:25 +00:00
mfranz
0606fa3703
make condition() slightly faster and prettier (or not)
2007-03-21 18:37:06 +00:00
mfranz
7319f5e772
better condition() comment & cosmetics
2007-03-20 16:23:23 +00:00