[squeak-dev] MorphicProject subclass: #EtoysProject

H. Hirzel hannes.hirzel at gmail.com
Thu Oct 5 13:16:41 UTC 2017


Note: MorphWithGrid does not really make sense unless you have a
superclass MorphWithDnD (Drag and Drop) which handles the morph droped
and makes them 'sticky'.

Though refactoring PastUpMorph by inserting superclasses is an issue I
suggest to put this on the backburner at the moment and focus on
getting the Etoys setting straight as Dave suggests in the initial
mail.

A use case to follow: What happens when you drop  the exapme project

    http://etoys.laptop.org/src/Content/ExampleEtoys/CarAndPen.014.pr

on to the desktop.

ExternalDropHandler>>handleDroppedItem:event:  [21]

is called in this case and then dispatches to do the necessary things
to deal with the
    ExampleEtoys/CarAndPen.014.pr
file.

There is a message box which needs attention.

And I assume that in the course of these events some settings are
necessary. Most prominently to choose EtoysProject and no longer
MorphicProject

--Hannes

[21] http://wiki.squeak.org/squeak/4283

On 10/5/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> I added a demo file Morphic-hjh.1354 [11] to the repository
>
> MCHttpRepository
> 	location: 'http://www.squeaksource.com/EtoysProject'
> 	user: ''
> 	password: ''
>
> This file should be loaded into a fully updated trunk test image.
>
> I agree with what Tobias noted earlier in this thread that it is
> probably better to avoid renaming PasteUpMorph. I see as a solution to
> easier deal with PasteUpMorph functions the insertion of superclasses
> of PasteUpMorph (and thus subclasses of BorderedMorph) [12]
>
> The next thing I will come up with is a class
>     MorphWithDnD
>
> a morph class which supports drag and drop.
> As a superclass of MorphWithGrid
>
> A third class would be PlayField which contains all the Etoys selectors.
> In an image without Etoys that class would then be just empty.
>
> --Hannes
>
>
> --------------------
>
> [11]
> Name: Morphic-hjh.1354
> Author: hjh
> Time: 5 October 2017, 11:51:21.903338 am
> UUID: e96d5a46-453f-418c-b95f-26f1674ca329
> Ancestors: Morphic-hjh.1353
>
> Demo which shows how to remove selectors from PasteUpMorph and insert
> them into a newy created superclass
>
> Inserted
>      MorphWithGrid
> as a subclass of BorderedMorph and superclass of
>     PasteUpMorph
>
> gridding protocol was moved from
>     PasteUpMorph
> to
>     MorphWithGrid
>
>
> Morphic-hjh.1353:
> 	Ancestors: Morphic-hjh.1352
>
> Note: I tried to save this update several times. That accounts for the
> empty updates in between.
>
>
> ---------
> [12]
> After filing in Morphic-hjh.1354
> PasteUpMorph printHierarchy '
> ProtoObject #()
> 	Object #()
> 		Morph #()
> 			BorderedMorph #()
> 				MorphWithGrid #(''griddingOn'')
> 					PasteUpMorph #(...)
> 						ComponentLayout #(...)
> 						EventTimeline #(...)
> 						GeeBookPageMorph #(...)
> 						IndexTabs #(...)
> 						MouseEventEditor #(...)
> 						PartsBin #(...)
> 						QuickGuideHolderMorph #(...)
> 						SyntaxTestMethods #(...)
> 						TetrisBoard #(...)
> 						TextPlusPasteUpMorph #(...)
> 						WiWPasteUpMorph #(...)
> 							MVCWiWPasteUpMorph #(...)
> 						Worldlet #(...)
> 						ZASMScriptMorph #(...)
> 						ZoomAndScrollMorph #(...)'
>
> On 10/5/17, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
>> Done. :)
>>
>> Best,
>> Marcel
>> Am 05.10.2017 06:21:44 schrieb David T. Lewis <lewis at mail.msen.com>:
>> We did have a problem on squeaksource.com, but I think it is mostly
>> resolved
>> now.
>>
>> Hannes,
>>
>> The password reset for your HJH account was lost, so I set it back to the
>> new password that I sent to you earlier in private email. Hopefully your
>> access is working again now.
>>
>> Marcel,
>>
>> Your new account disappeared when squeaksource recovered from some
>> internal
>> problem. Sorry, I do not know the cause. But could I ask you to please
>> register
>> again on squeaksource.com, and I will then add you back to EtoysProject?
>>
>> Sorry for the disruption,
>> Dave
>>
>>
>> On Thu, Oct 05, 2017 at 02:03:47AM +0200, H. Hirzel wrote:
>>> Dave
>>>
>>> Earlier today login worked. Currently it does not.
>>>
>>> --Hannes
>>>
>>> On 10/5/17, David T. Lewis wrote:
>>> > Hannes,
>>> >
>>> > You did not cause the problem. It may have been me, I saved the
>>> > squeaksource.com
>>> > image from a VNC session (because I wanted to make an up to date
>>> > backup
>>> > of
>>> > it),
>>> > and I am now unable to log in to squeaksource. Maybe I triggered a bug
>>> > :-/
>>> >
>>> > Can you please tell me if you are able to log in to your
>>> > http://squeaksource.com
>>> > page? I am getting authorization errors, and I suspect it is a problem
>>> > that
>>> > affects
>>> > everyone.
>>> >
>>> > Thanks,
>>> > Dave
>>> >
>>> > On Thu, Oct 05, 2017 at 01:52:35AM +0200, H. Hirzel wrote:
>>> >> Dave,
>>> >>
>>> >> Yes, I encounter problems. They might be related to what I just tried
>>> >> to
>>> >> do:
>>> >>
>>> >> I wanted to save an updated version of Morphic to the ProjectEtoys
>>> >> repository but by mistake I tried to commit it to the trunk. As I do
>>> >> not have commit rights to trunk this prevented me from changing it
>>> >> inadvertently. Later on I wanted to commit that version to
>>> >> ProjectEtoys. It did not work.
>>> >>
>>> >> --Hannes
>>> >>
>>> >>
>>> >>
>>> >> On 10/5/17, David T. Lewis wrote:
>>> >> > I'm seeing problems with SqueakSource right now, trying to figure
>>> >> > out
>>> >> > what is wrong. So the project may not be accessible right now :-/
>>> >> >
>>> >> > Dave
>>> >> >
>>> >> >
>>> >> > On Thu, Oct 05, 2017 at 01:17:58AM +0200, H. Hirzel wrote:
>>> >> >> Karl,
>>> >> >>
>>> >> >> So far entering and existing the Etoys project works smoothly.
>>> >> >>
>>> >> >> Load mcz from into current Squeak 6.0a
>>> >> >>
>>> >> >> MCHttpRepository
>>> >> >> location: 'http://www.squeaksource.com/EtoysProject'
>>> >> >> user: ''
>>> >> >> password: ''
>>> >> >>
>>> >> >> The issue is about providing more settings when entering.
>>> >> >>
>>> >> >> Karl, do you want to be added to the list of developers?
>>> >> >>
>>> >> >> --HH
>>> >> >>
>>> >> >> On 10/5/17, H. Hirzel wrote:
>>> >> >> > PasteUpMorph is useful and the functions have to be maintained.
>>> >> >> >
>>> >> >> > However adding more functions to Morph does not make sense.
>>> >> >> >
>>> >> >> > Squeak 6.0a
>>> >> >> > Morph selectors size 1345
>>> >> >> > PasteUpMorph selectors size 530
>>> >> >> >
>>> >> >> > --Hannes
>>> >> >> >
>>> >> >> > On 10/4/17, karl ramberg wrote:
>>> >> >> >> I'm not sure anybody uses Etoys anymore, but PasteUpMorph is
>>> >> >> >> very
>>> >> >> >> useful
>>> >> >> >> in
>>> >> >> >> direct manipulation because of it's various layout and event
>>> >> >> >> handling
>>> >> >> >> options. It also act as a container of other morphs, with
>>> >> >> >> automatic
>>> >> >> >> layout, enumeration etc.
>>> >> >> >> I'm sure most of this could be refactored into Morph class or
>>> >> >> >> another
>>> >> >> >> class.
>>> >> >> >>
>>> >> >> >> Best,
>>> >> >> >> Karl
>>> >> >> >>
>>> >> >> >> On Tue, Oct 3, 2017 at 3:03 PM, Marcel Taeumel
>>> >> >> >>
>>> >> >> >> wrote:
>>> >> >> >>
>>> >> >> >>> +1 :)
>>> >> >> >>>
>>> >> >> >>> And then later: Rename PasteUpMorph to WorldMorph, and keep an
>>> >> >> >>> empty
>>> >> >> >>> PasteUpMorph subclass around for compatibility reasons. So
>>> >> >> >>> many
>>> >> >> >>> ideas
>>> >> >> >>> have
>>> >> >> >>> been ported down to Morph class over the past years. New
>>> >> >> >>> applications
>>> >> >> >>> have
>>> >> >> >>> no reason to ever use other instances of PasteUpMorph.
>>> >> >> >>>
>>> >> >> >>> Best,
>>> >> >> >>> Marcel
>>> >> >> >>>
>>> >> >> >>> Am 03.10.2017 14:57:55 schrieb H. Hirzel :
>>> >> >> >>> On 10/3/17, H. Hirzel wrote:
>>> >> >> >>> > 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.
>>> >> >> >>>
>>> >> >> >>> See screen shot attached.
>>> >> >> >>>
>>> >> >> >>> > 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 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
>>> >> >> >>> >>
>>> >> >> >>> >>
>>> >> >> >>> >
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>
>>> >> >> >
>>> >> >
>>> >> >
>>> >> >>
>>> >> >
>>> >> >
>>> >> >
>>> >>
>>> >
>>> >
>>>
>>
>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Dialog_After_Dropping_CarAndPen.014.pr_onto_desktop_2017-10-05.png
Type: image/png
Size: 37815 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20171005/c1101f30/attachment.png>


More information about the Squeak-dev mailing list