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.
Itai.