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