Hi,
disabling the search indeed fixed the issue (I've also disabled the validation, though
I am not sure what it does).
As for the graphical glitch, it's not occuring right now, but basically the triangle
blinked when I opened/closed the same node somewhere else in the tree. I'll let you
know if I manage to reproduce it.
I've tried fastTree now, but keyboard navigation doesn't seem to work.
Thanks!
Peter
On Fri, Apr 14, 2017 at 11:49:41PM +0300, Andrei Chis wrote:
Hi Peter,
Did not check the code but when creating your custom tree view, if you have
cycles, can you use the following:
aComposite tree
shouldValidate: false;
allowsRecursiveSearch: false;
This is actually a side-effect of another issue from glamour (bidirectional
ports in inspector) that we'll need to look at for Pharo 7.
Also you can try to use #fastTree instead of #tree. Ideally we'd like to
deprecate #tree for Pharo 7 but at the moment the fast table renderer is
still missing features.
Can post some screenshots with the visual glitches of arrows?
Cheers,
Andrei
On Fri, Apr 14, 2017 at 4:09 PM, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
> Sorry, forgot to send the attachment.
>
> Peter
>
>
> On Fri, Apr 14, 2017 at 03:06:55PM +0200, Peter Uhnak wrote:
> > Hi,
> >
> > I have a small GTInspector extension that shows me a tree-like structure
> of a graph. As the data underneath are graphs, the tree itself is infinite
> (because there are loops).
> >
> > That by itself works fine (because only roots are expanded), however
> when I am filtering the elements (in raw pane), GTInspector gets stuck in
> infinite GLMTreeMorphNodeModel>>pathIn: loop.
> >
> > I've made couple of classes to reproduce the behavior - see attached
> file.
> >
> > There are two types of nodes: one contains children (items), and the
> other can contain references to other elements.
> > The extension is written in LLCompositeElement>>gtInspectorTreeIn:
> >
> >
> > To reproduce:
> >
> > 1. import attached package
> > 2. execute the following
> > ```
> > '<a>
> > <b ref c />
> > <c ref b />
> > </a>'.
> >
> > a := LLCompositeElement named: 'a'.
> > b := LLReferenceElement named: 'b'.
> > c := LLReferenceElement named: 'c'.
> >
> > a items: { b . c }.
> > b references: { c }.
> > c references: { b }.
> >
> > a inspect.
> > ```
> > 3. the Tree view works fine (I see some visual glitching of arrows, but
> that doesn't matter)
> > 4. switch to Raw view
> > 5. (any of these will trigger the behaivor)
> > 5.a. click on "items" instance variable, or
> > 5.b. "do it and go" any expression (e.g. 1+1)
> > 6. now you are in infinite pathIn: loop
> >
> > Sometimes I've experienced that breaking the loop (meta+.), closing the
> debugger and redoing the expression worked... but I don't have any details
> about that.
> >
> > Thanks!
> > Peter
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)list.inf.unibe.ch
>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev