<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>