controlflowgraph plugin moved to kdereview ...

Sandro Andrade sandro.andrade at
Sat Jun 19 07:11:27 UTC 2010

Hi there,

I've just moved controlflowgraph plugin to kdereview, after fixing all
known issues and suggestions


Suggestions are welcome.



Old features:

- Control flow visualization between methods, classes, and namespaces.
- Integration Code Browser <-> Control Flow Graph for nodes
representing methods, classes, and namespaces.
- Integration Class Browser -> Control Flow Graph.
- Graph locking.
- Clustering by class, namespace, and/or project.
- Support for multiple toolviews with optimized management.
- Optional adjustment of maximum graph level (including no maximum level).
- Drawing of incoming arcs.
- Use of folder names for classes with no namespaces (as an
alternative to "Global Namespace").
- Visualization of uses that make an edge with navigation tool tip ->
code browser.
- Optional use of short names (non-qualified) for clustered graphs.
- Menu extensions for code browser, class browser, and project manager.
- Graph exporting in png, jpg, gif, svg, dia, fig, pdf, and dot formats.
- Graph zoom in/out and birds-eye integration with KGraphviewer kpart.
- Generating of graph in a separated thread.

New features:

- View uses on edge hover (automatic uses view can be disabled/enabled
- mouse button in left button group).
- IStatus implementation: display information of current graph processing.
- Merged graphs for a given class or for the entire project (probably
very time-consuming), accessible via contextMenuExtension.
- IRunController integration for merged graphs. These are more
time-consuming, then graph generation can be stopped.


- Graph generation threads are always serialized to preserve system
resources. Too fast mouse/cursor movements in a document
could trigger an excessively ammount of graph generation threads.
- KConfig thread-safety issues were solved by packing all required
data before thread starting.
- Graphviz's layout functions aren't thread-safe and minimal lock was
- Controlflowgraph plugin does not trigger backgroundparser
executions. When generating a graph for the entire project that would
imply in parsing all files. Its behaviour regarding finding uses and
declarations/definitions is similar to that of contextbrowser plugin.

More information about the KDevelop-devel mailing list