Example:

| finder |
finder := GLMFinder new.
finder show: [:a | 
a list
title: 'List';
beMultiple;
filterOn: [:text :each | each asString = text ];
helpMessage:  'Enter a filtering request (e.g., "each > $f")'. 
a tree
title: 'Tree';
filterOn: [:text :each | each asString = text ];
filterRootsOnly: true;
children: [:item :all :level | level < 2 ifTrue: [#(a b)] ifFalse: [#()]]].
finder openOn: ($a to: $z) 

On Tue, Mar 10, 2015 at 5:22 PM, Usman Bhatti <usman.bhatti@gmail.com> wrote:
Here is a working version if someone's interested.
I would like to commit on a bug fix branch for Moose 5.0 (may be with a specific postfix) and not in the main branch to have it in Moose 5.0.


regards.

On Fri, Mar 6, 2015 at 10:42 AM, Usman Bhatti <usman.bhatti@gmail.com> wrote:
Hi,

I would like to apply filter only on the root items in a tree presentation and not on all children. Computing children take a bit of time for each node, which is acceptable for each root. However, accumulated computation time make the filtering un-usable.

I could not find a possible way to avoid the filter computation for the children in GLMTreeMorphNodeModel>>shouldBeDisplayedByText with the current implementation. I can propose a fix.

Let me know what you think.

regards.
usman