controlflowgraph plugin moved to kdereview ...

David Nolden zwabel at
Sat Jun 19 19:51:59 UTC 2010

Good job, thanks for keeping working on this. Would be great if this could
find its way into KDevelop this year.

However, i find it problematic that you don't trigger the background-parser.
This is something that simply has to be done, be it time-consuming or not,
because by default KDevelop simply doesn't build uses at all, so the
control-flow graphs will be very unreliable. The contex-browser however
_does_ trigger the background-parser on its find-uses functionality, but i
guess you were referring to its use-highlighting?

Greetings, David

Am 19.06.2010 09:13 schrieb "Sandro Andrade" <sandro.andrade at>:

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.

KDevelop-devel mailing list
KDevelop-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop-devel mailing list