[squeak-dev] MorphicProject subclass: #EtoysProject

David T. Lewis lewis at mail.msen.com
Fri Oct 6 12:44:12 UTC 2017

On Fri, Oct 06, 2017 at 02:15:41PM +0200, H. Hirzel wrote:
> On 10/6/17, Bert Freudenberg <bert at freudenbergs.de> wrote:
> > On Thu, Oct 5, 2017 at 9:25 PM, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> >
> >> If you drop
> >>
> >>     http://etoys.laptop.org/src/Content/ExampleEtoys/CarAndPen.014.pr
> >>
> >> on to the desktop Squeak asks you for a replacement for
> >> 'MultiNewParagraph' as this class was removed in April (The Trunk:
> >> EToys-nice.292.mcz)
> >>
> >> Answer 'NewParagraph'. Then the Etoys project loads and gives some
> >> error messages. Some are related to preferences. An issue to fix
> >> first.
> >>
> >> Another issue is that actually a MorphicProject is created instead of
> >> the new #EtoysProject type we want.
> >>
> >> I do not now yet where to do this.
> >>
> >
> > ???I can't tell you from memory where exactly to fix this, but the project
> > loading mechanism was designed to be flexible enough to allow all kinds of
> > class changes.
> Good to know.
> In particular
> - we get a MorphicProject when reading the *.pr project file.
> - we need to convert it to an EtoysProject
> Some more investigation needed.

I think this makes sense (I am still trying to wrap my head around how this
stuff works in Etoys, I am an Etoys newbie).

So we might have some kind of rule in project loading that says "if
the current project is an EtoysProject, and if I am loading a *.pr for
a MorphicProject, then make it an EtoysProject". And perhaps when saving
a project, we could reverse the rule and always save a project as
MorphicProject, because we know that a loader in EtoysProject will know
how to do the right thing with it.

I can see now that I misunderstood one important thing. I was assuming that
a new EtoysProject would open up with a playfield like the one I see when
I first start a normal Etoys image. But I see now this is wrong, an Etoys
project should initially have an empty playfield, but perhaps there is a
one-time setup that happens the very first time that I enter a new EtoysProject
from the world of "normal Squeak". So maybe if I enter a new EtoysProject
from a MorphicProject or MVCProject, it will automatically load some
initial project that sets up the welcoming playfield with a car driving
around, but when I load or create new EtoysProjects from there, the new
projects would just start with empty playfields.

Am I guessing right?


> > It's awesome you're looking into this :)
> >
> > - Bert -???
> >

More information about the Squeak-dev mailing list