[Pharo-dev] Using TreeModel>>selectAll

Benjamin Benjamin.VanRyseghem.Pharo at gmail.com
Wed Dec 11 17:18:50 EST 2013


That’s the default behaviour

I was thinking today of introducing a special one which act as you described

Ben

On 11 Dec 2013, at 21:49, Nicolai Hess <nicolaihess at web.de> wrote:

> One thing I didn't understand is, are valueholders supposed to announce changes, even if
> the "value" didn't changed?
> 
> |log node |
> log := OrderedCollection new.
> node:=
> TreeNodeModel new 
> content: $a;
> whenSelectedChanged:[:item | self halt.log add:item];
> selected: true;
> selected: true;
> selected: true.
> log  
> 
> will log three times, even the value (selected=true) didn't changed at all.
> (or at most one if "selected" is initialized with false).
> 
> Nicolai
> 
> 
> 
> 2013/12/9 Martin Dias <tinchodias at gmail.com>
> thanks for your help, Ben
> 
> On Mon, Dec 9, 2013 at 11:15 AM, Benjamin
> <Benjamin.VanRyseghem.Pharo at gmail.com> wrote:
> > I am still chasing why it’s executed three times
> >
> > Must be an issue in the info propagation.
> >
> > Ben
> >
> > On 09 Dec 2013, at 06:48, Martin Dias <tinchodias at gmail.com> wrote:
> >
> > Hi, I'm back with more annoying questions :)
> >
> > Using #whenSelectedItemsChanged:, I see that the block is evaluated a lot of
> > times:
> >
> > log := OrderedCollection new.
> > roots := #(1 2) collect: [ :each |
> > TreeNodeModel new
> > content: each;
> > selected: true;
> > yourself ].
> >
> > TreeModel new
> > roots: roots;
> > multiSelection: true;
> > whenSelectedItemsChanged: [ :items |
> > log add: items ];
> > openWithSpec.
> > log ---> an OrderedCollection(#() an OrderedCollection(1) an
> > OrderedCollection(1) an OrderedCollection(1 2) an OrderedCollection(1 2) an
> > OrderedCollection(1 2))
> >
> > I'd expect only one evaluation... is it a bug or a feature?
> >
> > cheers,
> > Martín
> >
> >
> > On Sun, Dec 8, 2013 at 12:22 AM, Martin Dias <tinchodias at gmail.com> wrote:
> >>
> >> aha! thanks
> >>
> >> Martín
> >>
> >> On Sat, Dec 7, 2013 at 10:33 AM, Benjamin
> >> <Benjamin.VanRyseghem.Pharo at gmail.com> wrote:
> >> > roots := #(1 2 3) collect: [ :e | TreeNodeModel new content: e ;
> >> > yourself ].
> >> >
> >> > TreeModel new
> >> >  roots: roots;
> >> >  multiSelection: true;
> >> >  openWithSpec.
> >> >
> >> > roots third
> >> > selected: true;
> >> > takeHighlight
> >> >
> >> > Ben
> >> >
> >> > On 07 Dec 2013, at 05:44, Martin Dias <tinchodias at gmail.com> wrote:
> >> >
> >> > ouch! thanks Ben.
> >> >
> >> > Another related question: is there any way of selecting an arbitrary
> >> > item? I tried (among others) with:
> >> >
> >> > TreeModel new
> >> >  roots: #(1 2 3);
> >> >  multiSelection: true;
> >> >  openWithSpec;
> >> >  selection: 3
> >> >
> >> > without success.
> >> >
> >> > Cheers,
> >> > Martín
> >> >
> >> >
> >> >
> >> > On Thu, Dec 5, 2013 at 4:17 PM, Benjamin
> >> > <Benjamin.VanRyseghem.Pharo at gmail.com> wrote:
> >> >
> >> > your tree here is single selection so it will not work
> >> >
> >> > TreeModel new
> >> > roots: #(1 2 3);
> >> > multiSelection: true;
> >> > openWithSpec;
> >> > selectAll
> >> >
> >> > Ben
> >> >
> >> > On 05 Dec 2013, at 15:38, Martin Dias <tinchodias at gmail.com> wrote:
> >> >
> >> > Hi,
> >> >
> >> > I'm not sure how this method should be used. I tried in different
> >> > ways, for example:
> >> >
> >> > TreeModel new
> >> >   roots: #(1 2 3);
> >> >   selectAll;
> >> >   openWithSpec
> >> >
> >> > But always the items are unselected. Is it a bug? or I didn't find the
> >> > way to use it?
> >> >
> >> > Thanks,
> >> > Martín
> >> >
> >> >
> >> >
> >> >
> >
> >
> >
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131211/16147dec/attachment-0002.html>


More information about the Pharo-dev mailing list