[squeak-dev] Examples of PluggableMultiColumnListMorph configuration

Chris Muller asqueaker at gmail.com
Wed Oct 16 21:22:37 UTC 2019


A suggestion for column-specific list-filtering for
PluggableMultiColumnListMorph:

   - when the filter string starts with one space, the remainder of the
filter string matches on the first column only
   - when the filter string starts with two spaces, the remainder of the
filter string matches on the second column only
   - etc.
   - when the filter starts with a non-space character, the whole string
applies and all columns are searched

Best,
  Chris

On Tue, Oct 15, 2019 at 7:54 AM Marcel Taeumel <marcel.taeumel at hpi.de>
wrote:

> ... so, you need a model that can provide both the list and the selection:
>
> PluggableMultiColumnListMorph
>    on: model
>     list: #list
>     selected: #selectedIndex
>     changeSelected: #selectedIndex:.
>
> 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.
>
> Best,
> Marcel
>
> Am 15.10.2019 14:51:04 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
> You need a selection for that. That's what you navigate: the selection.
>
> Best,
> Marcel
>
> Am 15.10.2019 14:00:03 schrieb H. Hirzel <hannes.hirzel at gmail.com>:
> Yes,
>
> I wonder how I enable the navigation keys (cursor keys plus page up / page
> down)
>
> --Hannes
>
> On 10/15/19, Marcel Taeumel wrote:
> > Thanks for the pointer. I added that "| ... |" just for documentation.
> You
> > are right, it impedes experimentation in the workspace.
> >
> > Best,
> > Marcel
> > Am 15.10.2019 11:48:01 schrieb H. Hirzel :
> > Hi Marcel
> > It works fine.
> >
> > Note that if you do not define
> > - model
> > - view
> > as block variables | model view |
> > and thus have them as workspace bound variables you may execute single
> > statements later on the same morph and thus see the effect of the
> > statement dynamically applied.
> >
> > More: https://wiki.squeak.org/squeak/6629
> >
> > Kind regards
> > Hannes
> >
> > On 10/15/19, Marcel Taeumel wrote:
> >> Hi, all.
> >>
> >> Update your Trunk image and try this:
> >>
> >>
> >> | model view |
> >> model := {
> >> SystemNavigation default allClasses collect: #name.
> >> SystemNavigation default allClasses collect: #category.
> >> }.
> >>
> >> view := PluggableMultiColumnListMorph
> >> on: model
> >> list: #yourself
> >> selected: nil
> >> changeSelected: nil.
> >>
> >> view extent: 200 at 300.
> >> view listFilterSet: 'Hand'.
> >>
> >> view openInHand.
> >>
> >> "Play around with horizontal alignment."
> >> view listMorphs first cellPositioning: #rightCenter.
> >> view listMorphs second cellPositioning: #center.
> >> view listMorphs do: [:col | col cellPositioning: #leftCenter].
> >>
> >> "Play around with margins."
> >> view listMorphs do: [:col | col cellInset: 0].
> >> view listMorphs do: [:col | col cellInset: 3 at 0].
> >> view listMorphs do: [:col | col cellInset: 5].
> >>
> >> "Funny but not useful."
> >> view listMorphs first cellInset: 3. view listMorphs second cellInset: 0.
> >>
> >> "Fit all contents."
> >> view listMorphs do: [:col | col
> >> hResizing: #shrinkWrap;
> >> vResizing: #shrinkWrap]. "always set anyway"
> >> view
> >> hResizing: #shrinkWrap;
> >> vResizing: #shrinkWrap.
> >> "Enable horizontal scrolling"
> >> view
> >> hResizing: #rigid;
> >> hScrollBarPolicy: #whenNeeded;
> >> width: 100.
> >> "Disable horizontal scrolling"
> >> view hScrollBarPolicy: #never.
> >>
> >> Best,
> >> Marcel
> >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191016/4dacb1a5/attachment.html>


More information about the Squeak-dev mailing list