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

newdata 46f4396783 misc 15 hours ago
data caaff55ebd misc 6 days ago
docs 159fd26d9c gcc doc update 1 month ago
misc d3c1ad620c lemon parser generator with graph output 2 weeks ago
src 46f4396783 misc 15 hours ago
.gitignore e9007c1700 memory graph data 2 months ago
COPYING b52ca4c956 new file 1 year ago
INSTALL b6345efdd5 printf update 1 year ago
LICENSE f9bfdf3a9a gcc issue 1 year ago
Makefile.am 84bb67b42a spdx info added see reuse.software 1 week ago
README.md f38bcd647c v7.1 2 days ago
autogen.sh 84bb67b42a spdx info added see reuse.software 1 week ago
configure.ac f38bcd647c v7.1 2 days ago
for-mygcc.sh 84bb67b42a spdx info added see reuse.software 1 week ago
for-wine32.sh cecfd8dc2b crosscompile 6 months ago
mooigraph.spec f38bcd647c v7.1 2 days ago
mooigraph.spec.in 77e1597d62 misc 3 weeks ago
screenshot2.jpg f1e5cff09f draw update 3 weeks ago

README.md

Mooigraph is a GNU GPL-3 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-2 gui and for a gtk-3 gui use: ./configure --with-gtk=3.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 can read gcc compiler graphviz dot files directly with limitations.

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.

now at version 7 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.

It is very important there are GNU GPL'ed alternatives to dot program, graphviz eclipse license is explicitly not compatible with GPL and not libre software. Because everyone uses dot nowadays it is better to not depend on non-libre software from a single big company as at&t is in the usa.

And mooigraph is better then dot because it has subgraph folding which dot does not have.

This program show how much can be done in 55000 lines c as a dot alike tool.

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

SPDX-License-Identifier: GPL-3.0+

License-Filename: LICENSE

see website reuse.software

/* end */