The xhdg library contains a widget for layout of hierarchical directed
graphs. All child widgets of the graph widget will be automatically
layouted. The first widget is treated as a title for the graph. This
widget is centered in the top line of the graph widget. Any other
widget is positioned according to the edges of the graph. The layout
algorithm is a modified version of the algorithm of Sugiyama et al [Sug81].
This version was released 94/11/09. The distribution should contain
the following files:
>ls -lR
total 88
-rw-r--r-- 1 zink asmi 194 Jun 13 18:09 Imakefile
-rw-r--r-- 1 zink asmi 3002 May 16 15:51 LICENSE
-rw-r--r-- 1 zink asmi 2252 Nov 9 10:21 Makefile
-rw-r--r-- 1 zink asmi 2252 Nov 9 10:21 Makefile.orig
-rw-r--r-- 1 zink asmi 3606 Nov 9 10:22 README
-r--r--r-- 1 zink asmi 10521 Nov 4 15:43 graph.man
drwxr-sr-x 2 zink asmi 1024 Nov 9 10:23 lib
drwxr-sr-x 2 zink asmi 512 Nov 9 10:26 test
-rw-r--r-- 1 zink asmi 3606 Nov 4 17:52 xhdg-1.1.README
./lib:
total 336
-rw-r--r-- 1 zink asmi 56498 Nov 4 17:03 Graph.c
-rw-r--r-- 1 zink asmi 6196 May 16 15:51 Graph.h
-rw-r--r-- 1 zink asmi 8848 May 16 15:51 GraphP.h
-rw-r--r-- 1 zink asmi 18800 Nov 4 15:07 Graph_draw.c
-rw-r--r-- 1 zink asmi 3470 May 16 15:51 Graph_draw.h
-rw-r--r-- 1 zink asmi 46089 Nov 4 15:20 Graph_layout.c
-rw-r--r-- 1 zink asmi 3553 May 16 15:51 Graph_layout.h
-rw-r--r-- 1 zink asmi 475 Jun 13 18:05 Imakefile
-rw-r--r-- 1 zink asmi 4293 May 16 15:51 sc-queue.c
-rw-r--r-- 1 zink asmi 3804 May 16 15:51 sc-queue.h
./test:
total 72
-rw-r--r-- 1 zink asmi 14555 Nov 4 16:01 Graph_test.c
-r--r--r-- 1 zink asmi 4965 Nov 9 10:26 Graph_test.man
-r--r--r-- 1 zink asmi 4872 May 16 15:51 Graph_test.man~
-rw-r--r-- 1 zink asmi 447 May 16 15:51 Imakefile
To build and install the widget and a test program use the following
standard procedure:
xmkmf
make Makefiles
make depend
make all
make install
make install.man
If you have a color display you could use "make all
CDEBUGFLAGS=-DCOLOR_DISPLAY" instead of the "make all" command to
compile the test program for using colors. If you want the test
Program to user Motif widgets instead of the athena widgets, then make
all CDEBUGFLAGS=-DMOTIF is a way to do it. This version of the test
program uses buttons as vertices. If you click on a button the vertex
will vanish and a new layout computed.
The above procedure isn't working for X11R5 because a change of the
imake lib macro. Thats only a imake problem, the code itself works
with X11R5. You can possibly use and or modify the included Makefile
to overcome this problem.
The code was tested on Suns with Solaris and X11R6, SunOS 4.1.3 and
X11R5, SGI (IRIX Release 5.2) and on IBM RS6k (AIX3.2.5) workstations
with X11R5. On RS6000 you my need to invoke the C Compiler as xlc or
c89 instead of cc. Alternatively you can use gcc.
If you have any questions or bug reports, send it by email to
Roland.Zink@informatik.uni-stuttgart.de
or by mail to
Roland Zink
Universitaet Stuttgart
IPVR
Breitwiesenstrasse 20 - 22
70565 Stuttgart
Germany
enjoy
Roland
REFERENCES
[Sug81] Kozo Sugiyama, Shojiro Tagawa and Mitsuhiko Toda, "Methods for
Visual Understanding of Hierarchical System Structures", IEEE
Transactions on Systems, Man, and Cybernetics, Vol. SMC-11, No. 2,
February 1981, pp 109 - 125.
|