Pardon me for butting in but<div><br></div><div>I am interested in creating a new   Class of pop up menu   in Pharo</div><div><br></div><div>that doesn&#39;t look or act anything like the standard pop up Menus</div><div><br></div><div>and I would like to know where in the Pharo code I can</div><div><br></div><div>get between a </div><div><br></div><div>right click   and its    pop up Menu opening</div><div><br></div><div>and open up my own MyMenu instead of the standard Menu</div><div><br></div><div>I&#39;m guessing i should start with the Menu Class and maybe</div><div><br></div>make MyMenu be a subClass of Menu?<div><br></div><div>Should i ask questions like this on stack overflow instead?</div><div><br></div><div>It seems to me that the following   <font size="2"><span style="background-color:rgba(255,255,255,0)">monticelloChangeSetMenu:   </span></font>code is</div><div><br></div><div>Adding an new item mc to aMenu</div><div>finding a different menu item dc in aMenu</div><div>if dc exists</div><div>      remove the mc item from aMenu</div><div>      and add mc right after dc in aMenu</div><div><br></div><div>I don&#39;t know what a </div><div><br></div><div>&lt;menu pragma&gt; is</div><div><br></div><div>can you point me at an explanation?</div><div><br></div><div>Does it allow a Method to be selected at runtime</div><div><br></div><div>according to its pragmas?</div><br><div><br><div><br>On Thursday, August 27, 2015, Tobias Pape &lt;<a href="mailto:Das.Linux@gmx.de">Das.Linux@gmx.de</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Eliot,<br>
<br>
On 28.08.2015, at 00:09, <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;commits@source.squeak.org&#39;)">commits@source.squeak.org</a> wrote:<br>
<br>
&gt; Item was added:<br>
&gt; + ----- Method: ChangeSorter&gt;&gt;monticelloChangeSetMenu: (in category &#39;*Monticello-changeSet menu&#39;) -----<br>
&gt; + monticelloChangeSetMenu: aMenu<br>
&gt; +     &lt;changeSetMenuShifted: false&gt;<br>
&gt; +     &lt;menuPriority: 600&gt;<br>
&gt; +     &quot;Sigh, when implementing menu pragmas this is not what I had in mind...&quot;<br>
&gt; +     aMenu add: &#39;delete Monticello load change sets&#39; action: #deleteMonticelloChangeSets.<br>
&gt; +     (aMenu submorphs<br>
&gt; +                                             detect: [:m| m isMenuItemMorph and: [m contents beginsWith: &#39;destroy change set&#39;]]<br>
&gt; +                                             ifNone: []) ifNotNil:<br>
&gt; +             [:destroyItem| | item |<br>
&gt; +             aMenu removeMorph: (item := aMenu submorphs last).<br>
&gt; +             aMenu addMorph: item after: destroyItem].<br>
&gt; +     ^aMenu!<br>
<br>
Can you explain what you want to achieve<br>
and how I can make this more convenient?<br>
<br>
Best regards<br>
        -Tobias<br>
<br>
<br>
</blockquote></div></div>