The Trunk: Morphic-ar.226.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-ar.226.mcz

commits-2
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.!