[squeak-dev] The Trunk: ST80-dtl.64.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Nov 9 13:06:21 UTC 2009


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




More information about the Squeak-dev mailing list