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