addDeferredUIMessage: Documentation

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

addDeferredUIMessage: Documentation

Sean P. DeNigris
Administrator
I'm trying to add some documentation to addDeferredUIMessage:.  What's a good summary on this method?

I collected the following snippets from the web...

If you want to run something that accesses the Morphic UI, even though you are not running from somewhere that the UI is in a sane state, you should normally use addDeferredUIMessage:. Otherwise, you can put Morphic into extremely confused states....

Per Ned Konz @ http://wiki.squeak.org/squeak/528:
Deferred UI messages are processed in the middle of the Morphic event loop, just after responding to events, and before doing other step methods and displaying the world. Look for implementors of #addDeferredUIMessage:, look at the one in WorldState, look for senders of #deferredUIMessages, and you'll see WorldState>>runStepMethodsIn: which empties the queue. And it's called from doOneCycleNowFor: which is the body of the main Morphic event loop.

Per http://wiki.squeak.org/squeak/5689:
If you want to run something that accesses the Morphic UI, even though you are not running from somewhere that the UI is in a sane state, you should normally use addDeferredUIMessage:. Otherwise, you can put Morphic into extremely confused states....

Per Wilhelm K Schwab @ http://forum.world.st/Fwd-MouseOverHandler-td1300474.html#a1300474:
provides a clean way to interact with the GUI from background threads

Per http://www.visoracle.com/squeak/faq/containerless.html:
As it is now, it's quite simple to put long-running computations in
background threads; you just don't let the background threads call methods
directly on Morphs. We have addDeferredUIMessage: to queue up action from
the background threads for later execution in the UI thread during the
next window cycle.

Sean
Cheers,
Sean