directed graph layout program in c with a gtk+ graphical user interface on GNU/Linux

newdata 7fef2e3e06 doc update 20 hours ago
data 72f6650441 parse tree 1 day ago
docs 8670ddf5ab rhp update 1 month ago
misc 72f6650441 parse tree 1 day ago
src 45e2de5d70 librhp layout lib 1 day ago
.gitignore e9007c1700 memory graph data 1 week ago
COPYING b52ca4c956 new file 1 year ago
INSTALL b6345efdd5 printf update 1 year ago
LICENSE f9bfdf3a9a gcc issue 1 year ago
Makefile.am e946547c97 manual 5 months ago
README.md 7fef2e3e06 doc update 20 hours ago
autogen.sh 7d8da4663f compile tweaks 1 day ago
configure.ac 7d8da4663f compile tweaks 1 day ago
for-mygcc.sh 7cb3451064 gcc-8 oke. 4 months ago
for-wine32.sh cecfd8dc2b crosscompile 5 months ago
mooigraph.spec 72f6650441 parse tree 1 day ago
mooigraph.spec.in 72f6650441 parse tree 1 day ago
screenshot1.jpg 98ef20ea98 few screenshots 7 months ago
screenshot2.jpg 3fcf881a72 screenshot update 5 days ago
screenshot3.jpg 98ef20ea98 few screenshots 7 months ago

README.md

Mooigraph is a program to draw directed graph data with a gtk+-2 or gtk+-3 graphical user interface.

It has limited support to read graphviz dot files but enough to use with GNU GCC-7.x compiler graph data and it has it's own c styled graph language which can also be used.

The program has support for subgraph folding by clicking on the nodes in the graph for easier use with big data.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

screenshot

To compile:

./autogen.sh ./configure make cd src ./mooigraph

and: make clean make cleaner

This is with a gtk-3 gui and for a gtk-2 gui use: ./configure --with-gtk=2.0

This works this way at least on a Debian GNU/Linux 9 "stretch" 2017 intel computer. And needs the gtk/gdk and cairo libs and development headers.

mooigraph is a directed graph drawing program with a gtk2 gui graphical user interface. The input data format is such c-style that c-tools as indent and cpp can be used with the data. The program has internal a graph layout library. The program can be used with graph data or data generated with the GCC-7.1 compiler collection software. mooigraph can read gcc compiler graphviz dot files directly. Additional tools are egypt-callgraph, makefile2mooi, cgraph2mooi, tree2mooi, bison and gcc patches. mooigraph has folding of subgraphs on screen by clicking on the nodes. Drawings can be saved as png, svg or pdf and dia diagram (svg), firefox browser and gimp can open it. mooigraph can save as tlp format for the tulip graph drawing software. mooigraph can save as dia xml format for the dia diagram editor software. mooigraph can be used with a 4-D wheel mouse with a horizontal scroll wheel. mooigraph can run as console tool generating png or svg images from gv or tys data. dot uses more drawing area and does not have a gtk+ gui with subgraph folding. now at version 6 but at version 10 everything will be oke propably.

example data file own c styled data format:

void graph (void) { node("node1"); node("node2") { /* optional additional node data here / } / edge from node1 to node2 */ edge("node1","node2"); }

or the same graph written in dot language:

digraph "name-of-graph" { "a"; // node with name 'a' "b"; // node with name 'b' "a"->"b"; // edge from 'a' to 'b' }

mooigraph has limited support for reading graphviz dot files automatically.

On wikipedia see https://en.wikipedia.org/wiki/Layered_graph_drawing

You can use an modify this source as much as you like and if you want to give the modified source to others then the changes must be made available as GNU GPL version 3 libre free software. support for installation, bug fixing and understanding of the code.

To debug with gdb compile with -g and -O0 gcc options. (gdb) thread apply all backtrace Using gcc-4.9.x and gcc-6.x, gcc-7.x compilers with this source. Gcc-7.x development version has fixes needed for the graph data.

To run this in firefox browser with GTK+-3.2 use on commandline: ~> GDB_BACKEND=broadway ./mooigraph

The sourcecode is formatted with indent at 160 chars line length.

For big graph output let mooigraph generate svg output in commandline mode and then use imagick `convert file.svg -resize 1000x1000 file.jpg'

To compile the graph library use "make librhp" in the src directory.

graphviz eclipse license is explicitly not compatible with GPL and to avoid if possible And mooigraph is better then dot because it has subgraph folding which dot does not have.

This program does intentionally not use network connections, collect user data, create (hidden) config files etc. etc. etc.

GPL enforced badge

/* end */