Thanks Fabian, I should have mentioned we thought of this but didn't like the idea. Using the example that a checkbox would disable a button when it was checked, if the timer was set to 1 second a user could easily click the checkbox and the button quickly afterwards before our timer fires.
Any other ideas or thoughts on the method outlined below? Fabian Jakobs wrote: > Hi Matthew, >> Hi All, >> Is there some kind of onIdle event available in qooxdoo 0.8? We are >> working on quite a large application and mainly coming from a C++ >> background. With Borland's VCL there was an onIdle event that you could >> hook into and was ideal for enabling/disabling controls depending on an >> application's state. >> > No there is no such thing as an explicit idle event in qooxdoo but you > can just use JavaScript timers. Since JavaScript is guaranteed to be > single threaded the timer's callback will always fire after the > currently running JavaScript code has returned the control to the > browser. You can for example use the "interval" event of an instance of > qx.event.Timer [1] as idle event. This will never interrupt any running > JavaScript. No need to write a custom event dispatcher. > > Best Fabian > > [1] <http://demo.qooxdoo.org/devel/apiviewer/#qx.event.Timer> >> If not, this is the best solution we could come up with after looking at >> the source code: >> * Create a class that implements qx.event.IDispatcher (more than likely >> this would also be a singleton) >> * Register this in qx.event.Registration.addDispatcher with a high priority >> * qx.event.Manager will call our canDispatchEvent method for every >> (correct?) event fired >> * For all events that can change the 'state' of our application, e.g. >> click and and key press we do something along the lines of the following >> but always return false >> killTimeout(this.timer); >> this.timer = setTimeout(... , 0); >> * Once all events have been handled our last time-out will fire once, >> when the browser becomes 'idle' >> * The timeout then dispatches an 'idle' event to all widgets that are >> interested. >> >> That's the plan. The idea is then we can add an event listener for this >> 'idle' function whenever we need it. The code inside these handlers will >> be quick, simple things such as enabling a control as long as checkbox >> is ticked. >> >> What are peoples thoughts on this? >> > > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
