[Morphic] About worlds

Daniel Vainsencher danielv at netvision.net.il
Sat Aug 16 14:57:16 UTC 2003


Andreas Raab <andreas.raab at gmx.de> wrote: 
> One way to get rid of the implicit notion of the "active world" would be to
> define that a morph is ALWAYS in some world, unless it has been "destroyed"
> by an interaction or command which clearly denotes that we're not intending
> to use this guy ever again. The way in which the world could be associated
> with some morph might be that the "owner" of some morph cannot ever be nil
> unless that morph has been destroyed. So the owner chain would uniquely
> identify which world a morph is in, and the submorphs of some morph would
> identify that the morph itself is "present" in this particular arrangement
> (regardless of whether the container is present in the arrangement of its
> own container).
I understand the problem, but you're implicit about the solution - do
you mean that instead of todays remove we would change the Morphs parent
to be the world? 

> In my understanding, this could allow a variety of important mechanisms to
> work very nicely and smoothly. For example, consider something like an #open
> or #close message. What would it mean? It would effectively be equivalent to
> something like setting the morph visible, except that the context in which
> it happens is preserved. E.g., in a PLM you might do something like:
> 
> hideScrollbar
> 	scrollBar close. "get rid of it"
> 
> showScrollbar
> 	scrollBar open. "open it again in the container it used to be in"
IIUC, these would not change the parent ownership, and therefore be
reversible.

> What I am mostly interested in here is: Does anyone see a significant
> conceptual problem in the above? I don't _think_ I am overlooking anything
> important here but I'm interested in what other people think about an
> approach like this.
IIUC, you're saying that world is an attribute derived from the parent
attribute, and to make world non-optional for visible morphs, you make
parent non-optional. Without knowin a whole lot about Morphic, this
sounds ok to me. BTW, why would it break everything?

Daniel



More information about the Squeak-dev mailing list