The Trunk: Morphic-dtl.670.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-dtl.670.mcz

commits-2
David T. Lewis uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-dtl.670.mcz

==================== Summary ====================

Name: Morphic-dtl.670
Author: dtl
Time: 13 July 2013, 5:24:40.403 pm
UUID: 6abe3ab4-17fa-424a-9446-622cb430dc79
Ancestors: Morphic-dtl.669

Project class>>initialize is obsolete because it initializes CurrentProject with an instance of Project (not MorphicProject) and starts its (Morphic) UI process. Move the logic into MorphicProject class>>initialize where it will probably work as intended. Add similar initialization to MVCProject (untested). Remove broken Project class>>initialize.

Move some Morphic-specific utilities from class side of Project to MorphicProject, but keep methods in Project class in case of references from image segments (not sure if this is a real concern).

=============== Diff against Morphic-dtl.669 ===============

Item was changed:
  ----- Method: MorphicProject class>>initialize (in category 'class initialization') -----
  initialize "MorphicProject initialize"
  "Initialize the default Morphic Project background"
  self defaultFill: (InfiniteForm with: self defaultBackgroundForm).
+ CurrentProject ifNil:
+ ["This is the Top Project."
+ CurrentProject := super new initialProject.
+ CurrentProject spawnNewProcessAndTerminateOld: true].
  self convertOldProjects.
  Project current isMorphic ifTrue:[
  "Set the default background in the current world"
  Project current world color: self defaultFill.
+ ].
+ !
- ].!

Item was changed:
  ----- Method: MorphicProject>>scheduleProcessForEnter: (in category 'enter') -----
  scheduleProcessForEnter: showZoom
  "Complete the enter: by launching a new process"
 
  self finalEnterActions.
  world repairEmbeddedWorlds.
  world triggerEvent: #aboutToEnterWorld.
+ Project current spawnNewProcessAndTerminateOld: true
- Project spawnNewProcessAndTerminateOld: true
  !

Item was added:
+ ----- Method: MorphicProject>>spawnNewProcessAndTerminateOld: (in category 'active process') -----
+ spawnNewProcessAndTerminateOld: terminate
+
+ self spawnNewProcess.
+ terminate
+ ifTrue: [Processor terminateActive]
+ ifFalse: [Processor activeProcess suspend]!

Item was changed:
  ----- Method: PasteUpMorph>>restartWorldCycleWithEvent: (in category 'WiW support') -----
  restartWorldCycleWithEvent: evt
 
  "RAA 27 Nov 99 - redispatch that click picked up from our inner world"
  evt ifNotNil: [
  self primaryHand handleEvent: (evt setHand: self primaryHand).
  ].
+ Project current spawnNewProcessAndTerminateOld: true
- Project spawnNewProcessAndTerminateOld: true
  !