<body><div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
                                        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.<div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 16.11.2017 03:18:03 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p>David T. Lewis uploaded a new version of System to project The Trunk:<br>http://source.squeak.org/trunk/System-dtl.977.mcz<br><br>==================== Summary ====================<br><br>Name: System-dtl.977<br>Author: dtl<br>Time: 15 November 2017, 8:22:41.646862 pm<br>UUID: 3d7fa082-cd00-4df2-8574-19b747bb5784<br>Ancestors: System-dtl.976<br><br>Initial rehabilitation of worlds in worlds. Changes are in Morphic and System packages.<br><br>To: squeak-dev@lists.squeakfoundation.org<br>From: Bob Arning <arning315@comcast.net><br>Date: Tue, 14 Nov 2017 08:14:07 -0500<br>Subject: Re: [squeak-dev] ActiveWorld and World globals<br><br>Here is a start (squeak 5.1). Not extensively tested, but a FileList in<br>a world in the World was operational.<br><br>'From Squeak5.1 of 23 August 2016 [latest update: #16548] on 14 November 2017 at 8:11:28 am'!<br>"Change Set:            fixProjectView<br>Date:                   14 November 2017<br>Author:                       Bob Arning<br><br>squeak 5.1...<br><br>reinstate 'ENTER ACTIVE' option in menu for ProjectViewMorph "!<br><br>=============== Diff against System-dtl.976 ===============<br><br>Item was added:<br>+ ----- Method: Project>>enterAsActiveSubprojectWithin: (in category 'enter') -----<br>+ enterAsActiveSubprojectWithin: enclosingWorld<br>+ <br>+     "Install my ChangeSet, Transcript, and scheduled views as current globals. <br>+ <br>+     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.<br>+     If saveForRevert is true, save the ImageSegment of the project being left.<br>+     If revertFlag is true, make stubs for the world of the project being left.<br>+     If revertWithoutAsking is true in the project being left, then always revert."<br>+ <br>+     "Experimental mods for initial multi-project work:<br>+         1. assume in morphic (this eliminated need for <showzoom>)<br>+         2. assume <saveforrevert> is false (usual case) - removed <old><br>+         3. assume <revertflag> is false<br>+         4. assume <revertwithoutasking> is false - <forcerevert> now auto false <seg> n.u.<br>+         5. no zooming<br>+         6. assume <projectssenttodisk> false - could be dangerous here<br>+         7. assume no isolation problems (isolationHead ==)<br>+         8. no closing scripts<br>+     "<br>+ <br>+     self isCurrentProject ifTrue: [^ self].<br>+ <br>+     "guards ifNotNil: [<br>+         guards := guards reject: [:obj | obj isNil].<br>+         guards do: [:obj | obj okayToEnterProject ifFalse: [^ self]]<br>+     ]."<br>+ <br>+         "CurrentProject makeThumbnail."<br>+         "--> Display bestGuessOfCurrentWorld triggerClosingScripts."<br>+     CurrentProject displayDepth: Display depth.<br>+ <br>+     displayDepth == nil ifTrue: [displayDepth := Display depth].<br>+         "Display newDepthNoRestore: displayDepth."<br>+ <br>+         "(world hasProperty: #letTheMusicPlay)<br>+             ifTrue: [world removeProperty: #letTheMusicPlay]<br>+             ifFalse: [Smalltalk at: #ScorePlayer ifPresent: [:playerClass | <br>+                         playerClass allSubInstancesDo: [:player | player pause]]]."<br>+ <br>+         "returningFlag<br>+             ifTrue: [nextProject := CurrentProject]<br>+             ifFalse: [previousProject := CurrentProject]."<br>+ <br>+         "CurrentProject saveState."<br>+         "CurrentProject := self."<br>+         "Smalltalk newChanges: changeSet."<br>+         "TranscriptStream newTranscript: transcript."<br>+         "Sensor flushKeyboard."<br>+         "recorderOrNil := Display pauseMorphicEventRecorder."<br>+ <br>+         "Display changeMorphicWorldTo: world."  "Signifies Morphic"<br>+     world <br>+         installAsActiveSubprojectIn: enclosingWorld <br>+         titled: self name.<br>+ <br>+         "recorderOrNil ifNotNil: [recorderOrNil resumeIn: world]."<br>+     world triggerOpeningScripts.<br>+     self removeParameter: #exportState.<br>+         "self spawnNewProcessAndTerminateOld: true"!<br><br><br></projectssenttodisk></seg></forcerevert></revertwithoutasking></revertflag></old></saveforrevert></showzoom></arning315@comcast.net>
                        </blockquote>
                                        </div></body>