[kgraphviewer-devel] Hi and things to do

Gaël (aka Kleag) kleag at free.fr
Mon Apr 12 22:49:55 CEST 2010


and hurray to Milian to be the first poster to the list :-)

On Friday 09 April 2010 03:42:52 Milian Wolff wrote:
> Hello everybody!
> Some of you might now me from my contributions to Kate/KDevelop. I recently
> started using KGraphViewer in Massif-Visualizer [1] and started patching it
> so it can cope with my usecase (esp. optimizations to make it work with
> huge call graphs).
> I wonder what you guys are up to? What is still required? Anything you plan
> to implement in future?
On my side, the TODO file lists what I planned, but in fact, I don't work a lot 
on kgraphviewer since some time.

> Here is an unsorted list of things that are still suboptimal in my eyes:
> # KPart Integration
> I created the public interface that can be used by others that use the
> KPart but need more than the default KPart interface gives us. I think we
> should make sure it has everything that we could possibly return, and esp.
> the signals and slots in the KPart itself should be as many as possible.
> My experience with Kate interfaces is: Better more than less. I - as a
> user - hate to cope with different versions of an interface. Yet it's
> still a "solution" if we forget anything.
Yes, it's good to be able to do the maximum of things with the part. But, is 
this solution in the plugin spirit of parts ? Don't you think that most of 
things should be done through signals and slots which avoid to link at compile 
time with the plugin ? Well, the signals/slots solution always semmed 
problematic to me because even if there is a lower coupling, there is also mor 
bugs possibilities...

> Still, I'd like your feedback. Esp. from Sandro, what is required to get
> your ControlflowGraph plugin up and running? Just a stable release? Btw.:
> Any plans to finish the work you put into it? :P
> # Code cleanup
> Don't get me wrong: The code is mostly pretty good. But still there are
> parts where I have the impression that you, Gael, wanted to get something
> working instead of caring about having a "proper" solution. That's not a
> bad thing for a first release, esp. considering how well it works. But
> there are really many parts in the code that could use a cleanup /
> refactoring / optimization.
That's perfectly right. I must confess that I was more interested in obtaining 
a working solution for myself than anything else here and that I just ensured 
that all the required features where working quite well. So, yes, there is 
surely a lot of polishing to do, at least.

> # GraphicsView Cache
> I notice that none of the graphicsview items have a cache property set,
> shouldn't we use at least the ItemCoordinateCache? We should really check
> whether that improves things (I hope so) and use it where possible.
I don't know at all the cache properties of QGraphicsView!

> # Unit Tests
> There are no tests at all. Could we add at least a few?
Yes, we should. I never know where to start with unit tests...

> # Library VS QProcess
> Why can a graph be created by both, Library call and QProcess dot
> execution? 
This is an historic thing. Up to 2009, kgv was only using the QProcess and I 
was suggested at this time (was it Sandro or Tomaz?) to use the library 
instead. In fact, I did not know this library before and when I first 
discovered it I did not like its API a lot. Then I finally tried this solution 
with the idea to verify if it was really better. 

> In my eyes only one should be required and supported. And I'd
> opt for the former since it's probably better performance wise. Gael,
> could you comment on this? 
I completely agree, the QProcess version should probably be dropped. But the 
parsing code should be kept somewhere as it could be useful as a basis to 
handle future formats (even if it should be rewritten to use Spirit V2 instead 
of V1). Well, if we remove it, it would also remove the dependency to 

> You also said that I commited some change that
> breaks one but works in the other :-S I still have to fix that...
I was not clear enough: when looking at your changes I discovered the bug, but  
it was surely present before! I still have to look at it...
> # Stable release
> KGraphViewer works, performs ok and has the most required features. What
> about a (first?) stable release? I'd appreciate that since it would mean I
> could release a first version of massif-visualizer.
There were already "stable" releases that you can find in previous extragear 
releases and on kde-apps. But, you're right, as sais others before, a new 
release should be done, and probably in a better way than before.

> # Rest
> That's it for the moment. If I remember other things that should get done,
> I'll write more mails. Oh and I'd appreciate it if you could tell me who
> you are so I have an idea to whom I'm talking :)
So, I'll present myself :-) I'm a 39 years old research scientist in the field 
of natural language processing. I developed kgraphviewer to have an easy ti 
use, pretty and well integrated to the desktop tool to look at the results of 
the linguistic analyzer we developed in my lab (I hope to be able to release 
this analyzer in GPL a day or another!), instead of the Java based things that 
were available at this time.

I'm currently more in a "maintenance mode" for kgraphviewer, work and fomily 
life taking most of my time. So, I'm very happy to see people interested in 
developing new features and new uses for kgraphviewer!

Best regards,

KsirK - a world domination strategy game 

KGraphViewer - a GraphViz dot graphs viewer and editor based on a reusable 

More information about the kgraphviewer-devel mailing list