[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