n-ary tree widget

A. A. Golownew alev0000 at stud.uni-sb.de
Tue Mar 25 14:26:39 CET 2003


> For my particular application nodes can have references to other 
> nodes in the tree... for example
> 
>                                *
>                               /|
>                              / |
>                             /  |
>                          -------------
>                          | / |   |   |
>                          |/  |   |   | 
>                          *   *   *   *
> 
> notice the first node in the 2nd row points to the root. 

This shouldn't be any problem with VCG/aisee. Both of them allow
specifying edge "priorities", with edges of higher priority being
preferred when calculating the tree (graph) layout. Just give all
edges in the tree a high default priority (say, 100). Then, if you
give the additional references a lower priority (say, 5), they won't
destroy the tree layout, no matter how many of them you specify and in
which direction. With VCG/aisee, you can also specify different edge
classes, which you can then interactively hide/display, see
http://www.aisee.com/graph_of_the_month/cfg.htm

> any node in the tree should be able to point to any number of nodes.  

No problem at all.

> Also I need to bind keyboard events to each node in the tree 

Uuh... I am not sure, this could work with newer versions of aisee
(they allow some kind of "user actions", see
http://www.aisee.com/manual/unix/49.htm). I dont think VCG support any
of these.

> and text based information on each node.

VCG/aisee allow up to three additional information windows to be
associated with each node (apart from the node label and the node
title).

> it should be able to expand / collapse the nodes interactively

With aisee, you can expand/collapse arbitrary node/edge groups both
statically and interactively. Not sure about VCG.

Cheers,
Al.




More information about the Python-list mailing list