Hi,
attached the patch to apply only the changed values in a dialog box
using dialog-apply fgcommand. Now only the listener(s) associated with
the changed value are fired. It works fine here, and I think it could be
useful to apply it.
Thanks a lot
regards
seb
Sébastien MARQUE a écrit :
Hi Csaba,
actually I already use a listener that only fires then the value really
change. I've looked in Nasal scripting wiki page and globals.nas to be
sure, and tried the other possible values for the fourth argument of
setlistener, with no more succes, that's why I looked in FG sources. If
changes in sources can't be applied or don't have the expected effects
I've got an other workaround, but it is quite an ugly one.
regards
seb
Csaba Halász wrote :
On Fri, Feb 20, 2009 at 1:23 AM, Sébastien MARQUE <[email protected]> wrote:
Indeed, it seems like the dialog-apply command changes every single
property linked to a checkbox causing the listeners set on these
properties to be triggered even if the property hadn't be changed by the
user. The result is that all instruments or systems which have a
listener are triggered, and obviously fail all instruments and systems
in my case.
You can use a listener that only fires when the value really changes.
See the docs for the setlistener function.
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Index: src/GUI/dialog.cxx
===================================================================
RCS file: /var/cvs/FlightGear-0.9/source/src/GUI/dialog.cxx,v
retrieving revision 1.115
diff -u -r1.115 dialog.cxx
--- src/GUI/dialog.cxx 10 Feb 2009 22:14:13 -0000 1.115
+++ src/GUI/dialog.cxx 20 Feb 2009 21:14:16 -0000
@@ -437,11 +437,13 @@
case SGPropertyNode::BOOL:
case SGPropertyNode::INT:
case SGPropertyNode::LONG:
- node->setIntValue(object->getIntegerValue());
+ if (object->getIntegerValue() != node->getIntValue())
+ node->setIntValue(object->getIntegerValue());
break;
case SGPropertyNode::FLOAT:
case SGPropertyNode::DOUBLE:
- node->setFloatValue(object->getFloatValue());
+ if (object->getFloatValue() != node->getFloatValue())
+ node->setFloatValue(object->getFloatValue());
break;
default:
const char *s = object->getStringValue();
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel