Dave
your change set contains the class EtoysProject with
EtoysProject selectors
#(#finalEnterActions: #restoreGlobalPreferences #saveGlobalPreferences #initializeProjectPreferences #configureOnFirstEntry #finalExitActions:)
For complete configuration of a EtoysProject it might be necessary to do
PasteUpMorph subclass: EtoysPasteUpMorph
as well. http://wiki.squeak.org/squeak/6461
Then Etoys related methods may be pushed down to EtoysPasteUpMorph. And probably an Etoys specific subclass of WorldMenu would be fine as well http://wiki.squeak.org/squeak/6461
there is a test project [2] and some more information about adaptions needed because of the UI changes in the thread 'Etoys in 2017?' - UI preferences [3]. And it would be good to have Etoys methods / configuration separate [4].
I suggest that you start go ahead and start implementing this while using a test Etoys project dropped onto the desktop.
--Hannes
[2] > You simply drop it in. E.g. download this project
http://etoys.laptop.org/src/Content/ExampleEtoys/CarAndPen.014.pr
[3] Hannes Hirzel, 'Etoys in 2017?' mail, Wed, Feb 22, 2017 at 11:01 AM
[4] David T. Lewis, Sep 4, 2016 at 3:34 PM "I think it would be great if both Etoys and Scratch were easily loadable and unloadable in trunk."
On 10/2/17, David T. Lewis lewis@mail.msen.com wrote:
An EtoysProject is a project that is configured for running Etoys. On first entry to a new EtoysProject, the playground and project preferences are initialized to provide an environment similar to that of a traditional standalone Etoys image.
Certain preferences that are required for Etoys are initialized on project entry, overriding their global preference values while this EtoysProject is active. On leaving the project, these preferences are restored to their previous values.
"ProjectViewMorph openOn: EtoysProject new"
Change set attached for a minimal implementation.
Anyone with Etoys knowledge care to help? I do not know enough about Etoys to fill in the rest of the initialization that will be required, but it should not be hard to do.
Dave