[squeak-dev] The Trunk: System-dtl.977.mcz

David T. Lewis lewis at mail.msen.com
Fri Nov 17 01:04:12 UTC 2017


That sounds right. I moved the method to MorphicProject, keeping the original
author initials and time stamp from Bob's change set.

Dave

On Thu, Nov 16, 2017 at 04:41:49PM +0100, H. Hirzel wrote:
> I understand that the method
> 
> Project>>enterAsActiveSubprojectWithin: (in category 'enter') -----
> 
> has to be pushed down
> 
> MorphicProject>>enterAsActiveSubprojectWithin: (in category 'enter') -----
> 
> --Hannes
> 
> On 11/16/17, David T. Lewis <lewis at mail.msen.com> wrote:
> > Good point. I can't look at it right now, but I will follow up when I can.
> >
> > Dave
> >
> > On Thu, Nov 16, 2017 at 07:26:55AM +0100, Marcel Taeumel wrote:
> >> This should go to MorphicProject, not Project. As long as we do not know
> >> how to generalize it, there is no reason to fill up the interface of
> >> Project again. ;) I did some efforts to remove Morphic-specific code from
> >> the Project base class last year.
> >>
> >> Best,
> >> Marcel
> >> Am 16.11.2017 03:18:03 schrieb commits at source.squeak.org
> >> <commits at source.squeak.org>:
> >> David T. Lewis uploaded a new version of System to project The Trunk:
> >> http://source.squeak.org/trunk/System-dtl.977.mcz
> >>
> >> ==================== Summary ====================
> >>
> >> Name: System-dtl.977
> >> Author: dtl
> >> Time: 15 November 2017, 8:22:41.646862 pm
> >> UUID: 3d7fa082-cd00-4df2-8574-19b747bb5784
> >> Ancestors: System-dtl.976
> >>
> >> Initial rehabilitation of worlds in worlds. Changes are in Morphic and
> >> System packages.
> >>
> >> To: squeak-dev at lists.squeakfoundation.org
> >> From: Bob Arning
> >> Date: Tue, 14 Nov 2017 08:14:07 -0500
> >> Subject: Re: [squeak-dev] ActiveWorld and World globals
> >>
> >> Here is a start (squeak 5.1). Not extensively tested, but a FileList in
> >> a world in the World was operational.
> >>
> >> 'From Squeak5.1 of 23 August 2016 [latest update: #16548] on 14 November
> >> 2017 at 8:11:28 am'!
> >> "Change Set: fixProjectView
> >> Date: 14 November 2017
> >> Author: Bob Arning
> >>
> >> squeak 5.1...
> >>
> >> reinstate 'ENTER ACTIVE' option in menu for ProjectViewMorph "!
> >>
> >> =============== Diff against System-dtl.976 ===============
> >>
> >> Item was added:
> >> + ----- Method: Project>>enterAsActiveSubprojectWithin: (in category
> >> 'enter') -----
> >> + enterAsActiveSubprojectWithin: enclosingWorld
> >> +
> >> + "Install my ChangeSet, Transcript, and scheduled views as current
> >> globals.
> >> +
> >> + If returningFlag is true, we will return to the project from whence the
> >> current project was entered; don't change its previousProject link in this
> >> case.
> >> + If saveForRevert is true, save the ImageSegment of the project being
> >> left.
> >> + If revertFlag is true, make stubs for the world of the project being
> >> left.
> >> + If revertWithoutAsking is true in the project being left, then always
> >> revert."
> >> +
> >> + "Experimental mods for initial multi-project work:
> >> + 1. assume in morphic (this eliminated need for )
> >> + 2. assume is false (usual case) - removed
> >> + 3. assume is false
> >> + 4. assume is false - now auto false n.u.
> >> + 5. no zooming
> >> + 6. assume false - could be dangerous here
> >> + 7. assume no isolation problems (isolationHead ==)
> >> + 8. no closing scripts
> >> + "
> >> +
> >> + self isCurrentProject ifTrue: [^ self].
> >> +
> >> + "guards ifNotNil: [
> >> + guards := guards reject: [:obj | obj isNil].
> >> + guards do: [:obj | obj okayToEnterProject ifFalse: [^ self]]
> >> + ]."
> >> +
> >> + "CurrentProject makeThumbnail."
> >> + "--> Display bestGuessOfCurrentWorld triggerClosingScripts."
> >> + CurrentProject displayDepth: Display depth.
> >> +
> >> + displayDepth == nil ifTrue: [displayDepth := Display depth].
> >> + "Display newDepthNoRestore: displayDepth."
> >> +
> >> + "(world hasProperty: #letTheMusicPlay)
> >> + ifTrue: [world removeProperty: #letTheMusicPlay]
> >> + ifFalse: [Smalltalk at: #ScorePlayer ifPresent: [:playerClass |
> >> + playerClass allSubInstancesDo: [:player | player pause]]]."
> >> +
> >> + "returningFlag
> >> + ifTrue: [nextProject := CurrentProject]
> >> + ifFalse: [previousProject := CurrentProject]."
> >> +
> >> + "CurrentProject saveState."
> >> + "CurrentProject := self."
> >> + "Smalltalk newChanges: changeSet."
> >> + "TranscriptStream newTranscript: transcript."
> >> + "Sensor flushKeyboard."
> >> + "recorderOrNil := Display pauseMorphicEventRecorder."
> >> +
> >> + "Display changeMorphicWorldTo: world." "Signifies Morphic"
> >> + world
> >> + installAsActiveSubprojectIn: enclosingWorld
> >> + titled: self name.
> >> +
> >> + "recorderOrNil ifNotNil: [recorderOrNil resumeIn: world]."
> >> + world triggerOpeningScripts.
> >> + self removeParameter: #exportState.
> >> + "self spawnNewProcessAndTerminateOld: true"!
> >>
> >>
> >
> >>
> >
> >
> >
> 


More information about the Squeak-dev mailing list