[etoys-dev] Etoys Inbox: Morphic-Richo.7.mcz

commits at source.squeak.org commits at source.squeak.org
Sat May 22 15:22:33 EDT 2010


A new version of Morphic was added to project Etoys Inbox:
http://source.squeak.org/etoysinbox/Morphic-Richo.7.mcz

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

Name: Morphic-Richo.7
Author: Richo
Time: 22 May 2010, 4:21:08 pm
UUID: 2efcbe60-5140-e94b-b8db-23242b1b23fd
Ancestors: Morphic-kfr.6

* Fixed TheWorldMenu to avoid sending #translated twice for all its items.

=============== Diff against Morphic-kfr.6 ===============

Item was changed:
  ----- Method: TheWorldMenu>>openMenu (in category 'construction') -----
  openMenu
  	"Build the open window menu for the world."
  
  	| menu |
  	menu _ self menu: 'open...' translatedNoop.
  	self fillIn: menu from: {
  
+ 		{'browser (b)' translatedNoop. { self . #openBrowser}. 'A five-paned tool that lets you see all the code in the system' translatedNoop}.
+ 		{'package-pane browser' translatedNoop. { PackagePaneBrowser . #openBrowser} . 'Similar to the regular browser, but adds an extra pane at top-left that groups class-categories that start with the same prefix' translatedNoop}.
+ 		{'workspace (k)' translatedNoop. {self . #openWorkspace}. 'A window for composing text' translatedNoop}.
+ 		{'file list' translatedNoop. {self . #openFileList} . 'A tool allowing you to browse any file' translatedNoop}.
+ 		{'file...' translatedNoop. { FileList . #openFileDirectly} . 'Lets you open a window on a single file' translatedNoop}.
+ 		{'transcript (t)' translatedNoop. {self . #openTranscript}. 'A window used to report messages sent to Transcript' translatedNoop}.
- 		{'browser (b)' translated. { self . #openBrowser}. 'A five-paned tool that lets you see all the code in the system' translated}.
- 		{'package-pane browser' translated. { PackagePaneBrowser . #openBrowser} . 'Similar to the regular browser, but adds an extra pane at top-left that groups class-categories that start with the same prefix' translated}.
- 		{'workspace (k)' translated. {self . #openWorkspace}. 'A window for composing text' translated}.
- 		{'file list' translated. {self . #openFileList} . 'A tool allowing you to browse any file' translated}.
- 		{'file...' translated. { FileList . #openFileDirectly} . 'Lets you open a window on a single file' translated}.
- 		{'transcript (t)' translated. {self . #openTranscript}. 'A window used to report messages sent to Transcript' translated}.
  		"{'inner world' translated. { WorldWindow . #test1} }."
+ 		{'event theatre' translatedNoop. {EventRecordingSpace. #open}. 'A place for recording "event movies" using the Event Recorder' translatedNoop}.
- 		{'event theatre' translated. {EventRecordingSpace. #open}. 'A place for recording "event movies" using the Event Recorder' translated}.
  		nil.
+ 		{'method finder' translatedNoop . { self . #openSelectorBrowser} . 'A tool for discovering methods' translatedNoop}.
+ 		{'message names (W)' translatedNoop. { self . #openMessageNames} . 'A tool for finding and editing methods that contain any given keyword in their names.' translatedNoop}.
- 		{'method finder' translated . { self . #openSelectorBrowser} . 'A tool for discovering methods' translated}.
- 		{'message names (W)' translated. { self . #openMessageNames} . 'A tool for finding and editing methods that contain any given keyword in their names.' translated}.
  			 nil.
+ 		{'simple change sorter' translatedNoop. {self . #openChangeSorter1} . 'A tool allowing you to view the methods in a single change set' translatedNoop}.
+ 		{'dual change sorter' translatedNoop. {self . #openChangeSorter2} . 'A tool allowing you to compare and manipulate two change sets concurrently' translatedNoop}.
- 		{'simple change sorter' translated. {self . #openChangeSorter1} . 'A tool allowing you to view the methods in a single change set' translated}.
- 		{'dual change sorter' translated. {self . #openChangeSorter2} . 'A tool allowing you to compare and manipulate two change sets concurrently' translated}.
  		nil.
  	}.
  	self fillIn: menu from: self class registeredOpenCommands.
  	menu addLine.
  
  	self mvcProjectsAllowed ifTrue:
+ 		[self fillIn: menu from: { {'mvc project' translatedNoop. {self. #openMVCProject} . 'Creates a new project of the classic "mvc" style' translatedNoop} }].
- 		[self fillIn: menu from: { {'mvc project' translated. {self. #openMVCProject} . 'Creates a new project of the classic "mvc" style' translated} }].
  
  	^ self fillIn: menu from: { 
+ 		{'morphic project' translatedNoop. {self. #openMorphicProject} . 'Creates a new morphic project' translatedNoop}.
- 		{'morphic project' translated. {self. #openMorphicProject} . 'Creates a new morphic project' translated}.
  	}.!

Item was changed:
  ----- Method: TheWorldMenu>>remoteMenu (in category 'construction') -----
  remoteMenu
          "Build the Telemorphic menu for the world."
  
          ^self fillIn: (self menu: 'Telemorphic' translatedNoop) from: {
+                 { 'local host address' translatedNoop. { #myWorld . #reportLocalAddress } }.
+                 { 'connect remote user' translatedNoop. { #myWorld . #connectRemoteUser } }.
+                 { 'disconnect remote user' translatedNoop. { #myWorld . #disconnectRemoteUser } }.
+                 { 'disconnect all remote users' translatedNoop. { #myWorld . #disconnectAllRemoteUsers } }.
-                 { 'local host address' translated. { #myWorld . #reportLocalAddress } }.
-                 { 'connect remote user' translated. { #myWorld . #connectRemoteUser } }.
-                 { 'disconnect remote user' translated. { #myWorld . #disconnectRemoteUser } }.
-                 { 'disconnect all remote users' translated. { #myWorld . #disconnectAllRemoteUsers } }.
          }!

Item was changed:
  ----- Method: TheWorldMenu>>windowsMenu (in category 'windows & flaps menu') -----
  windowsMenu
          "Build the windows menu for the world."
  
          ^ self fillIn: (self menu: 'windows' translatedNoop) from: {  
+                 { 'find window' translatedNoop. { #myWorld . #findWindow: }. 'Presents a list of all windows; if you choose one from the list, it becomes the active window.' translatedNoop}.
-                 { 'find window' translated. { #myWorld . #findWindow: }. 'Presents a list of all windows; if you choose one from the list, it becomes the active window.' translated}.
  
+                 { 'find changed browsers...' translatedNoop. { #myWorld . #findDirtyBrowsers: }. 'Presents a list of browsers that have unsubmitted changes; if you choose one from the list, it becomes the active window.' translatedNoop}.
-                 { 'find changed browsers...' translated. { #myWorld . #findDirtyBrowsers: }. 'Presents a list of browsers that have unsubmitted changes; if you choose one from the list, it becomes the active window.' translated}.
  
+                 { 'find changed windows...' translatedNoop. { #myWorld . #findDirtyWindows: }. 'Presents a list of all windows that have unsubmitted changes; if you choose one from the list, it becomes the active window.' translatedNoop}.
-                 { 'find changed windows...' translated. { #myWorld . #findDirtyWindows: }. 'Presents a list of all windows that have unsubmitted changes; if you choose one from the list, it becomes the active window.' translated}.
  			nil.
  
+                 { 'find a transcript (t)' translatedNoop. { #myWorld . #findATranscript: }. 'Brings an open Transcript to the front, creating one if necessary, and makes it the active window' translatedNoop}.
-                 { 'find a transcript (t)' translated. { #myWorld . #findATranscript: }. 'Brings an open Transcript to the front, creating one if necessary, and makes it the active window' translated}.
  
+                { 'find a fileList (L)' translatedNoop. { #myWorld . #findAFileList: }. 'Brings an open fileList  to the front, creating one if necessary, and makes it the active window' translatedNoop}.
-                { 'find a fileList (L)' translated. { #myWorld . #findAFileList: }. 'Brings an open fileList  to the front, creating one if necessary, and makes it the active window' translated}.
  
+                { 'find a change sorter (C)' translatedNoop. { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window' translatedNoop}.
-                { 'find a change sorter (C)' translated. { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window' translated}.
  
+ 			{ 'find message names (W)' translatedNoop. { #myWorld . #findAMessageNamesWindow: }. 'Brings an open MessageNames window to the front, creating one if necessary, and makes it the active window' translatedNoop}.
- 			{ 'find message names (W)' translated. { #myWorld . #findAMessageNamesWindow: }. 'Brings an open MessageNames window to the front, creating one if necessary, and makes it the active window' translated}.
  
  			 nil.
                  { #staggerPolicyString . { self . #toggleWindowPolicy }. 'stagger: new windows positioned so you can see a portion of each one.
+                 tile: new windows positioned so that they do not overlap others, if possible.' translatedNoop}.
-                 tile: new windows positioned so that they do not overlap others, if possible.' translated}.
  
                  nil.
+                 { 'collapse all windows' translatedNoop. { #myWorld . #collapseAllWindows }. 'Reduce all open windows to collapsed forms that only show titles.' translatedNoop}.
+                 { 'collapse all objects' translatedNoop. { #myWorld . #collapseAllWindowsAndNonWindows }. 'Reduce all open windows and all other objects on the desktop to labeled tabs' translatedNoop}.
+                 { 'expand all' translatedNoop. { #myWorld . #expandAllCollapsedObjects }. 'Expand all collapsed windows and other collapsed objects back to their expanded forms.' translatedNoop}.
-                 { 'collapse all windows' translated. { #myWorld . #collapseAllWindows }. 'Reduce all open windows to collapsed forms that only show titles.' translated}.
-                 { 'collapse all objects' translated. { #myWorld . #collapseAllWindowsAndNonWindows }. 'Reduce all open windows and all other objects on the desktop to labeled tabs' translated}.
-                 { 'expand all' translated. { #myWorld . #expandAllCollapsedObjects }. 'Expand all collapsed windows and other collapsed objects back to their expanded forms.' translated}.
  		
+                 { 'close top window (w)' translatedNoop. { SystemWindow . #closeTopWindow }. 'Close the topmost window if possible.' translatedNoop}.
+                 { 'send top window to back (\)' translatedNoop. { SystemWindow . #sendTopWindowToBack  }. 'Make the topmost window become the backmost one, and activate the window just beneath it.' translatedNoop}.
+ 			 { 'move windows onscreen' translatedNoop. { #myWorld . #bringWindowsFullOnscreen }. 'Make all windows fully visible on the screen' translatedNoop}.
-                 { 'close top window (w)' translated. { SystemWindow . #closeTopWindow }. 'Close the topmost window if possible.' translated}.
-                 { 'send top window to back (\)' translated. { SystemWindow . #sendTopWindowToBack  }. 'Make the topmost window become the backmost one, and activate the window just beneath it.' translated}.
- 			 { 'move windows onscreen' translated. { #myWorld . #bringWindowsFullOnscreen }. 'Make all windows fully visible on the screen' translated}.
  
                  nil.
+                 { 'delete unchanged windows' translatedNoop. { #myWorld . #closeUnchangedWindows }. 'Deletes all windows that do not have unsaved text edits.' translatedNoop}.
+                 { 'delete non-windows' translatedNoop. { #myWorld . #deleteNonWindows }. 'Deletes all non-window morphs lying on the world.' translatedNoop}.
+                 { 'delete both of the above' translatedNoop. { self . #cleanUpWorld }. 'deletes all unchanged windows and also all non-window morphs lying on the world, other than flaps.' translatedNoop}.
-                 { 'delete unchanged windows' translated. { #myWorld . #closeUnchangedWindows }. 'Deletes all windows that do not have unsaved text edits.' translated}.
-                 { 'delete non-windows' translated. { #myWorld . #deleteNonWindows }. 'Deletes all non-window morphs lying on the world.' translated}.
-                 { 'delete both of the above' translated. { self . #cleanUpWorld }. 'deletes all unchanged windows and also all non-window morphs lying on the world, other than flaps.' translated}.
  
          }!

Item was changed:
  ----- Method: TheWorldMenu>>buildWorldMenu (in category 'construction') -----
  buildWorldMenu
  	"Build the menu that is put up when the screen-desktop is clicked on"
  
  	| menu |
  	menu _ MenuMorph new defaultTarget: self.
  	menu commandKeyHandler: self.
  	self colorForDebugging: menu.
  	menu addStayUpItem.
  	self fillIn: menu from: {
+ 		{'previous project' translatedNoop. { #myWorld . #goBack }. 'return to the most-recently-visited project' translatedNoop}.
+ 		{'jump to project...' translatedNoop. { #myWorld . #jumpToProject }. 'put up a list of all projects, letting me choose one to go to' translatedNoop}.
+ 		{'save project on file...' translatedNoop. { #myWorld  . #saveOnFile }. 'save this project on a file' translatedNoop}.
+ 		{'load project from file...' translatedNoop. { self  . #loadProject }. 'load a project from a file' translatedNoop}.
- 		{'previous project' translated. { #myWorld . #goBack }. 'return to the most-recently-visited project' translated}.
- 		{'jump to project...' translated. { #myWorld . #jumpToProject }. 'put up a list of all projects, letting me choose one to go to' translated}.
- 		{'save project on file...' translated. { #myWorld  . #saveOnFile }. 'save this project on a file' translated}.
- 		{'load project from file...' translated. { self  . #loadProject }. 'load a project from a file' translated}.
  		nil}.
  	myWorld addUndoItemsTo: menu.
  
  		self fillIn: menu from: {
+ 		{'restore display (r)'  translatedNoop. { World . #restoreMorphicDisplay }. 'repaint the screen -- useful for removing unwanted display artifacts, lingering cursors, etc.' translatedNoop}.
- 		{'restore display (r)'  translated. { World . #restoreMorphicDisplay }. 'repaint the screen -- useful for removing unwanted display artifacts, lingering cursors, etc.' translated}.
  		nil}.
  	Preferences simpleMenus ifFalse:
  		[self fillIn: menu from: { 
+ 			{'open...' translatedNoop. { self  . #openWindow } }.
+ 			{'windows...' translatedNoop. { self  . #windowsDo } }.
+ 			{'changes...' translatedNoop. { self  . #changesDo } }}].
- 			{'open...' translated. { self  . #openWindow } }.
- 			{'windows...' translated. { self  . #windowsDo } }.
- 			{'changes...' translated. { self  . #changesDo } }}].
  	self fillIn: menu from: { 
+ 		{'help...' translatedNoop. { self  . #helpDo }.  'puts up a menu of useful items for updating the system, determining what version you are running, and much else' translatedNoop}.
+ 		{'appearance...' translatedNoop. { self  . #appearanceDo }. 'put up a menu offering many controls over appearance.' translatedNoop}}.
- 		{'help...' translated. { self  . #helpDo }.  'puts up a menu of useful items for updating the system, determining what version you are running, and much else' translated}.
- 		{'appearance...' translated. { self  . #appearanceDo }. 'put up a menu offering many controls over appearance.' translated}}.
  
  	Preferences simpleMenus ifFalse:
  		[self fillIn: menu from: {
+ 			{'do...' translatedNoop. { Utilities . #offerCommonRequests} . 'put up an editible list of convenient expressions, and evaluate the one selected.' translatedNoop}}].
- 			{'do...' translated. { Utilities . #offerCommonRequests} . 'put up an editible list of convenient expressions, and evaluate the one selected.' translated}}].
  
  	self fillIn: menu from: { 
  		nil.
+ 		{'objects (o)' translatedNoop. { #myWorld . #activateObjectsTool } . 'A tool for finding and obtaining many kinds of objects' translatedNoop}.
+ 		{'new morph...' translatedNoop. { self  . #newMorph }. 'Offers a variety of ways to create new objects' translatedNoop}.
- 		{'objects (o)' translated. { #myWorld . #activateObjectsTool } . 'A tool for finding and obtaining many kinds of objects' translated}.
- 		{'new morph...' translated. { self  . #newMorph }. 'Offers a variety of ways to create new objects' translated}.
  		nil.
+ 		{'authoring tools...' translatedNoop. { self  . #scriptingDo } . 'A menu of choices useful for authoring' translatedNoop}.
+ 		{'playfield options...' translatedNoop. { self  . #playfieldDo } . 'A menu of options pertaining to this object as viewed as a playfield' translatedNoop}.
+ 		{'flaps...' translatedNoop. { self . #flapsDo } . 'A menu relating to use of flaps.  For best results, use "keep this menu up"' translatedNoop}.
+ 		{'projects...' translatedNoop. { self  . #projectDo }. 'A menu of commands relating to use of projects' translatedNoop}}.
- 		{'authoring tools...' translated. { self  . #scriptingDo } . 'A menu of choices useful for authoring' translated}.
- 		{'playfield options...' translated. { self  . #playfieldDo } . 'A menu of options pertaining to this object as viewed as a playfield' translated}.
- 		{'flaps...' translated. { self . #flapsDo } . 'A menu relating to use of flaps.  For best results, use "keep this menu up"' translated}.
- 		{'projects...' translated. { self  . #projectDo }. 'A menu of commands relating to use of projects' translated}}.
  	Preferences simpleMenus ifFalse:
  		[self fillIn: menu from: { 
+ 			{'print PS to file...' translatedNoop. { self  . #printWorldOnFile } . 'write the world into a postscript file' translatedNoop}.
+ 			{'debug...' translatedNoop. { self  . #debugDo } . 'a menu of debugging items' translatedNoop}}].
- 			{'print PS to file...' translated. { self  . #printWorldOnFile } . 'write the world into a postscript file' translated}.
- 			{'debug...' translated. { self  . #debugDo } . 'a menu of debugging items' translated}}].
  	self fillIn: menu from: { 
  		nil.
+ 		{'save' translatedNoop. { SmalltalkImage current  . #saveSession } . 'save the current version of the image on disk' translatedNoop}.
+ 		{'save as...' translatedNoop. { SmalltalkImage current . #saveAs }. 'save the current version of the image on disk under a new name.' translatedNoop}.
+ 		{'save as new version' translatedNoop. { SmalltalkImage current . #saveAsNewVersion }. 'give the current image a new version-stamped name and save it under that name on disk.' translatedNoop}.
+ 		{'save and quit' translatedNoop. { self  . #saveAndQuit } . 'save the current image on disk, and quit out of Squeak.' translatedNoop}.
+ 		{'quit' translatedNoop. { self  . #quitSession } . 'quit out of Squeak.' translatedNoop}}.
- 		{'save' translated. { SmalltalkImage current  . #saveSession } . 'save the current version of the image on disk' translated}.
- 		{'save as...' translated. { SmalltalkImage current . #saveAs }. 'save the current version of the image on disk under a new name.' translated}.
- 		{'save as new version' translated. { SmalltalkImage current . #saveAsNewVersion }. 'give the current image a new version-stamped name and save it under that name on disk.' translated}.
- 		{'save and quit' translated. { self  . #saveAndQuit } . 'save the current image on disk, and quit out of Squeak.' translated}.
- 		{'quit' translated. { self  . #quitSession } . 'quit out of Squeak.' translated}}.
  
  	^ menu!

Item was changed:
  ----- Method: TheWorldMenu>>changesMenu (in category 'construction') -----
  changesMenu
          "Build the changes menu for the world."
  
          | menu |
          menu _ self menu: 'changes...' translatedNoop.
          self fillIn: menu from: {
+                 { 'file out current change set' translatedNoop. { ChangeSet current . #verboseFileOut}.
+                                 'Write the current change set out to a file whose name reflects the change set name and the current date & time.' translatedNoop}.
+                 { 'create new change set...' translatedNoop. { ChangeSorter . #newChangeSet}. 'Create a new change set and make it the current one.' translatedNoop}.
+                 { 'browse changed methods' translatedNoop. { ChangeSet  . #browseChangedMessages}.  'Open a message-list browser showing all methods in the current change set' translatedNoop}.
+                 { 'check change set for slips' translatedNoop. { 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.' translatedNoop}.
-                 { 'file out current change set' translated. { ChangeSet current . #verboseFileOut}.
-                                 'Write the current change set out to a file whose name reflects the change set name and the current date & time.' translated}.
-                 { 'create new change set...' translated. { ChangeSorter . #newChangeSet}. 'Create a new change set and make it the current one.' translated}.
-                 { 'browse changed methods' translated. { ChangeSet  . #browseChangedMessages}.  'Open a message-list browser showing all methods in the current change set' translated}.
-                 { 'check change set for slips' translated. { 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.' translated}.
  
                  nil.
+                 { 'simple change sorter' translatedNoop. {self. #openChangeSorter1}.  'Open a 3-paned changed-set viewing tool' translatedNoop}.
+                 { 'dual change sorter' translatedNoop. {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.' translatedNoop}.
+                { 'find a change sorter (C)' translatedNoop. { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window' translatedNoop}.
-                 { 'simple change sorter' translated. {self. #openChangeSorter1}.  'Open a 3-paned changed-set viewing tool' translated}.
-                 { 'dual change sorter' translated. {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.' translated}.
-                { 'find a change sorter (C)' translated. { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window' translated}.
                  nil.
+                 { 'browse recent submissions' translatedNoop. { 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.' translatedNoop}.
-                 { 'browse recent submissions' translated. { 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.' translated}.
  
+                 { 'find recent submissions (R)' translatedNoop. { #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.' translatedNoop}.
-                 { 'find recent submissions (R)' translated. { #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.' translated}.
  
  			nil.
+                 { 'recently logged changes...' translatedNoop. { ChangeList . #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.' translatedNoop}.
-                 { 'recently logged changes...' translated. { ChangeList . #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.' translated}.
  
+                 { 'recent log file...' translatedNoop. { Smalltalk . #writeRecentToFile}.
+                                 'Create a file holding the logged changes (going as far back as you wish), and open a window on that file.' translatedNoop}.
-                 { 'recent log file...' translated. { Smalltalk . #writeRecentToFile}.
-                                 'Create a file holding the logged changes (going as far back as you wish), and open a window on that file.' translated}.
  
                  nil.
+                 { 'save world as morph file' translatedNoop. {self. #saveWorldInFile}. 'Save a file that, when reloaded, reconstitutes the current World.' translatedNoop}.
-                 { 'save world as morph file' translated. {self. #saveWorldInFile}. 'Save a file that, when reloaded, reconstitutes the current World.' translated}.
                  nil.
          }.
          self projectForMyWorld isIsolated ifTrue: [
                  self fillIn: menu from: { 
+                         { 'propagate changes upward' translatedNoop. {self. #propagateChanges}.
+                                 'The changes made in this isolated project will propagate to projects up to the next isolation layer.' translatedNoop}.
-                         { 'propagate changes upward' translated. {self. #propagateChanges}.
-                                 'The changes made in this isolated project will propagate to projects up to the next isolation layer.' translated}.
                  }.
          ] ifFalse: [
                  self fillIn: menu from: { 
+                         { 'isolate changes of this project' translatedNoop. {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.' translatedNoop}.
-                         { 'isolate changes of this project' translated. {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.' translated}.
                  }.
          ].
  
          ^ menu!

Item was changed:
  ----- Method: TheWorldMenu>>buildShowSourceMenu (in category 'construction') -----
  buildShowSourceMenu
  	"Build the menu that is put up when the show-source button is hit."
  
  	| menu |
  	menu _ MenuMorph new defaultTarget: self.
  	menu commandKeyHandler: self.
  	self colorForDebugging: menu.
  	menu addStayUpItem.
  
  	self fillIn: menu from: { 
+ 		{'open...' translatedNoop. { self  . #openWindow } }.
+ 		{'windows...' translatedNoop. { self  . #windowsDo } }.
+ 		{'changes...' translatedNoop. { self  . #changesDo } }}.
- 		{'open...' translated. { self  . #openWindow } }.
- 		{'windows...' translated. { self  . #windowsDo } }.
- 		{'changes...' translated. { self  . #changesDo } }}.
  	self fillIn: menu from: { 
+ 		{'help...' translatedNoop. { self  . #helpDo }.  'puts up a menu of useful items for updating the system, determining what version you are running, and much else' translatedNoop}.
+ 		{'appearance...' translatedNoop. { self  . #appearanceDo }. 'put up a menu offering many controls over appearance.' translatedNoop}}.
- 		{'help...' translated. { self  . #helpDo }.  'puts up a menu of useful items for updating the system, determining what version you are running, and much else' translated}.
- 		{'appearance...' translated. { self  . #appearanceDo }. 'put up a menu offering many controls over appearance.' translated}}.
  
  	self fillIn: menu from: {
+ 			{'do...' translatedNoop. { Utilities . #offerCommonRequests} . 'put up an editible list of convenient expressions, and evaluate the one selected.' translatedNoop}}.
- 			{'do...' translated. { Utilities . #offerCommonRequests} . 'put up an editible list of convenient expressions, and evaluate the one selected.' translated}}.
  
  	self fillIn: menu from: { 
  		nil.
+ 		{'objects (o)' translatedNoop. { #myWorld . #activateObjectsTool } . 'A tool for finding and obtaining many kinds of objects' translatedNoop}.
+ 		{'new morph...' translatedNoop. { self  . #newMorph }. 'Offers a variety of ways to create new objects' translatedNoop}.
- 		{'objects (o)' translated. { #myWorld . #activateObjectsTool } . 'A tool for finding and obtaining many kinds of objects' translated}.
- 		{'new morph...' translated. { self  . #newMorph }. 'Offers a variety of ways to create new objects' translated}.
  		nil.
+ 		{'authoring tools...' translatedNoop. { self  . #scriptingDo } . 'A menu of choices useful for authoring' translatedNoop}.
+ 		{'playfield options...' translatedNoop. { self  . #playfieldDo } . 'A menu of options pertaining to this object as viewed as a playfield' translatedNoop}.
+ 		{'flaps...' translatedNoop. { self . #flapsDo } . 'A menu relating to use of flaps.  For best results, use "keep this menu up"' translatedNoop}.
+ 		{'projects...' translatedNoop. { self  . #projectDo }. 'A menu of commands relating to use of projects' translatedNoop}.
+ 		{'debug...' translatedNoop. { self  . #debugDo } . 'a menu of debugging items' translatedNoop}.
- 		{'authoring tools...' translated. { self  . #scriptingDo } . 'A menu of choices useful for authoring' translated}.
- 		{'playfield options...' translated. { self  . #playfieldDo } . 'A menu of options pertaining to this object as viewed as a playfield' translated}.
- 		{'flaps...' translated. { self . #flapsDo } . 'A menu relating to use of flaps.  For best results, use "keep this menu up"' translated}.
- 		{'projects...' translated. { self  . #projectDo }. 'A menu of commands relating to use of projects' translated}.
- 		{'debug...' translated. { self  . #debugDo } . 'a menu of debugging items' translated}.
  		nil.
+ 		{'edit this menu' translatedNoop.  { self . #editShowSourceMenu } . 'open a code editor on the method that defines this menu' translatedNoop}}.
- 		{'edit this menu' translated.  { self . #editShowSourceMenu } . 'open a code editor on the method that defines this menu' translated}}.
  
  	^ menu!

Item was changed:
  ----- Method: TheWorldMenu>>appearanceMenu (in category 'construction') -----
  appearanceMenu
  	"Build the appearance menu for the world."
  	| screenCtrl |
  
  	screenCtrl _ DisplayScreen.
  	^self fillIn: (self menu: 'appearance...' translatedNoop) from: {
  
+ 		{'preferences...' translatedNoop. { Preferences . #openFactoredPanel} . 'Opens a "Preferences Panel" which allows you to alter many settings' translatedNoop} .
+ 		{'choose theme...' translatedNoop. { Preferences . #offerThemesMenu} . 'Presents you with a menu of themes; each item''s balloon-help will tell you about the theme.  If you choose a theme, many different preferences that come along with that theme are set at the same time; you can subsequently change any settings by using a Preferences Panel' translatedNoop} .
- 		{'preferences...' translated. { Preferences . #openFactoredPanel} . 'Opens a "Preferences Panel" which allows you to alter many settings' translated} .
- 		{'choose theme...' translated. { Preferences . #offerThemesMenu} . 'Presents you with a menu of themes; each item''s balloon-help will tell you about the theme.  If you choose a theme, many different preferences that come along with that theme are set at the same time; you can subsequently change any settings by using a Preferences Panel' translated} .
  		nil .
+ 		{'window colors...' translatedNoop. { Preferences . #windowSpecificationPanel} . 'Lets you specify colors for standard system windows.' translatedNoop}.
+ 		{'system fonts...' translatedNoop. { self . #standardFontDo} . 'Choose the standard fonts to use for code, lists, menus, window titles, etc.' translatedNoop}.
+ 		{'text highlight color...' translatedNoop. { Preferences . #chooseTextHighlightColor} . 'Choose which color should be used for text highlighting in Morphic.' translatedNoop}.
+ 		{'insertion point color...' translatedNoop. { Preferences . #chooseInsertionPointColor} . 'Choose which color to use for the text insertion point in Morphic.' translatedNoop}.
+ 		{'keyboard focus color' translatedNoop. { Preferences . #chooseKeyboardFocusColor} . 'Choose which color to use for highlighting which pane has the keyboard focus' translatedNoop}.
- 		{'window colors...' translated. { Preferences . #windowSpecificationPanel} . 'Lets you specify colors for standard system windows.' translated}.
- 		{'system fonts...' translated. { self . #standardFontDo} . 'Choose the standard fonts to use for code, lists, menus, window titles, etc.' translated}.
- 		{'text highlight color...' translated. { Preferences . #chooseTextHighlightColor} . 'Choose which color should be used for text highlighting in Morphic.' translated}.
- 		{'insertion point color...' translated. { Preferences . #chooseInsertionPointColor} . 'Choose which color to use for the text insertion point in Morphic.' translated}.
- 		{'keyboard focus color' translated. { Preferences . #chooseKeyboardFocusColor} . 'Choose which color to use for highlighting which pane has the keyboard focus' translated}.
  		nil.
+ 		{#menuColorString . { Preferences . #toggleMenuColorPolicy} . 'Governs whether menu colors should be derived from the desktop color.' translatedNoop}.
+ 		{#roundedCornersString . { Preferences . #toggleRoundedCorners} . 'Governs whether morphic windows and menus should have rounded corners.' translatedNoop}.
- 		{#menuColorString . { Preferences . #toggleMenuColorPolicy} . 'Governs whether menu colors should be derived from the desktop color.' translated}.
- 		{#roundedCornersString . { Preferences . #toggleRoundedCorners} . 'Governs whether morphic windows and menus should have rounded corners.' translated}.
  		nil.
+ 		{'full screen on' translatedNoop. { screenCtrl . #fullScreenOn} . 'puts you in full-screen mode, if not already there.' translatedNoop}.
+ 		{'full screen off' translatedNoop. { screenCtrl . #fullScreenOff} . 'if in full-screen mode, takes you out of it.' translatedNoop}.
- 		{'full screen on' translated. { screenCtrl . #fullScreenOn} . 'puts you in full-screen mode, if not already there.' translated}.
- 		{'full screen off' translated. { screenCtrl . #fullScreenOff} . 'if in full-screen mode, takes you out of it.' translated}.
  		nil.
+ 		{'set display depth...' translatedNoop. {self. #setDisplayDepth} . 'choose how many bits per pixel.' translatedNoop}.
+ 		{'set desktop color...' translatedNoop. {self. #changeBackgroundColor} . 'choose a uniform color to use as desktop background.' translatedNoop}.
+ 		{'set gradient color...' translatedNoop. {self. #setGradientColor} . 'choose second color to use as gradient for desktop background.' translatedNoop}.
+ 		{'use texture background' translatedNoop. { #myWorld . #setStandardTexture} . 'apply a graph-paper-like texture background to the desktop.' translatedNoop}.
- 		{'set display depth...' translated. {self. #setDisplayDepth} . 'choose how many bits per pixel.' translated}.
- 		{'set desktop color...' translated. {self. #changeBackgroundColor} . 'choose a uniform color to use as desktop background.' translated}.
- 		{'set gradient color...' translated. {self. #setGradientColor} . 'choose second color to use as gradient for desktop background.' translated}.
- 		{'use texture background' translated. { #myWorld . #setStandardTexture} . 'apply a graph-paper-like texture background to the desktop.' translated}.
  		nil.
+ 		{'clear turtle trails from desktop' translatedNoop. { #myWorld . #clearTurtleTrails} . 'remove any pigment laid down on the desktop by objects moving with their pens down.' translatedNoop}.
+ 		{'pen-trail arrowhead size...' translatedNoop. { Preferences. #setArrowheads} . 'choose the shape to be used in arrowheads on pen trails.' translatedNoop}.
- 		{'clear turtle trails from desktop' translated. { #myWorld . #clearTurtleTrails} . 'remove any pigment laid down on the desktop by objects moving with their pens down.' translated}.
- 		{'pen-trail arrowhead size...' translated. { Preferences. #setArrowheads} . 'choose the shape to be used in arrowheads on pen trails.' translated}.
  
  	}!

Item was changed:
  ----- Method: TheWorldMenu>>debugMenu (in category 'construction') -----
  debugMenu
  
          | menu |
  
          menu _ self menu: 'debug...' translatedNoop.
          ^self fillIn: menu from: { 
+                 { 'inspect world' translatedNoop. { #myWorld . #inspect } }.
+                 { 'explore world' translatedNoop. { #myWorld . #explore } }.
+                 { 'inspect model' translatedNoop. { self . #inspectWorldModel } }.
-                 { 'inspect world' translated. { #myWorld . #inspect } }.
-                 { 'explore world' translated. { #myWorld . #explore } }.
-                 { 'inspect model' translated. { self . #inspectWorldModel } }.
                          " { 'talk to world...' translated. { self . #typeInMessageToWorld } }."
+                 { 'start MessageTally' translatedNoop. { self . #startMessageTally } }.
+                 { 'start/browse MessageTally' translatedNoop. { self . #startThenBrowseMessageTally } }.
+                 { 'open process browser' translatedNoop. { ProcessBrowser . #open } }.
-                 { 'start MessageTally' translated. { self . #startMessageTally } }.
-                 { 'start/browse MessageTally' translated. { self . #startThenBrowseMessageTally } }.
-                 { 'open process browser' translated. { ProcessBrowser . #open } }.
                  nil.
                          "(self hasProperty: #errorOnDraw) ifTrue:  Later make this come up only when needed."
+                 { 'start drawing again' translatedNoop. { #myWorld . #resumeAfterDrawError } }.
+                 { 'start stepping again' translatedNoop. { #myWorld . #resumeAfterStepError } }.
-                 { 'start drawing again' translated. { #myWorld . #resumeAfterDrawError } }.
-                 { 'start stepping again' translated. { #myWorld . #resumeAfterStepError } }.
                  nil.
+                 { 'call #tempCommand' translatedNoop. { #myWorld . #tempCommand } }.
+                 { 'define #tempCommand' translatedNoop. { #myWorld . #defineTempCommand } }.
-                 { 'call #tempCommand' translated. { #myWorld . #tempCommand } }.
-                 { 'define #tempCommand' translated. { #myWorld . #defineTempCommand } }.
          }
  !

Item was changed:
  ----- Method: TheWorldMenu>>helpMenu (in category 'construction') -----
  helpMenu
          "Build the help menu for the world."
          |  menu |
  
    	menu := self menu: 'help...' translatedNoop.
  
          self fillIn: menu from:
          {
+                 {'about this system...' translatedNoop. {SmalltalkImage current. #aboutThisSystem}. 'current version information.' translatedNoop}.
+                 {'update code from server' translatedNoop. {Utilities. #updateFromServer}. 'load latest code updates via the internet' translatedNoop}.
+                 {'preferences...' translatedNoop. {Preferences. #openPreferencesInspector}. 'view and change various options.' translatedNoop}.
+ 			 {'set language...' translatedNoop. {Project. #chooseNaturalLanguage}. 'choose the language in which tiles should be displayed.' translatedNoop} .
-                 {'about this system...' translated. {SmalltalkImage current. #aboutThisSystem}. 'current version information.' translated}.
-                 {'update code from server' translated. {Utilities. #updateFromServer}. 'load latest code updates via the internet' translated}.
-                 {'preferences...' translated. {Preferences. #openPreferencesInspector}. 'view and change various options.' translated}.
- 			 {'set language...' translated. {Project. #chooseNaturalLanguage}. 'choose the language in which tiles should be displayed.' translated} .
                  nil.
+                {'command-key help' translatedNoop. { Utilities . #openCommandKeyHelp}. 'summary of keyboard shortcuts.' translatedNoop}
-                {'command-key help' translated. { Utilities . #openCommandKeyHelp}. 'summary of keyboard shortcuts.' translated}
  	}.
  
  	self addGestureHelpItemsTo: menu.
  
  	self fillIn: menu from:
  	{
+                 {'world menu help' translatedNoop. { self . #worldMenuHelp}. 'helps find menu items buried in submenus.' translatedNoop}.
-                 {'world menu help' translated. { self . #worldMenuHelp}. 'helps find menu items buried in submenus.' translated}.
                          "{'info about flaps' . { Utilities . #explainFlaps}. 'describes how to enable and use flaps.' translated}."
+                 {'font size summary' translatedNoop. { TextStyle . #fontSizeSummary}.  'summary of names and sizes of available fonts.' translatedNoop}.
+                 {'useful expressions' translatedNoop. { Utilities . #openStandardWorkspace}. 'a window full of useful expressions.' translatedNoop}.
+ 			 {'annotation setup...' translatedNoop. { Preferences . #editAnnotations}. 'Click here to get a little window that will allow you to specify which types of annotations, in which order, you wish to see in the annotation panes of browsers and other tools' translatedNoop}.
-                 {'font size summary' translated. { TextStyle . #fontSizeSummary}.  'summary of names and sizes of available fonts.' translated}.
-                 {'useful expressions' translated. { Utilities . #openStandardWorkspace}. 'a window full of useful expressions.' translated}.
- 			 {'annotation setup...' translated. { Preferences . #editAnnotations}. 'Click here to get a little window that will allow you to specify which types of annotations, in which order, you wish to see in the annotation panes of browsers and other tools' translated}.
  			nil.
+                 {'graphical imports' translatedNoop. { Imports default . #viewImages}.  'view the global repository called ImageImports; you can easily import external graphics into ImageImports via the FileList' translatedNoop}.
+                 {'standard graphics library' translatedNoop. { ScriptingSystem . #inspectFormDictionary}.  'lets you view and change the system''s standard library of graphics.' translatedNoop}.
-                 {'graphical imports' translated. { Imports default . #viewImages}.  'view the global repository called ImageImports; you can easily import external graphics into ImageImports via the FileList' translated}.
-                 {'standard graphics library' translated. { ScriptingSystem . #inspectFormDictionary}.  'lets you view and change the system''s standard library of graphics.' translated}.
                  nil.
+                 {'telemorphic...' translatedNoop. {self. #remoteDo}.  'commands for doing multi-machine "telemorphic" experiments' translatedNoop}.
+                 {#soundEnablingString . { Preferences . #toggleSoundEnabling}. 'turning sound off will completely disable Squeak''s use of sound.' translatedNoop}.
+                 {'definition for...' translatedNoop. { Utilities . #lookUpDefinition}.  'if connected to the internet, use this to look up the definition of an English word.' translatedNoop}.
-                 {'telemorphic...' translated. {self. #remoteDo}.  'commands for doing multi-machine "telemorphic" experiments' translated}.
-                 {#soundEnablingString . { Preferences . #toggleSoundEnabling}. 'turning sound off will completely disable Squeak''s use of sound.' translated}.
-                 {'definition for...' translated. { Utilities . #lookUpDefinition}.  'if connected to the internet, use this to look up the definition of an English word.' translated}.
                  nil.
  
+                 {'set author initials...' translatedNoop. { Utilities . #setAuthorInitials }. 'supply initials to be used to identify the author of code and other content.' translatedNoop}.
+                 {'vm statistics' translatedNoop. { self . #vmStatistics}.  'obtain some intriguing data about the vm.' translatedNoop}.
-                 {'set author initials...' translated. { Utilities . #setAuthorInitials }. 'supply initials to be used to identify the author of code and other content.' translated}.
-                 {'vm statistics' translated. { self . #vmStatistics}.  'obtain some intriguing data about the vm.' translated}.
  			  nil.
+ 			  {'purge undo records' translatedNoop. { CommandHistory . #resetAllHistory }. 'save space by removing all the undo information remembered in all projects.' translatedNoop}.
+                 {'space left' translatedNoop. { self . #garbageCollect}. 'perform a full garbage-collection and report how many bytes of space remain in the image.' translatedNoop}.
- 			  {'purge undo records' translated. { CommandHistory . #resetAllHistory }. 'save space by removing all the undo information remembered in all projects.' translated}.
-                 {'space left' translated. { self . #garbageCollect}. 'perform a full garbage-collection and report how many bytes of space remain in the image.' translated}.
          }.
  
  	^menu
  
  !

Item was changed:
  ----- Method: TheWorldMenu>>projectMenu (in category 'construction') -----
  projectMenu
  	"Build the project menu for the world."
  	| menu |
  
  	self flag: #bob0302.
  
  	menu _ self menu: 'projects...' translatedNoop.
  	self fillIn: menu from: { 
+ 		{ 'save on server (also makes a local copy)' translatedNoop. { #myProject . #storeOnServer } }.
+ 		{ 'save to a different server' translatedNoop. { #myProject . #saveAs } }.
+ 		{ 'save project on local file only' translatedNoop. { #myWorld . #saveOnFile } }.
+ 		{ 'see if server version is more recent...' translatedNoop. { #myProject . #loadFromServer } }.
+ 		{ 'load project from file...' translatedNoop. { self . #loadProject } }.
- 		{ 'save on server (also makes a local copy)' translated. { #myProject . #storeOnServer } }.
- 		{ 'save to a different server' translated. { #myProject . #saveAs } }.
- 		{ 'save project on local file only' translated. { #myWorld . #saveOnFile } }.
- 		{ 'see if server version is more recent...' translated. { #myProject . #loadFromServer } }.
- 		{ 'load project from file...' translated. { self . #loadProject } }.
  		nil.
  	}.
  
  	self fillIn: menu from:
+ 		{{'show project hierarchy' translatedNoop. {Project. #showProjectHierarchyInWindow}. 'Opens a window that shows names and relationships of all the projects in your system.' translatedNoop}.
- 		{{'show project hierarchy' translated. {Project. #showProjectHierarchyInWindow}. 'Opens a window that shows names and relationships of all the projects in your system.' translated}.
  		nil}.
  
  	self mvcProjectsAllowed ifTrue: [
  		self fillIn: menu from: {
+ 			{ 'create new mvc project' translatedNoop. { self . #openMVCProject } }.
- 			{ 'create new mvc project' translated. { self . #openMVCProject } }.
  		}
  	].
  	self fillIn: menu from: { 
+ 		{ 'create new morphic project' translatedNoop. { self . #openMorphicProject } }.
- 		{ 'create new morphic project' translated. { self . #openMorphicProject } }.
  		nil.
+ 		{ 'go to previous project' translatedNoop. { Project . #returnToPreviousProject } }.
+ 		{ 'go to next project' translatedNoop. { Project . #advanceToNextProject } }.
+ 		{ 'jump to project...' translatedNoop. { #myWorld . #jumpToProject } }.
- 		{ 'go to previous project' translated. { Project . #returnToPreviousProject } }.
- 		{ 'go to next project' translated. { Project . #advanceToNextProject } }.
- 		{ 'jump to project...' translated. { #myWorld . #jumpToProject } }.
  	}.
  	Preferences simpleMenus ifFalse: [
  		self fillIn: menu from: { 
  			nil.
+ 			{ 'save for future revert' translatedNoop. { #myProject . #saveForRevert } }.
+ 			{ 'revert to saved copy' translatedNoop. { #myProject . #revert } }.
- 			{ 'save for future revert' translated. { #myProject . #saveForRevert } }.
- 			{ 'revert to saved copy' translated. { #myProject . #revert } }.
  		}.
  	].
  
  	^ menu!

Item was changed:
  SystemOrganization addCategory: #'Morphic-Balloon'!
  SystemOrganization addCategory: #'Morphic-Basic'!
  SystemOrganization addCategory: #'Morphic-Books'!
  SystemOrganization addCategory: #'Morphic-Borders'!
- SystemOrganization addCategory: #'Morphic-Buttons'!
  SystemOrganization addCategory: #'Morphic-Components'!
  SystemOrganization addCategory: #'Morphic-Demo'!
  SystemOrganization addCategory: #'Morphic-Events'!
  SystemOrganization addCategory: #'Morphic-Experimental'!
  SystemOrganization addCategory: #'Morphic-Explorer'!
- SystemOrganization addCategory: #'Morphic-Flaps'!
  SystemOrganization addCategory: #'Morphic-Games'!
  SystemOrganization addCategory: #'Morphic-Games-Chess'!
  SystemOrganization addCategory: #'Morphic-GeeMail'!
  SystemOrganization addCategory: #'Morphic-Kernel'!
- SystemOrganization addCategory: #'Morphic-Kernel-Tests'!
  SystemOrganization addCategory: #'Morphic-Layouts'!
- SystemOrganization addCategory: #'Morphic-Leds'!
  SystemOrganization addCategory: #'Morphic-Mentoring'!
  SystemOrganization addCategory: #'Morphic-Menus'!
  SystemOrganization addCategory: #'Morphic-Models'!
  SystemOrganization addCategory: #'Morphic-Navigators'!
- SystemOrganization addCategory: #'Morphic-Outliner'!
- SystemOrganization addCategory: #'Morphic-Palettes'!
  SystemOrganization addCategory: #'Morphic-PartsBin'!
  SystemOrganization addCategory: #'Morphic-PDA'!
  SystemOrganization addCategory: #'Morphic-Pluggable Widgets'!
- SystemOrganization addCategory: #'Morphic-Postscript Canvases'!
- SystemOrganization addCategory: #'Morphic-Postscript Filters'!
- SystemOrganization addCategory: #'Morphic-Scripting'!
- SystemOrganization addCategory: #'Morphic-Scripting Support'!
- SystemOrganization addCategory: #'Morphic-Scripting Tiles'!
- SystemOrganization addCategory: #'Morphic-Stacks'!
  SystemOrganization addCategory: #'Morphic-Support'!
  SystemOrganization addCategory: #'Morphic-Text Support'!
- SystemOrganization addCategory: #'Morphic-Tile Scriptors'!
  SystemOrganization addCategory: #'Morphic-TrueType'!
- SystemOrganization addCategory: #'Morphic-Undo'!
  SystemOrganization addCategory: #'Morphic-Widgets'!
  SystemOrganization addCategory: #'Morphic-Windows'!
  SystemOrganization addCategory: #'Morphic-Worlds'!



More information about the etoys-dev mailing list