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?
>   



-- 
Fabian Jakobs
JavaScript Framework Developer

1&1 Internet AG
Brauerstraße 48
76135 Karlsruhe

Amtsgericht Montabaur HRB 6484

Vorstand: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich, Thomas 
Gottschlich, Matthias Greve, Robert Hoffmann, Markus Huhn, Oliver Mauss, Achim 
Weiss
Aufsichtsratsvorsitzender: Michael Scheeren


-------------------------------------------------------------------------
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

Reply via email to