the Difficulty of using squeak
Lex Spoon
lex at cc.gatech.edu
Tue May 17 18:54:49 UTC 2005
Ross Boylan <RossBoylan at stanfordalumni.org> wrote:
> > There is such a thing as "minimum extent" in Morphic but right now it is
> > not honored. Just browse to #minimumExtent to see what I mean! The
>
> The method comment makes it sound as if it is only honored if you are
> using certain layouts. Are you saying it doesn't even work then?
No, I wrote too hastily. I meant to say, it is not honored *widely*.
For example, the yellow halo handle ignores it. IMHO, Morph>>extent:
itself should pay attention to this setting....
> By the way, I did develop a LayoutPolicy of my own, but it wasn't a
> cure all. I guess I could say it was enough to move my main problem
> from understanding layout to understand Scrollers.
Heh. Well, moving along. One nice thing I bet you'll agree with, is
that Morphic does let you move forward incrementally. You can make a
rough approximation of whatever you want and then improve it one step at
a time. At least, that is my experience.
> > I think you are right that these infinite loops can
> > happen (and that sort of thing is high on *my* wish list for making
> > Morphic nicer to use--Smalltalk should be a *safe* language that cannot
> > screw you up like that if you misstep).
> They are a drag for sure, but it seems hard to avoid them when you're
> messing with GUI stuff. I've dealt with it by putting various tests
> before my self halts (if a keyboard modifier is pressed; if this is
> the first time; if there has been no interrupt in the last second ...)
I mean, I think the system should not have these dragons wandering
around at all. There is a general approach that has already been worked
out: if a method fails, then stop calling it until the user has asked
you to start calling it again. We currently use this for stepping and
for drawOn:. There is no reason not to use it for more things.
> That mostly works, although I typically don't do this until after I
> lock up my image :) The other problem is that I have a feeling
> sometimes I'm not seeing key logic because it happens during a
> different incident than the one I stopped.
Yeah.... When things are happening in phases, it can be hard to get a
debugger on the one that matters to you.... For example:
> The problem was I wanted to see the layout logic. I knew it happened
> when I resized the window. So I stuck a halt near the top of the
> resize logic. I then traced it through, but the new layout code never
> got hit. Finally I realized it was happening in a different thread
> (hint: try fullBounds),
> Thanks. I should say I have a lot of smalltalk experience, and even a
> significant amount of work in squeak/morphic. Obviously there are
> still new worlds to conquer.
It would be really nice if Squeak were a good introduction for newcomers
to Smalltalk. I think it can be, but morphic in particular seems to be
a real dragon's den. :(
-Lex
More information about the Squeak-dev
mailing list
|