<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        Hi Christoph --<div><br></div><div>> <span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">Maybe I will introduce something like #isGrayedOut for summarizing #isEnabled and #isFilteredOut ...</span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px"><br></span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">Please don't mix up object state (here: isEnabled) with (visual) object representation (here: color-is-gray or looks grayed-out).</span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px"><br></span></div><div><span style="font-family: Calibri, Helvetica, sans-serif"><span style="font-size: 16px">Maybe the filter can just remember the original state of its list.</span></span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px"><br></span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">Best,</span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">Marcel</span></div><div class="mb_sig"></div>
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 05.10.2021 17:49:01 schrieb Thiede, Christoph <christoph.thiede@student.hpi.uni-potsdam.de>:</p><div style="font-family:Arial,Helvetica,sans-serif">

<div id="divtagdefaultwrapper" style="font-size: 12pt;color: #000000;font-family: Calibri,Helvetica,sans-serif" dir="ltr">
<p>Hi Marcel, hi Jakob,</p>
<p><br>
</p>
<p>> <span>Then why would it work for the "Projects" menu?</span></p>
<p><span><br>
</span></p>
<p><span>Interesting observation! This seems to be because the project menu uses updating menu items with an enablement selector rather than passing a single boolean to #isEnabled:.</span></p>
<p><span>However, even in this example, the enablements do not always look correct. For example, if you type in "save", after one second, after one second, "Enter Previous Project" will be re-enabled despite the active filter. The stepping conflicts with the
 type filters here ...</span></p>
<p><span><br>
</span></p>
<p><span>Thanks for your thoughts, Jakob! I agree that consistent names in the public interface are more important. Maybe I will introduce something like #isGrayedOut for summarizing #isEnabled and #isFilteredOut ...</span></p>
<p><span><br>
</span></p>
<p><span>Best,</span></p>
<p><span>Christoph</span></p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif;color: #000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel<br>
<b>Gesendet:</b> Dienstag, 5. Oktober 2021 08:47:22<br>
<b>An:</b> squeak-dev<br>
<b>Betreff:</b> Re: [squeak-dev] Menu filters override item enablements</span>
<div> </div>
</div>
<div>
<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
Hi Christoph --
<div class="mb_sig"></div>
<div><br>
</div>
<div>> <span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">I traced this down to our delightful type-to-filter feature which overwrites the enablement of menu items</span></div>
<div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br>
</span></div>
<div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Then why would it work for the "Projects" menu? You can keyboard-filter there, too.</span></div>
<div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br>
</span></div>
<div><img id="14ff1fc7-4988-40a8-a592-02b4c499eaec" width="246" height="172" src="cid:2d0497f1-4105-44c0-a387-20c17fe7f6e5"></img><!-- </img> --><br>
</div>
<div><br>
</div>
<div>Best,</div>
<div>Marcel</div>
<blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
<p style="color: #AAAAAA; margin-top: 10px;">Am 04.10.2021 16:54:50 schrieb christoph.thiede@student.hpi.uni-potsdam.de <christoph.thiede@student.hpi.uni-potsdam.de>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">Hi all,<br>
<br>
today I was investigating why enablements in docking bar menu items do not work (for instance, if there are no open windows, then the "No Windows" item should be disabled, but it is not). I traced this down to our delightful type-to-filter feature which overwrites
 the enablement of menu items (see MenuMorph >> #displayFiltered: and MenuItemMorph >> #isEnabled:).<br>
<br>
I think two mental models are clashing here: First, the menu provider/model wants to declare whether an item is available/locked from the domain-specific perspective. Second, the UI needs a way to temporarily disable items that have been filtered out. I suggest
 we add a second pair of selectors to MenuItemMorph to differentiate between both kinds of enablement - i.e., something like #isDomainEnabled[:] and #isFilterEnabled[:].<br>
<br>
Here are two actionable questions for you:<br>
<br>
<b>1. Do you aggree with this idea in general?</b><br>
<b>2. How shall we name these selectors?</b> In the Trunk, there are 3 senders to the existing setter and and ~10 senders to the existing getter. I wonder whether we shall maintain backward compatibility here or whether the existing #isEnabled[:] is also subjected
 to change. Maybe #isAvailable[:] (domain) and #isLocked[:]? Or #isAvailable[:] and #isFilteredOut[:]? In any case, #isEnabled should be the logical conjunction of both states.<br>
<br>
Looking forward to your help.<br>
<br>
Best,<br>
Christoph<br>
<br>
<span style="color: #808080">---<br>
</span><i><span style="color: #808080">Sent from </span></i><i><u><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><span style="color: #808080">Squeak Inbox Talk</span></a></u></i>
</div>
</blockquote>
</div>
</div>
</div></blockquote></div>