<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="auto" style="direction: ltr; margin: 0; padding: 0; font-family: sans-serif; font-size: 11pt; color: black; ">
Would Work If space does Not toggle a multi-selection state. 😁</div>
<br>
<br>
<br>
<div class="gmail_quote">On Wed, Oct 16, 2019 at 11:23 PM +0200, "Chris Muller" <span dir="ltr">
<<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>></span> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="3D"ltr"">
<div dir="ltr">A suggestion for column-specific list-filtering for <span style="color:rgb(0,0,0);font-size:13px">PluggableMultiColumnListMorph:</span>
<div><span style="color:rgb(0,0,0);font-size:13px"><br>
</span></div>
<div><span style="color:rgb(0,0,0);font-size:13px">   - when the filter string starts with one space, the remainder of the filter string matches on the first column only</span></div>
<div><span style="color:rgb(0,0,0);font-size:13px">   - when the filter string starts with two spaces, the remainder of the filter string matches on the second column only</span></div>
<div><span style="color:rgb(0,0,0);font-size:13px">   - etc.</span></div>
<div><span style="color:rgb(0,0,0);font-size:13px">   - when the filter starts with a non-space character, the whole string applies and all columns are searched</span></div>
<div><span style="color:rgb(0,0,0);font-size:13px"><br>
</span></div>
<div><span style="color:rgb(0,0,0);font-size:13px">Best,</span></div>
<div><span style="color:rgb(0,0,0);font-size:13px">  Chris</span></div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Oct 15, 2019 at 7:54 AM Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de">marcel.taeumel@hpi.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div id="gmail-m_5141741515459280931__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;color:rgb(0,0,0)">
... so, you need a model that can provide both the list and the selection:
<div><br>
</div>
<div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">PluggableMultiColumnListMorph</span><br style="font-family:Arial,Helvetica,sans-serif;font-size:13px">
<span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">   on: model</span><br style="font-family:Arial,Helvetica,sans-serif;font-size:13px">
<span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">    list: #list</span><br style="font-family:Arial,Helvetica,sans-serif;font-size:13px">
<span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">    selected: #selectedIndex</span><br style="font-family:Arial,Helvetica,sans-serif;font-size:13px">
<span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">    changeSelected: #selectedIndex:.</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">Hmm.. there is no quick way to try this out in a Workspace. We could use a dictionary-like object that reads and stores data on #doesNotUnderstand:. :-) Then you wouldn't have to implement
 a new class for such models.</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">Best,</span></div>
<div><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px">Marcel</span></div>
<div></div>
<blockquote 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:rgb(170,170,170);margin-top:10px">Am 15.10.2019 14:51:04 schrieb Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de" target="_blank">marcel.taeumel@hpi.de</a>>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">
<div id="gmail-m_5141741515459280931__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;color:rgb(0,0,0)">
You need a selection for that. That's what you navigate: the selection.
<div><br>
</div>
<div>Best,</div>
<div>Marcel</div>
<div></div>
<blockquote 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:rgb(170,170,170);margin-top:10px">Am 15.10.2019 14:00:03 schrieb H. Hirzel <<a href="mailto:hannes.hirzel@gmail.com" target="_blank">hannes.hirzel@gmail.com</a>>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">Yes,<br>
<br>
I wonder how I enable the navigation keys (cursor keys plus page up / page down)<br>
<br>
--Hannes<br>
<br>
On 10/15/19, Marcel Taeumel <u></u>wrote:<br>
> Thanks for the pointer. I added that "| ... |" just for documentation. You<br>
> are right, it impedes experimentation in the workspace.<br>
><br>
> Best,<br>
> Marcel<br>
> Am 15.10.2019 11:48:01 schrieb H. Hirzel <u></u>:<br>
> Hi Marcel<br>
> It works fine.<br>
><br>
> Note that if you do not define<br>
> - model<br>
> - view<br>
> as block variables | model view |<br>
> and thus have them as workspace bound variables you may execute single<br>
> statements later on the same morph and thus see the effect of the<br>
> statement dynamically applied.<br>
><br>
> More: <a href="https://wiki.squeak.org/squeak/6629" target="_blank">https://wiki.squeak.org/squeak/6629</a><br>
><br>
> Kind regards<br>
> Hannes<br>
><br>
> On 10/15/19, Marcel Taeumel wrote:<br>
>> Hi, all.<br>
>><br>
>> Update your Trunk image and try this:<br>
>><br>
>><br>
>> | model view |<br>
>> model := {<br>
>> SystemNavigation default allClasses collect: #name.<br>
>> SystemNavigation default allClasses collect: #category.<br>
>> }.<br>
>><br>
>> view := PluggableMultiColumnListMorph<br>
>> on: model<br>
>> list: #yourself<br>
>> selected: nil<br>
>> changeSelected: nil.<br>
>><br>
>> view extent: 200@300.<br>
>> view listFilterSet: 'Hand'.<br>
>><br>
>> view openInHand.<br>
>><br>
>> "Play around with horizontal alignment."<br>
>> view listMorphs first cellPositioning: #rightCenter.<br>
>> view listMorphs second cellPositioning: #center.<br>
>> view listMorphs do: [:col | col cellPositioning: #leftCenter].<br>
>><br>
>> "Play around with margins."<br>
>> view listMorphs do: [:col | col cellInset: 0].<br>
>> view listMorphs do: [:col | col cellInset: 3@0].<br>
>> view listMorphs do: [:col | col cellInset: 5].<br>
>><br>
>> "Funny but not useful."<br>
>> view listMorphs first cellInset: 3. view listMorphs second cellInset: 0.<br>
>><br>
>> "Fit all contents."<br>
>> view listMorphs do: [:col | col<br>
>> hResizing: #shrinkWrap;<br>
>> vResizing: #shrinkWrap]. "always set anyway"<br>
>> view<br>
>> hResizing: #shrinkWrap;<br>
>> vResizing: #shrinkWrap.<br>
>> "Enable horizontal scrolling"<br>
>> view<br>
>> hResizing: #rigid;<br>
>> hScrollBarPolicy: #whenNeeded;<br>
>> width: 100.<br>
>> "Disable horizontal scrolling"<br>
>> view hScrollBarPolicy: #never.<br>
>><br>
>> Best,<br>
>> Marcel<br>
><br>
><br>
<br>
<u></u><u></u></div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
</div>
</div>
</blockquote>
</div>
</body>
</html>