SharpDevelop Community

Get your problems solved!
Welcome to SharpDevelop Community Sign in | Join | Help
in Search

Itai Bar-Haim

Class Diagram Status

Well, free time was a bit of a problem lately, and so the work on the class diagram was a bit slow.

The main issue I addressed is compatibility with the Visual Studio 2005 class diagram file format. Currently the basics are implemented and seem to be working correctly. Another issue was Nested Types support. This is mostly working, not perfectly, however, as interacting with the nested types blocks doesn't work well at all. Still, it looks nice (and now it looks much more like the VS2005 theme, except for the full use of vector graphics :))


The To-Do list is still quite long, though. In the BUGS sections, we can find the layout system, that yields bogus results for some reasons I cannot understand, and that even before the really special layouting need to be done (currently only the simplest tree layout is planned. Note that since the layout engine treats each block the way it is presented at the moment, this would allow automatic ordering of diagram for expanded blocks, which is better than what VS2005 does... I found it somewhat frustrating that it closes all blocks before performing layout). Also in the BUGS, need to fix the interactivity issue of the nested classes, and check why the main expand/collapse button is bigger than the text in its line.

In the TO-COMPLETE section we can find the routing mechanism, currently offering no interactivity at all, and makes very bad routs, intersecting heavily with the class blocks. Also in that section there is the interfaces lollipop, currently drawn very statically. This need to be changed, so the user can collapse it, and place it (almost) anywhere around the class block as he/she wants.

In the STILL-WAITING section there's the other part of the routing system - associations. Once the routing system works, this would be an easy task. Another thing that comes here is making the displayed items (members, methods, etc.) interactive (i.e. selectable, renamable, perhaps put up an on-diagram complete editing system, but this is a thought for the far future).

Note this is only a partial list, including only the DIAGRAM part of the class diagram addin complex (the other parts include the class editor and the class wizard, that allows quick, visual editing of the project class structure).

I would appreciate some help in here. I intentionally divided the work to several project, each is separate in its meaning. The Diagrams project is the basic layout and routing system, and includes all the drawing abilities. This can be used for other things as well, if you want to add a feature that requires drawing. I am thinking of moving the interactive parts in there as well, making it some kind of a tool-kit for graphical diagrams. Anyway, if you want to use it, and/or give me a hand, just leave me a note.

That's is until next time.




darkcloud said:

Where to get your addin from? i want to try and use it

February 9, 2007 8:12 AM

ChristophWille said:

The Montferrer bits (WPF, WF and Class Designer) can be found on our build server

February 9, 2007 9:37 AM

Blue Ninja said:

Will this be back-ported to the 2.1 branch?

February 10, 2007 12:59 AM

itaibh said:

Yes, it will. But first I want it to get more functional. This will take some time.

In the meanwhile, you can download one of the much earlier versions from


February 10, 2007 9:39 AM

itaibh said:

Just to clear things out about the backporting comment, what I meant is that the class diagram addin will be available as a third-party addin, and WILL NOT BE INCLUDED in future 2.x releases.

The addin will be available from the addin page on sourceforge:


February 16, 2007 12:05 PM

Blue Ninja said:

Thanks for the clarification - I'll keep checking there for updates.

February 16, 2007 3:01 PM

Imesh Gunaratne's Web Log said:

Sharp Develop is a FREE Open Source IDE for developing .NET Applications. This seems to be a great news

August 6, 2007 2:21 PM
Powered by Community Server (Commercial Edition), by Telligent Systems
Don't contact us via this ( email address.