[kgraphviewer-devel] Bundle graphviz abstraction into one library (e.g. libkgraphviz)

Kevin Funk krf at gmx.de
Thu Dec 9 13:17:00 CET 2010


Hey guys,

I'm about to write an application which needs to visualize graphs dynamically. 
Dynamically means, graphs are expected to be changed (as in nodes/edges are 
added/removed) during runtime programmatically.

For this to work I need an working graphviz abstraction layer. Your 
kgraphviewerlib provides most of features that I need to achieve this. 
However, most of this is not exported in a way that external users can use 
this API.

I'd like to change this, using and extending your code base without breaking 
the API to the kgraphviewer GUI interface. More concrete, I'd like to export 
the classes required to build and display a "DotGraph" graph programmatically. 
This means exporting and extending following classes of your code:
* DotGraphView (already exported)
* DotGraph
* GraphElement
  * GraphNode, CanvasNode
  * GraphEdge, CanvasEdge
  * GraphSubgraph, CanvasSubgraph
* GraphExporter
* DotRenderOp, DotGrammar (dependencies)

Afaics this could be bundled in something like "libkgraphviz".

I already have some trivial patches lying around which are removing most all 
of the graphviz includes and most of the boost includes from public headers to 
decrease the libs footprint (which should be included in kgraphviewer code 
anyway). If you want me to post them to reviewboard, tell me.

For all the other refactoring I'm going to work in a local branch for now. If 
you want me to make it public or push it to git.kde.org, I can do this.

What are your thoughts on all this stuff?

Greets

-- 
Kevin Funk


More information about the kgraphviewer-devel mailing list