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

Marcel Taeumel marcel.taeumel at hpi.de
Thu Nov 16 06:26:55 UTC 2017


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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20171116/221b8385/attachment.html>


More information about the Squeak-dev mailing list