David T. Lewis uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-dtl.64.mcz ==================== Summary ==================== Name: ST80-dtl.64 Author: dtl Time: 9 November 2009, 9:02:38 am UUID: 7a7b05e8-b147-4aa4-a732-3b083bc39d05 Ancestors: ST80-nice.63 Continue factoring Project into MVCProject and MorphicProject. Add method category 'enter' for methods associated with entering one project from another, including MVC-Morphic transition. Project>>enter: revert:saveForRevert: is significantly modified. Changes are in packages System, Morphic, and ST-80. =============== Diff against ST80-nice.63 =============== Item was added: + ----- Method: MVCProject>>pauseSoundPlayers (in category 'enter') ----- + pauseSoundPlayers + "Pause sound players, subject to preference settings" + + Smalltalk at: #ScorePlayer + ifPresentAndInMemory: [:playerClass | playerClass + allSubInstancesDo: [:player | player pause]]! Item was added: + ----- Method: MVCProject>>scheduleProcessForEnter: (in category 'enter') ----- + scheduleProcessForEnter: showZoom + "Complete the enter: by launching a new process" + + | newProcess | + SystemWindow clearTopWindow. "break external ref to this project" + newProcess := [ + ScheduledControllers resetActiveController. "in case of walkback in #restore" + showZoom ifFalse: [ScheduledControllers restore]. + ScheduledControllers searchForActiveController + ] fixTemps newProcess priority: Processor userSchedulingPriority. + newProcess resume. "lose the current process and its referenced morphs" + Processor terminateActive + ! Item was added: + ----- Method: MVCProject>>viewLocFor: (in category 'display') ----- + viewLocFor: exitedProject + "Look for a view of the exitedProject, and return its center" + + (world controllerWhoseModelSatisfies: [:p | p == exitedProject]) + ifNotNilDo: [:ctlr | ^ctlr view windowBox center]. + ^Sensor cursorPoint "default result"! Item was added: + ----- Method: MVCProject>>setWorldForEnterFrom:recorder: (in category 'enter') ----- + setWorldForEnterFrom: old recorder: recorderOrNil + "Prepare world for enter." + + World := nil. "Signifies MVC" + Smalltalk at: #ScheduledControllers put: world + ! Item was added: + ----- Method: MVCProject>>setWorldForEmergencyRecovery (in category 'enter') ----- + setWorldForEmergencyRecovery + "Prepare world for enter with an absolute minimum of mechanism. + An unrecoverable error has been detected in an isolated project." + + World := nil. + Smalltalk at: #ScheduledControllers put: world. + ScheduledControllers restore + ! Item was added: + ----- Method: MVCProject>>armsLengthCommand:withDescription: (in category 'file in/out') ----- + armsLengthCommand: aCommand withDescription: aString + | pvm | + "Set things up so that this aCommand is sent to self as a message + after jumping to the parentProject. For things that can't be executed + while in this project, such as saveAs, loadFromServer, storeOnServer. See + ProjectViewMorph step." + + parentProject ifNil: [^ self inform: 'The top project can''t do that']. + pvm := parentProject findProjectView: self. + pvm armsLengthCommand: {self. aCommand}. + self exit + ! |
Free forum by Nabble | Edit this page |