controlflowgraph plugin moved to kdereview ...

Sandro Andrade sandro.andrade at
Mon Jun 21 13:22:07 UTC 2010

On Sat, Jun 19, 2010 at 4:51 PM, David Nolden <zwabel at> wrote:
> 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?

Hi David,

In fact, it does trigger the background-parser, I had disabled
"Schedule all project files for parsing"
option in general settings.

With that option checked, control flow graph plugin triggers
background parser since it shares
usescollector class from context browser so that both present uses consistently.

I just need to use this also when generating graphs for the entire
class and project, I'm working
on this now.


> 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
> provided.
> /trunk/kdereview/controlflowgraph
> Suggestions are welcome.
> Thanks,
> Sandro
> -------------------------
> 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.
> Notes:
> - 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
> implemented.
> - 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
> --
> KDevelop-devel mailing list
> KDevelop-devel at

More information about the KDevelop-devel mailing list