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

H. Hirzel hannes.hirzel at gmail.com
Thu Nov 16 15:41:49 UTC 2017


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