A wish...
Ned Konz
ned at bike-nomad.com
Tue Feb 6 07:52:33 UTC 2001
On Monday 05 February 2001 21:21, Dan Ingalls wrote:
> Raymond -
>
> >Ned Konz could update is ConnectorMorph to work in Squeak 3.0,
> >and SqCentral would add it to the main image. :)
>
> Just wanted you to know we're sympathetic, but also necessarily cautious
> about such pervasive changes. Please bear with us.
I have to agree with Dan. The work I did was just about enough to show me
that considerably more work was needed in several areas. Just getting
connections to work (through the use of their private constraints) was easy,
but not generally useful.
A *real* constraint framework would be a powerful addition to Morphic.
Of course, it's overkill for simple tasks like connecting Morphs with lines.
Look at HotDraw, which had a general purpose constraint system added to it
somewhere along the line, only to have it removed later when it proved to be
too much extra baggage for what most people were doing with it.
But for doing other things -- physics simulations, intelligent animations,
etc. -- a constraint framework will enable the kind of exciting new
applications that the Squeak Central team want to make.
For instance, I recently wanted to make a game like "The Incredible Machine";
with Morphic and a general constraint system, this would be pretty easy.
The main problem with moving my code forward was with the editing. As long as
Morphs decide for themselves (regardless of context) how they're going to
handle input events, it will continue to be hard to make a general drawing
tool for connected drawings out of Morphic.
I had AttachmentPointMorphs that were submorphs of their parents. This was
fragile at best -- it didn't work with Morphs that actively managed
submorphs, like AlignmentMorphs. With the addition of more submorph
management code, even more simple Morphs would become confused by having
foreign morphs added as submorphs.
I was also delayed by the changes to the event handling code. What I finally
decided I wanted to do -- to have "tools" a la HotDraw that would interpret
user actions in various ways -- looked like a lot of work when I got back
into looking into the HandMorph and its event handling. (For fun, try to
sketch what happens to various mouse clicks and keyboard events, and where
those decisions happen. It's rather complicated.)
I'd still like to attack the more limited problem of making a general purpose
drawing framework out of Morphic. I think this can be done without pervasive
changes to the base system, though.
I envision subclassing the HandMorph with a class that will allow plug-in
tools for handling user interaction.
Given this, and a simple constraint system and handles, we'd have what we
needed to make Morphic into more conventional graphical tools. But it would
look a lot like HotDraw (the one without the full constraint system), not
what SqC wants to make.
I'm excited about the possibility of a full constraint system in Morphic. But
I don't want to see it added hastily.
--
Ned Konz
currently: Stanwood, WA
email: ned at bike-nomad.com
homepage: http://bike-nomad.com
More information about the Squeak-dev
mailing list
|