'From etoys2.1 of 26 July 2007 [latest update: #1566] on 21 August 2007 at 3:07:17 pm'! "Change Set: TransWorldMenu-KR Date: 16 August 2007 Author: Korakurider make WorldMenu translatable"! !HTTPProxyEditor class methodsFor: 'class initialization' stamp: 'KR 8/16/2007 00:40'! registerInOpenMenu "Register the receiver in the system's open menu" TheWorldMenu registerOpenCommand: {'http proxy editor' translated. {HTTPProxyEditor. #open}. 'An editor for the http proxy settings' translated}! ! !LanguageEditor class methodsFor: 'initialize-release' stamp: 'KR 8/16/2007 00:42'! initialize "initialize the receiver" (TheWorldMenu respondsTo: #registerOpenCommand:) ifTrue: ["" TheWorldMenu registerOpenCommand: {'Language Editor' translated. {self. #openOnDefault}}. TheWorldMenu registerOpenCommand: {'Language Editor for...' translated. {self. #open}}]! ! !PackageList class methodsFor: 'as yet unclassified' stamp: 'KR 8/16/2007 00:42'! initialize TheWorldMenu registerOpenCommand: {'Package List' translated. {self. #open}}! ! !Scamper class methodsFor: 'initialization' stamp: 'KR 8/16/2007 00:41'! registerInOpenMenu "Register the receiver in the system's open menu" TheWorldMenu registerOpenCommand: { 'web browser' translated. { Scamper . #openAsMorph }. '"Scamper", a web browser' translated}. ! ! !SMLoader class methodsFor: 'menu registration' stamp: 'KR 8/16/2007 00:43'! initialize "Hook us up in the world menu." (TheWorldMenu respondsTo: #registerOpenCommand:) ifTrue: [ TheWorldMenu registerOpenCommand: {'SqueakMap Package Loader' translated. {self. #open}}. TheWorldMenu unregisterOpenCommand: 'Package Loader' translated]. DefaultFilters _ OrderedCollection new. DefaultCategoriesToFilterIds _ OrderedCollection new ! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/15/2007 23:57'! appearanceMenu "Build the appearance menu for the world." | screenCtrl | screenCtrl _ DisplayScreen. ^self fillIn: (self menu: 'appearance...') from: { {'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...' 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.' translated}. {#roundedCornersString . { Preferences . #toggleRoundedCorners} . 'Governs whether morphic windows and menus should have rounded corners.' translated}. nil. {'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...' 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' 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}. }! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/16/2007 00:02'! 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' 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)' . { World . #restoreMorphicDisplay }. 'repaint the screen -- useful for removing unwanted display artifacts, lingering cursors, etc.' translated}. nil}. Preferences simpleMenus ifFalse: [self fillIn: menu from: { {'open...' translated. { self . #openWindow } }. {'windows...' translated. { self . #windowsDo } }. {'changes...' translated. { self . #changesDo } }}]. self fillIn: menu from: { {'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...' translated. { Utilities . #offerCommonRequests} . 'put up an editible list of convenient expressions, and evaluate the one selected.' translated}}]. self fillIn: menu from: { nil. {'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...' 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...' 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' 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! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/16/2007 00:09'! changesMenu "Build the changes menu for the world." | menu | menu _ self menu: 'changes...'. self fillIn: menu from: { { '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' 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' 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)' 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...' 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...' 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' 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' 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' 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! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/16/2007 00:49'! debugMenu | menu | menu _ self menu: 'debug...'. ^self fillIn: menu from: { { 'inspect world' translated. { #myWorld . #inspect } }. { 'explore world' translated. { #myWorld . #explore } }. { 'inspect model' translated. { self . #inspectWorldModel } }. " { 'talk to world...' translated. { self . #typeInMessageToWorld } }." { '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' translated. { #myWorld . #resumeAfterDrawError } }. { 'start stepping again' translated. { #myWorld . #resumeAfterStepError } }. nil. { 'call #tempCommand' translated. { #myWorld . #tempCommand } }. { 'define #tempCommand' translated. { #myWorld . #defineTempCommand } }. } ! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/16/2007 00:33'! helpMenu "Build the help menu for the world." | menu | menu := self menu: 'help...'. self fillIn: menu from: { {'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' translated. { Utilities . #openCommandKeyHelp}. 'summary of keyboard shortcuts.' translated} }. self addGestureHelpItemsTo: menu. self fillIn: menu from: { {'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' 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' 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...' 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...' 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' 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 ! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/16/2007 00:37'! openMenu "Build the open window menu for the world." | menu | menu _ self menu: 'open...'. self fillIn: menu from: { {'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' translated. {EventRecordingSpace. #open}. 'A place for recording "event movies" using the Event Recorder' translated}. nil. {'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' 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' translated. {self. #openMVCProject} . 'Creates a new project of the classic "mvc" style' translated} }]. ^ self fillIn: menu from: { {'morphic project' translated. {self. #openMorphicProject} . 'Creates a new morphic project' translated}. }.! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/16/2007 00:15'! projectMenu "Build the project menu for the world." | menu | self flag: #bob0302. menu _ self menu: 'projects...'. self fillIn: menu from: { { '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' 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' translated. { self . #openMVCProject } }. } ]. self fillIn: menu from: { { 'create new morphic project' translated. { self . #openMorphicProject } }. nil. { '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' translated. { #myProject . #saveForRevert } }. { 'revert to saved copy' translated. { #myProject . #revert } }. }. ]. ^ menu! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 8/16/2007 00:14'! remoteMenu "Build the Telemorphic menu for the world." ^self fillIn: (self menu: 'Telemorphic') from: { { '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 } }. }! ! !TheWorldMenu methodsFor: 'windows & flaps menu' stamp: 'KR 8/16/2007 00:20'! windowsMenu "Build the windows menu for the world." ^ self fillIn: (self menu: 'windows') from: { { '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...' 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...' 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)' 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)' 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)' 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)' 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.' translated}. nil. { 'collapse all windows' translated. { #myWorld . #collapseAll }. 'Reduce all open windows to collapsed forms that only show titles.' translated}. { 'expand all windows' translated. { #myWorld . #expandAll }. 'Expand all collapsed windows back to their expanded forms.' translated}. { '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' 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}. }! ! !TheWorldMenu methodsFor: '*flexibleVocabularies-construction' stamp: 'KR 8/16/2007 00:28'! fullScriptingMenu "Build the authoring-tools menu for the world. This method offeres all the item historically offered in the full etoy system; when eToyFriendly is on, most of the items are suppressed." ^ self fillIn: (self menu: 'authoring tools...') from: { { 'objects (o)' translated. { #myWorld . #activateObjectsTool }. 'A searchable source of new objects.' translated}. nil. "----------" { 'view trash contents' translated. { #myWorld . #openScrapsBook:}. 'The place where all your trashed morphs go.' translated}. { 'empty trash can' translated. { Utilities . #emptyScrapsBookGC}. 'Empty out all the morphs that have accumulated in the trash can.' translated}. nil. "----------" { 'new scripting area' translated. { #myWorld . #detachableScriptingSpace}. 'A window set up for simple scripting.' translated}. nil. "----------" { 'status of scripts' translated. {#myWorld . #showStatusOfAllScripts}. 'Lets you view the status of all the scripts belonging to all the scripted objects of the project.' translated}. { 'summary of scripts' translated. {#myWorld . #printScriptSummary}. 'Produces a summary of scripted objects in the project, and all of their scripts.' translated}. { 'browser for scripts' translated. {#myWorld . #browseAllScriptsTextually}. 'Allows you to view all the scripts in the project in a traditional programmers'' "browser" format' translated}. nil. { 'gallery of players' translated. {#myWorld . #galleryOfPlayers}. 'A tool that lets you find out about all the players used in this project' translated}. " { 'gallery of scripts' translated. {#myWorld . #galleryOfScripts}. 'Allows you to view all the scripts in the project' translated}." { 'etoy vocabulary summary' . {#myWorld . #printVocabularySummary }. 'Displays a summary of all the pre-defined commands and properties in the pre-defined EToy vocabulary.' translated}. { 'attempt misc repairs' translated. {#myWorld . #attemptCleanup}. 'Take measures that may help fix up some things about a faulty or problematical project.' translated}. { 'remove all viewers' translated. {#myWorld . #removeAllViewers}. 'Remove all the Viewers from this project.' translated}. { 'refer to masters' translated. {#myWorld . #makeAllScriptEditorsReferToMasters }. 'Ensure that all script editors are referring to the first (alphabetically by external name) Player of their type' translated}. nil. "----------" { 'unlock locked objects' translated. { #myWorld . #unlockContents}. 'If any items on the world desktop are currently locked, unlock them.' translated}. { 'unhide hidden objects' translated. { #myWorld . #showHiders}. 'If any items on the world desktop are currently hidden, make them visible.' translated}. }! ! !TheWorldMenu methodsFor: '*flexibleVocabularies-construction' stamp: 'KR 8/16/2007 00:25'! scriptingMenu "Build the authoring-tools menu for the world. If eToyFriendly is set, a reduced menu is offered." Preferences eToyFriendly ifFalse: [^ self fullScriptingMenu]. ^ self fillIn: (self menu: 'authoring tools...') from: { { 'objects (o)' translated. { #myWorld . #activateObjectsTool }. 'A searchable source of new objects.' translated}. nil. "----------" { 'view trash contents' translated. { #myWorld . #openScrapsBook:}. 'The place where all your trashed morphs go.' translated}. { 'empty trash can' translated. { Utilities . #emptyScrapsBookGC}. 'Empty out all the morphs that have accumulated in the trash can.' translated}. nil. "----------" "{ 'new scripting area' translated. { #myWorld . #detachableScriptingSpace}. 'A window set up for simple scripting.' translated}. nil. ""----------" { 'status of scripts' translated. {#myWorld . #showStatusOfAllScripts}. 'Lets you view the status of all the scripts belonging to all the scripted objects of the project.' translated}. "{ 'summary of scripts' translated. {#myWorld . #printScriptSummary}. 'Produces a summary of scripted objects in the project, and all of their scripts.'}." "{ 'browser for scripts' translated. {#myWorld . #browseAllScriptsTextually}. 'Allows you to view all the scripts in the project in a traditional programmers'' ""browser"" format'}." { 'gallery of players' translated. {#myWorld . #galleryOfPlayers}. 'A tool that lets you find out about all the players used in this project' translated}. nil. " { 'gallery of scripts' translated. {#myWorld . #galleryOfScripts}. 'Allows you to view all the scripts in the project' translated}." "{ 'etoy vocabulary summary' translated. {#myWorld . #printVocabularySummary }. 'Displays a summary of all the pre-defined commands and properties in the pre-defined EToy vocabulary.' translated}." "{ 'attempt misc repairs' translated. {#myWorld . #attemptCleanup}. 'Take measures that may help fix up some things about a faulty or problematical project.' translated}." { 'remove all viewers' translated. {#myWorld . #removeAllViewers}. 'Remove all the Viewers from this project.' translated}. "{ 'refer to masters' translated. {#myWorld . #makeAllScriptEditorsReferToMasters }. 'Ensure that all script editors are referring to the first (alphabetically by external name) Player of their type' translated}. " "nil." "----------" "{ 'unlock locked objects' translated. { #myWorld . #unlockContents}. 'If any items on the world desktop are currently locked, unlock them.' translated}." "{ 'unhide hidden objects' translated. { #myWorld . #showHiders}. 'If any items on the world desktop are currently hidden, make them visible.' translated}." }! ! !TheWorldMenu methodsFor: '*green' stamp: 'KR 8/16/2007 00:56'! formulateFlapsMenu: aMenu "Fill aMenu with appropriate content" aMenu addTitle: 'flaps' translated. aMenu addStayUpItem. Preferences classicNavigatorEnabled ifTrue: [aMenu addUpdating: #navigatorShowingString enablementSelector: #enableProjectNavigator target: Preferences selector: #togglePreference: argumentList: #(showProjectNavigator). aMenu balloonTextForLastItem: (Preferences preferenceAt: #showProjectNavigator) helpString translated]. Flaps sharedFlapsAllowed ifTrue: [self fillIn: aMenu from: {{#suppressFlapsString. {CurrentProjectRefactoring. #currentToggleFlapsSuppressed}. 'Whether prevailing flaps should be shown in the project right now or not.' translated}}. aMenu addUpdating: #automaticFlapLayoutString target: Preferences selector: #togglePreference: argumentList: #(automaticFlapLayout). aMenu balloonTextForLastItem: (Preferences preferenceAt: #automaticFlapLayout) helpString translated. aMenu addLine. Flaps addIndividualGlobalFlapItemsTo: aMenu]. self fillIn: aMenu from: { nil. {'make a new flap' translated. {Flaps. #addLocalFlap}. 'Create a new flap. You can later make it into a shared flap is you wish.' translated}. nil.}. Flaps sharedFlapsAllowed ifTrue: [aMenu addWithLabel: 'put shared flaps on bottom' translated enablementSelector: #showSharedFlaps target: Flaps selector: #sharedFlapsAlongBottom argumentList: #(). aMenu balloonTextForLastItem: 'Group all the standard shared flaps along the bottom edge of the screen' translated. self fillIn: aMenu from: { {'destroy all shared flaps' translated. {Flaps. #disableGlobalFlaps}. 'Destroy all the shared flaps and disable their use in all projects.' translated}. {'destroy flap...' translated. {Flaps. #destroyFlapDotDotDot}. 'Choose a flap to destroy, from a pop-up list that will be presented' translated}}] ifFalse: [aMenu add: 'install olpc etoy flaps' translated target: Flaps action: #enableOLPCEToyFlaps. aMenu balloonTextForLastItem: 'Put up the default etoy flaps: a custom Supplies flap and the Navigator flap' translated. aMenu add: 'install developers'' flaps' translated target: Flaps action: #enableDeveloperFlaps. aMenu balloonTextForLastItem: 'Create the default set of shared flaps used by successive versions of the Squeak development platform' translated. aMenu add: 'install classic etoy flaps' translated target: Flaps action: #enableClassicEToyFlaps. aMenu addLine]. self fillIn: aMenu from: { nil. {'about flaps...' translated. {Flaps . #explainFlaps}. 'Gives a window full of details about how to use flaps.' translated}}! ! !TheWorldMenu class methodsFor: 'open-menu registry' stamp: 'KR 8/16/2007 00:43'! registerStandardInternetApps "Register the three currently-built-in internet apps and the hook for SqueakMap with the open-menu registry. This is a one-time initialization affair, contending with the fact that the three apps are already in the image." self registerOpenCommand: { 'Package Loader' translated. { TheWorldMenu . #openPackageLoader }. 'A tool that lets you browse and load packages from SqueakMap, an index of Squeak code available on the internet' translated}. #(Scamper Celeste IRCConnection) do: [:sym | (Smalltalk at: sym ifAbsent: [nil]) ifNotNilDo: [:aClass | aClass registerInOpenMenu]] " OpenMenuRegistry _ nil. TheWorldMenu registerStandardInternetApps. "! ! SMLoader initialize! PackageList initialize! LanguageEditor initialize!