[squeak-dev] Project entry vs. project rendered

Jim Rosenberg jr at amanue.com
Wed Dec 30 21:12:43 UTC 2009

I have some projects containing a PasteUpMorph that is bigger than the 
screen. (Navigation is via a custom class of my own, where dragging a 
portal border drags the underlying PasteUpMorph.) When a project containing 
one of these is first entered, it takes a long time to render. This is OK 
-- I can live with this -- but I want to show Cursor wait while it's 
happening. I thought I had this problem nailed -- in a method for the 
parent project, the button that triggers entry to the "slow" project has 
Cursor wait show before entering the project, and then Cursor normal show 
in a block executed with WorldState addDeferredUIMessage:. On my desktop 
system, which is a 1.6G Atom 330 running Linux, this seemed to be working 
fine. But when I tried it on my G4 PowerBook, it came out all wrong. The 
hourglass cursor appeared, as I wanted, but after only a second or so the 
Cursor normal show method kicked in, even though the "parent" project was 
still showing, and the long delay rendering the target project happened 
*afterward*. How do I do a deferred UI message that will only be invoked 
once the project is rendered?

(I tried preceding the Cursor normal show with

Project current world doOneCycle

in the deferred UI message block. This gives every appearance of working 
perfectly under Linux, but made no difference on my PowerBook -- the 
hourglass has gone away while the computation is done to render the 
project. Is this a Mac VM issue?)

-Thanks, Jim

 Jim Rosenberg                      http://www.well.com/user/jer/
     Internet: jr at amanue.com

More information about the Squeak-dev mailing list