[squeak-dev] MorphicProject subclass: #EtoysProject

H. Hirzel hannes.hirzel at gmail.com
Thu Oct 5 10:31:59 UTC 2017


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
>> >> >> >>> >>
>> >> >> >>> >>
>> >> >> >>> >
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>
>> >> >> >
>> >> >
>> >> >
>> >> >>
>> >> >
>> >> >
>> >> >
>> >>
>> >
>> >
>>
>
>


More information about the Squeak-dev mailing list