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.! |
Free forum by Nabble | Edit this page |