<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font size="4">Hi Juan,</font></p>
    <p><font size="4"></font><br>
    </p>
    <div class="moz-cite-prefix">Le 19/07/2022 à 16:15, Juan Vuletich a
      écrit :<br>
    </div>
    <blockquote type="cite" cite="mid:62D6BC88.1010604@jvuletich.org"><br>
      This is interesting. But if we are to change how menus are built
      in the base image, adding a mechanism that packages will depend
      on, I'd like it to also address these:<br>
      - Keyboard shortcuts. Today, these are even in a worse shape than
      menus. There's no way to tweak them, and we already ran out of
      them.<br>
    </blockquote>
    <p>In term of object responsibilities, is menu responsible to
      represent keyboard short cut? Or put it in another way, does a
      keyboard shortcut can exist outside of a menu? I think so. Menu
      definition can use an existing framework to declare a keyboard
      short cut and represent it in its label, however I don't see how
      it could be responsible for the implementation. Related but not
      responsible.<br>
    </p>
    <p>As a comparison, Menu use extensively Label (LabelMorph), but you
      will not say Menu should be responsible of Label.</p>
    <p>Nevertheless, I understand the interest to address the keyboard
      shortcuts situation you mentioned. I never look at the
      implementation. Happy to help though.<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite" cite="mid:62D6BC88.1010604@jvuletich.org"> -
      Context. Different gui controls in different apps will need
      different menus / shortcuts. Even depending on state or mode.<br>
    </blockquote>
    <blockquote type="cite" cite="mid:62D6BC88.1010604@jvuletich.org"> -
      Scope of context. Some menus / shortcuts may apply to a leaf
      morph, like a text editor or list. Others apply to a window or
      other composite morph. Others are global.<br>
    </blockquote>
    <p>I don't understand. Is it not orthogonal to any way of declaring
      a menu  ?</p>
    <p><font face="monospace">myMorph>someMenus: builder<br>
        <myMorphMenu><br>
        (self myContext is: A) ifTrue: [builder menu defintionA].</font></p>
    <p><font face="monospace">(self myContext is: B) ifTrue: [builder
        menu defintionB].</font></p>
    <p><font face="monospace">builder menu generalDef</font></p>
    <p><br>
    </p>
    <blockquote type="cite" cite="mid:62D6BC88.1010604@jvuletich.org"> <br>
      Actually, we are talking about user commands and how to issue
      them. So, some questions are:<br>
      - which user commands are available on a certain morph in a
      certain moment<br>
    </blockquote>
    <p>Which object should be responsible to decide that. The morph
      itself, or the context this morph is used : its owner? The model
      of the surrounding application? Or the entire image?<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite" cite="mid:62D6BC88.1010604@jvuletich.org"> -
      how do we group them in menus<br>
      - how (if) we assign them a keyboard shortcut<br>
      <br>
      Everyone, please chime in and share your ideas or possible
      approaches. It would be great if we can find a general solution.<br>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
GNU Dr. Geo
<a class="moz-txt-link-freetext" href="http://drgeo.eu">http://drgeo.eu</a>
<a class="moz-txt-link-freetext" href="http://blog.drgeo.eu">http://blog.drgeo.eu</a></pre>
  </body>
</html>