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.