[Pkg] The Trunk: Morphic-ar.226.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Nov 12 09:17:37 UTC 2009


Andreas Raab uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-ar.226.mcz

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

Name: Morphic-ar.226
Author: ar
Time: 12 November 2009, 1:16:39 am
UUID: a4e2cb99-b2a9-af46-a3ac-7f0dcb1eeb9c
Ancestors: Morphic-ar.225, Morphic-dtl.225

Remove support for isolation layers.

=============== Diff against Morphic-ar.225 ===============

Item was changed:
  ----- Method: MorphicProject>>initMorphic (in category 'initialize') -----
  initMorphic
  	"Written so that Morphic can still be removed.  Note that #initialize is never actually called for a morphic project -- see the senders of this method."
  
  	self flag: #toRemove. "check if this method still used by Etoys"
  	Smalltalk verifyMorphicAvailability ifFalse: [^ nil].
  	changeSet := ChangeSet new.
  	transcript := TranscriptStream new.
  	displayDepth := Display depth.
  	parentProject := CurrentProject.
- 	isolatedHead := false.
  	world := PasteUpMorph newWorldForProject: self.
  	Locale switchToID: CurrentProject localeID.
  	self initializeProjectPreferences. "Do this *after* a world is installed so that the project will be recognized as a morphic one."
  	Preferences useVectorVocabulary ifTrue: [world installVectorVocabulary]!

Item was changed:
  ----- Method: TheWorldMenu>>changesMenu (in category 'construction') -----
  changesMenu
          "Build the changes menu for the world."
  
          | menu |
          menu := self menu: 'changes...'.
          self fillIn: menu from: {
                  { 'file out current change set' . { ChangeSet current . #verboseFileOut}.
                                  'Write the current change set out to a file whose name reflects the change set name and the current date & time.'}.
                  { 'create new change set...' . { ChangeSet . #newChangeSet}. 'Create a new change set and make it the current one.'}.
                  { 'browse changed methods' . { ChangeSet  . #browseChangedMessages}.  'Open a message-list browser showing all methods in the current change set'}.
                  { 'check change set for slips' . { self  . #lookForSlips}.
                                  'Check the current change set for halts, references to the Transcript, etc., and if any such thing is found, open up a message-list browser detailing all possible slips.'}.
  
                  nil.
                  { 'simple change sorter' . {self. #openChangeSorter1}.  'Open a 3-paned changed-set viewing tool'}.
                  { 'dual change sorter' . {self. #openChangeSorter2}.
                                  'Open a change sorter that shows you two change sets at a time, making it easy to copy and move methods and classes between them.'}.
                 { 'find a change sorter (C)' . { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window'}.
                  nil.
                  { 'browse recent submissions' . { Utilities . #browseRecentSubmissions}.
                                  'Open a new recent-submissions browser.  A recent-submissions browser is a message-list browser that shows the most recent methods that have been submitted.  If you submit changes within that browser, it will keep up-to-date, always showing the most recent submissions.'}.
  
                  { 'find recent submissions (R)' . { #myWorld . #openRecentSubmissionsBrowser:}.
                                  'Make an open recent-submissions browser be the front-window, expanding a collapsed one or creating a new one if necessary.  A recent-submissions browser is a message-list browser that shows the most recent methods that have been submitted, latest first.  If you submit changes within that browser, it will keep up-to-date, always showing the most recent submissions at the top of the browser.'}.
  
  			nil.
                  { 'recently logged changes...' . { self . #browseRecentLog}.'Open a change-list browser on the latter part of the changes log.  You can use this browser to recover logged changes which were not saved in your image, in the event of a crash or other interruption.'}.
  
                  { 'recent log file...' . { Smalltalk . #writeRecentToFile}.
                                  'Create a file holding the logged changes (going as far back as you wish), and open a window on that file.'}.
  
                  nil.
                  { 'save world as morph file' . {self. #saveWorldInFile}. 'Save a file that, when reloaded, reconstitutes the current World.'}.
                  nil.
          }.
-         self projectForMyWorld isIsolated ifTrue: [
-                 self fillIn: menu from: { 
-                         { 'propagate changes upward' . {self. #propagateChanges}.
-                                 'The changes made in this isolated project will propagate to projects up to the next isolation layer.'}.
-                 }.
-         ] ifFalse: [
-                 self fillIn: menu from: { 
-                         { 'isolate changes of this project' . {self. #beIsolated}.
-                                 'Isolate this project and its subprojects from the rest of the system.  Changes to methods here will be revoked when you leave this project.'}.
-                 }.
-         ].
- 
          ^ menu!

Item was added:
+ ----- Method: MorphicProject>>saveState (in category 'enter') -----
+ saveState
+ 	"Save the current state in me prior to leaving this project"
+ 
+ 	changeSet := ChangeSet current.
+ 	thumbnail ifNotNil: [thumbnail hibernate].
+ 	world := World.
+ 	world sleep.
+ 	ActiveWorld := ActiveHand := ActiveEvent := nil.
+ 	Sensor flushAllButDandDEvents. "Will be reinstalled by World>>install"
+ 	transcript := Transcript
+ !

Item was removed:
- ----- Method: TheWorldMenu>>beIsolated (in category 'commands') -----
- beIsolated
-         "Establish this project as an isolation layer.
-         Further method changes made here will be revoked when you leave the project."
- 
-         self projectForMyWorld beIsolated.!

Item was removed:
- ----- Method: TheWorldMenu>>propagateChanges (in category 'commands') -----
- propagateChanges
-         "The changes made in this isolated project will be propagated to projects above."
- 
-         self projectForMyWorld propagateChanges.!



More information about the Packages mailing list