[Pharo-dev] Using TreeModel>>selectAll

Stéphane Ducasse stephane.ducasse at inria.fr
Thu Dec 12 02:11:25 EST 2013


In the midterm 

would it not be better to start a new implementation?

Stef
On Dec 11, 2013, at 11:18 PM, Benjamin <Benjamin.VanRyseghem.Pharo at gmail.com> wrote:

> 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/20131212/8cc5e605/attachment-0002.html>


More information about the Pharo-dev mailing list