Re-doing Morphic ( Was: Re: Traits prototype image )
Ned Konz
ned at bike-nomad.com
Tue Feb 11 03:32:49 UTC 2003
On Monday 10 February 2003 06:20 pm, Steven Swerling wrote:
> It's not the Morph tree that's the problem, it's the enormous bush
> that's sitting on top of it.
[snip]
> The problem isn't what people have put in the subclasses of
> Morphic. It's what people have put in the Morphic class:
> Applications. The Morphic class (along with the other core classes)
> is really Morphic + EToys + Piano Rolls + Stack Morph + Flaps + a
> few other things that have suited SqueakC and nobody else, but are
> not Morphic. In it an unholly mess, I don't care what language.
[snip]
> Morphic, as it exists in Squeak, is,
> simply put, *the* messiest UI framework I have ever seen in any
> language, and it's mostly *because* of eToys. Factor it out!
>
As you probably know, our current direction and intention is to break
Squeak into separately loadable packages.
And since I'm supposed to be guiding the image breakout effort, here's
a great place to ask for volunteers:
We should be able to take all these things and make them separately
loadable packages. EToys, Piano Rolls, Stack Morph, Flaps, and the
rest are all things that are not part of a minimal Squeak system.
Who wants to tackle some part of this?
> I dare anyone
> whose initials are not DI, AR, RA, DW, or NK to streamline this
> code and submit a change set, and see if it get's in.
If you or anyone else submits a change set that will fix this "cruft"
or move it to a separately loadable package, I'm sure it'll have a
good chance of being accepted. You're not the only one who has
complained about the "extra parts" in Squeak.
One direction I was recently thinking about is this: it wouldn't take
too much to make a "separate but equal" Morphic hierarchy, with some
minimal behavior to make it play with the existing Morphic API. Start
at NewMorph or something, and build the widgets you really want. Then
move, copy, or port over the bits of the existing Morphic that you
want to keep.
This way you can keep Morphic itself running (the World loop, the
event handling, etc.) while making new, lean & mean, stuff.
There is no reason, after all, that you have to inherit from Morph.
(yes, I think that the isKindOf: tests in HandMorph need to go).
Anyone up for this?
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
More information about the Squeak-dev
mailing list
|