I don&#39;t think I removed that method; please be aware that garbage in the inbox mangled the diff for that commit. It only contained some changes that moved items out of the world menu into the docking bar. The rest was a bad diff against something else that was left in the inbox. <div>
<br></div><div>I don&#39;t believe I removed that method; if I did, it was unintentional.<div><br></div><div>This is what I actually checked in (AFAIK)...</div><div><br></div><div><div>=============== Diff against Morphic-tfel.396 ===============</div>
<div><br></div><div>Item was changed:</div><div> ----- Method: TheWorldMenu&gt;&gt;buildWorldMenu (in category &#39;construction&#39;) -----</div><div> buildWorldMenu</div><div>       &quot;Build the menu that is put up when the screen-desktop is clicked on&quot;</div>
<div>       | menu |</div><div>       menu := MenuMorph new defaultTarget: self.</div><div>       menu commandKeyHandler: self.</div><div>       self colorForDebugging: menu.</div><div>       menu addStayUpItem.</div><div>
       self makeConvenient: menu.</div><div>       Smalltalk at: #ServiceGUI ifPresent:[:sgui|</div><div>               sgui worldMenu: menu.</div><div>               sgui onlyServices ifTrue: [^ menu].</div><div>       ].</div>
<div>       self addProjectEntries: menu.</div><div>       myWorld addUndoItemsTo: menu.</div><div>       self addRestoreDisplay: menu.</div><div>       self addUtilities: menu.</div><div>       self addObjectsAndTools: menu.</div>
<div>       self addPrintAndDebug: menu.</div><div>       self addSaveAndQuit: menu.</div><div>       ^ menu!</div><div><br></div><div>Item was changed:</div><div> ----- Method: TheWorldMainDockingBar&gt;&gt;extrasMenuOn: (in category &#39;construction&#39;) -----</div>
<div> extrasMenuOn: aDockingBar</div><div><br></div><div>       aDockingBar addItem: [ :it|</div><div>               it      contents: &#39;Extras&#39; translated;</div><div>                       addSubMenu: [:menu|</div>
<div>                               menu addItem:[:item|</div><div>                                       item</div><div>                                               contents: &#39;Recover Changes&#39; translated;</div>
<div>                                               help: &#39;Recover changes after a crash&#39; translated;</div><div>                                               icon: MenuIcons smallHelpIcon;</div><div>                                               target: ChangeList;</div>
<div>                                               selector: #browseRecentLog].</div><div>                               menu addLine.</div><div>                               menu addItem:[:item|</div><div>                                       item</div>
<div>                                               contents: &#39;Window Colors&#39; translated;</div><div>                                               help: &#39;Changes the window color scheme&#39; translated;</div><div>
                                               addSubMenu:[:submenu| self windowColorsOn: submenu]].</div><div>                               menu addItem:[:item|</div><div>                                       item</div>
<div>                                               contents: &#39;Set Author Initials&#39; translated;</div><div>                                               help: &#39;Sets the author initials&#39; translated;</div><div>
                                               target: Utilities;</div><div>                                               selector: #setAuthorInitials].</div><div>                               menu addItem:[:item|</div>
<div>                                       item</div><div>                                               contents: &#39;Restore Display (r)&#39; translated;</div><div>                                               help: &#39;Redraws the entire display&#39; translated;</div>
<div>                                               target: World;</div><div>                                               selector: #restoreMorphicDisplay].</div><div>                               menu addItem:[:item|</div>
<div>                                       item</div><div>                                               contents: &#39;Rebuild Menus&#39; translated;</div><div>                                               help: &#39;Rebuilds the menu bar&#39; translated;</div>
<div>                                               target: TheWorldMainDockingBar;</div><div>                                               selector: #updateInstances].</div><div>                               menu addLine.</div>
<div>                               menu addItem:[:item|</div><div>                                       item</div><div>                                               contents: &#39;Start Profiler&#39; translated;</div><div>
                                               help: &#39;Starts the profiler&#39; translated;</div><div>                                               target: self;</div><div>                                               selector: #startMessageTally].</div>
<div>                               menu addItem:[:item|</div><div>                                       item</div><div>                                               contents: &#39;Collect Garbage&#39; translated;</div>
<div>                                               help: &#39;Run the garbage collector and report space usage&#39; translated;</div><div>                                               target: Utilities;</div><div>                                               selector: #garbageCollectAndReport].</div>
<div>                               menu addItem:[:item|</div><div>                                       item</div><div>+                                               contents: &#39;Purge Undo Records&#39; translated;</div>
<div>+                                               help: &#39;Save space by removing all the undo information remembered in all projects&#39; translated;</div><div>+                                               target: CommandHistory;</div>
<div>+                                               selector: #resetAllHistory].</div><div>+                               menu addItem:[:item|</div><div>+                                       item</div><div>                                               contents: &#39;VM statistics&#39; translated;</div>
<div>                                               help: &#39;Virtual Machine information&#39; translated;</div><div>                                               target: self;</div><div>                                               selector: #vmStatistics].</div>
<div>+                               menu addLine.</div><div>+                               menu addItem:[:item|</div><div>+                                       item</div><div>+                                               contents: &#39;Graphical Imports&#39; translated;</div>
<div>+                                               help: &#39;View the global repository called ImageImports; you can easily import external graphics into ImageImports via the FileList&#39; translated;</div><div>+                                               target: (Imports default);</div>
<div>+                                               selector: #viewImages].</div><div>+                               menu addItem:[:item|</div><div>+                                       item</div><div>+                                               contents: &#39;Standard Graphics Library&#39; translated;</div>
<div>+                                               help: &#39;Lets you view and change the system&#39;&#39;s standard library of graphics&#39; translated;</div><div>+                                               target: ScriptingSystem;</div>
<div>+                                               selector: #inspectFormDictionary].</div><div>+                               menu addItem:[:item|</div><div>+                                       item</div><div>+                                               contents: &#39;Annotation Setup&#39; translated;</div>
<div>+                                               help: &#39;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&#39; translated;</div>
<div>+                                               target: Preferences;</div><div>+                                               selector: #editAnnotations].</div><div>                       ] ]!</div><div><br></div><div>
Item was changed:</div><div> ----- Method: TheWorldMenu&gt;&gt;addUtilities: (in category &#39;construction&#39;) -----</div><div> addUtilities: menu</div><div>       Preferences simpleMenus ifFalse: [</div><div>               self</div>
<div>                       fillIn: menu</div><div>                       from: {</div><div>                               { &#39;open...&#39;. { self. #openWindow } }.</div><div>                               { &#39;windows...&#39;. { self. #windowsDo } }.</div>
<div>                               { &#39;changes...&#39;. { self. #changesDo } }</div><div>                       } ].</div><div>       self</div><div>               fillIn: menu</div><div>               from: {</div><div>
+ &quot;                     { &#39;help...&#39;. { self. #helpDo }. &#39;puts up a menu of useful items for updating the system, determining what version you are running, and much else&#39; }.&quot;</div><div>-                       { &#39;help...&#39;. { self. #helpDo }. &#39;puts up a menu of useful items for updating the system, determining what version you are running, and much else&#39; }.</div>
<div>                       { &#39;appearance...&#39;. { self. #appearanceDo }. &#39;put up a menu offering many controls over appearance.&#39; }</div><div>               }.</div><div>       Preferences simpleMenus ifFalse: [</div>
<div>               self</div><div>                       fillIn: menu</div><div>                       from: {</div><div>                               { &#39;do...&#39;. { Utilities. #offerCommonRequests }. &#39;put up an editible list of convenient expressions, and evaluate the one selected.&#39; }</div>
<div>                       } ]!</div><div><br></div><div>Item was changed:</div><div> ----- Method: TheWorldMainDockingBar&gt;&gt;helpMenuOn: (in category &#39;construction&#39;) -----</div><div> helpMenuOn: aDockingBar</div>
<div><br></div><div>       aDockingBar addItem: [ :it |</div><div>               it      contents: &#39;Help&#39; translated;</div><div>                       addSubMenu: [ :menu |  &#39;Todo&#39;.</div><div>                               menu addItem:[:item|</div>
<div>                                       item</div><div>                                               contents: &#39;Online Resources&#39; translated;</div><div>                                               help: &#39;Online resources for Squeak&#39; translated;</div>
<div>                                               target: self;</div><div>                                               selector: #showSqueakResources ].</div><div>                               menu addItem:[:item|</div>
<div>                                       item</div><div>                                               contents: &#39;Keyboard Shortcuts&#39; translated;</div><div>                                               help: &#39;Keyboard bindings used in Squeak&#39; translated;</div>
<div>                                               target: Utilities;</div><div>                                               selector: #openCommandKeyHelp ].</div><div>+                               menu addItem:[:item|</div>
<div>+                                       item</div><div>+                                               contents: &#39;Font Size Summary&#39; translated;</div><div>+                                               help: &#39;Font size summary from the old Squeak 3.10.2 help menu.&#39; translated;</div>
<div>+                                               target: TextStyle;</div><div>+                                               selector: #fontSizeSummary ].</div><div>+                               menu addItem:[:item|</div>
<div>+                                       item</div><div>+                                               contents: &#39;Useful Expressions&#39; translated;</div><div>+                                               help: &#39;Useful expressions from the old Squeak 3.10.2 help menu.&#39; translated;</div>
<div>+                                               target: Utilities;</div><div>+                                               selector: #openStandardWorkspace ].</div><div>                       ]].!</div><div><br></div>
<div>Item was changed:</div><div> ----- Method: TheWorldMenu&gt;&gt;addObjectsAndTools: (in category &#39;construction&#39;) -----</div><div> addObjectsAndTools: menu</div><div>       self</div><div>               fillIn: menu</div>
<div>               from: {</div><div>                       nil.</div><div>                       { &#39;objects (o)&#39;. { #myWorld. #activateObjectsTool }. &#39;A tool for finding and obtaining many kinds of objects&#39; }.</div>
<div>                       { &#39;new morph...&#39;. { self. #newMorph }. &#39;Offers a variety of ways to create new objects&#39; }.</div><div>                       nil.</div><div>                       { &#39;authoring tools...&#39;. { self. #scriptingDo }. &#39;A menu of choices useful for authoring&#39; }.</div>
<div>                       { &#39;playfield options...&#39;. { self. #playfieldDo }. &#39;A menu of options pertaining to this object as viewed as a playfield&#39; }.</div><div>                       { &#39;flaps...&#39;. { self. #flapsDo }. &#39;A menu relating to use of flaps.  For best results, use &quot;keep this menu up&quot;&#39; }.</div>
<div>                       { &#39;projects...&#39;. { self. #projectDo }. &#39;A menu of commands relating to use of projects&#39; }.</div><div>+                       { &#39;telemorphic...&#39; . {self. #remoteDo}.  &#39;commands for doing multi-machine &quot;telemorphic&quot; experiments&#39;}.</div>
<div>                       nil</div><div>               }!</div><div><br></div>
<br><div class="gmail_quote">On Sat, Apr 3, 2010 at 1:22 PM, glenpaling <span dir="ltr">&lt;<a href="mailto:glenpaling@rogers.com" target="_blank">glenpaling@rogers.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Removal of morphicStartUpWithCaption:icon:at:allowKeyboard: from PopUpMenu<br>
breaks StandardFileMenu (try:  StandardFileMenu oldFile). Perhaps you<br>
removed it because it has no senders. That&#39;s because the selector is created<br>
from the concatenation of &#39;morphic&#39; and<br>
startUpWithCaption:icon:at:allowKeyboard in Project (see below). It was<br>
recently added by David T. Lewis to manage Morphic and MVC compatibility.<br>
<br>
dispatchTo: requestor addPrefixAndSend: baseSelector withArguments:<br>
arguments<br>
        &quot;Sender wants to perform a method with dependencies on the type of project.<br>
        Dispatch to an appropriate method for the current project.<br>
<br>
        This method is a workaround for lack of proper ToolBuilder support in the<br>
sender,<br>
        and should be eliminated when possible (dtl Feb 2010)&quot;<br>
<br>
        | selector |<br>
        &quot;Flag target selectors to help identify senders&quot;<br>
        self flag: #mvcOpenLabel:in: .<br>
        self flag: #morphicOpenLabel:in: .<br>
        self flag: #mvcStartUpLeftFlush .<br>
        self flag: #morphicStartUpLeftFlush .<br>
        self flag: #mvcStartUpWithCaption:icon:at:allowKeyboard: .<br>
        self flag: #morphicStartUpWithCaption:icon:at:allowKeyboard: .<br>
        self flag: #mvcOpen: .<br>
        self flag: #morphicOpen: .<br>
        self flag: #mvcOpen .<br>
        self flag: #morphicOpen .<br>
<br>
        selector := (self selectorPrefixForDispatch, baseSelector) asSymbol.<br>
        ^ requestor perform: selector withArguments: argumentsglenpaling@...<br>
commits-2 wrote:<br>
&gt;<br>
&gt; A new version of Morphic was added to project The Inbox:<br>
&gt; <a href="http://source.squeak.org/inbox/Morphic-cbr.392.mcz" target="_blank">http://source.squeak.org/inbox/Morphic-cbr.392.mcz</a><br>
&gt;<br>
&gt; ==================== Summary ====================<br>
&gt;<br>
&gt; Name: Morphic-cbr.392<br>
&gt; Author: cbr<br>
&gt; Time: 26 March 2010, 1:38:37.423 am<br>
&gt; UUID: d2ec5332-d31e-40e5-a5b4-f896cea50f20<br>
&gt; Ancestors: Morphic-mha.391<br>
&gt;<br>
&gt; I find it irksome that we have two help menus (one in the main docking<br>
&gt; bar, one in the world menu.) I also find it irksome that there&#39;s so much<br>
&gt; stuff in the help menu that&#39;s in the world menu that&#39;s not really<br>
&gt; help-related.<br>
&gt;<br>
&gt; I moved the stuff that&#39;s actually help (except for &quot;world menu help&quot; which<br>
&gt; really isn&#39;t that helpful) out of the world menu and into the docking bar.<br>
&gt; I took everything else that wasn&#39;t already exposed somewhere and put it in<br>
&gt; the Extras menu on the docking bar.<br>
&gt;<br>
&gt; I moved telemorphic up to the top of the world menu because I don&#39;t know<br>
&gt; what it&#39;s for, because it pops a submenu that wants self to be an instance<br>
&gt; of TheWorldMenu, and because I didn&#39;t really care to mess with<br>
&gt; transplanting it.<br>
&gt;<br>
&gt; BIG snip<br>
&gt;<br>
&gt; Item was removed:<br>
&gt; - ----- Method:<br>
&gt; PopUpMenu&gt;&gt;morphicStartUpWithCaption:icon:at:allowKeyboard: (in category<br>
&gt; &#39;*Morphic-Menus&#39;) -----<br>
&gt; - morphicStartUpWithCaption: captionOrNil icon: aForm at: location<br>
&gt; allowKeyboard: aBoolean<br>
&gt; -     &quot;Display the menu, with caption if supplied. Wait for the mouse button<br>
&gt; to go down, then track the selection as long as the button is pressed.<br>
&gt; When the button is released,<br>
&gt; -     Answer the index of the current selection, or zero if the mouse is not<br>
&gt; released over  any menu item. Location specifies the desired topLeft of<br>
&gt; the menu body rectangle. The final argument indicates whether the menu<br>
&gt; should seize the keyboard focus in order to allow the user to navigate it<br>
&gt; via the keyboard.&quot;<br>
&gt; -<br>
&gt; -     selection := Cursor normal<br>
&gt; -                             showWhile: [| menuMorph |<br>
&gt; -                                     menuMorph := MVCMenuMorph from: self title: nil.<br>
&gt; -                                     (captionOrNil notNil<br>
&gt; -                                                     or: [aForm notNil])<br>
&gt; -                                             ifTrue: [menuMorph addTitle: captionOrNil icon: aForm].<br>
&gt; -                                     MenuIcons decorateMenu: menuMorph.<br>
&gt; -                                     menuMorph<br>
&gt; -                                             invokeAt: location<br>
&gt; -                                             in: ActiveWorld<br>
&gt; -                                             allowKeyboard: aBoolean].<br>
&gt; -     ^ selection!<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<font color="#888888">--<br>
View this message in context: <a href="http://n4.nabble.com/The-Inbox-Morphic-cbr-392-mcz-tp1691850p1750456.html" target="_blank">http://n4.nabble.com/The-Inbox-Morphic-cbr-392-mcz-tp1691850p1750456.html</a><br>
Sent from the Squeak - Dev mailing list archive at Nabble.com.<br>
<br>
</font></blockquote></div><br>
</div></div>