Diagram usability issues

I am hoping to make use of IDEA's diagrams, which look promising, but I ran into some serious usability issues. I hope to learn that there are appropriate settings that avoid these issues.

1) In a Project with multiple modules, how do I tell IDEA to create a class diagram for the classes in a single module? The context menu for a class has a Diagram item that produces a one-class diagram, and the similar menu item for the Module folder produces a diagram for all classes in the entire Project. And the Filter button doesn't seem to have a scope choice of "just this module".

2) Since the default diagram layouts are not very semantically communicative, it's very helpful that IDEA allows the classes to be dragged around. But when I do that the relationship lines behave uselessly -- although the end-points follow the moved classes, any intermediate corners stay in their initial positions. This creates such a mess that effectively the movability of classes is not a usable feature.  Do I simply have some layout mode setting incorrect?

3) In an attempt to prompt the diagram to re-layout the relationship lines, I tried the various Layout functions, but these all reposition all the classes. I couldn't find any function to simply fix the lines according the manually positioned classes.

4) When I expand the class detail visibility (eg: select the methods and properties buttons), that prompts the diagram to re-layout.  How do I supress that?

5) If I right-click on a class, and enable or disable details ("Show Categories"), that changes visibility for all classes displayed on the diagram, not just the selected class. And causes the entire diagram to re-layout.  How do I set details visibility on just one class?

IDEA 11.1.1

-- Graham

2 comments
Comment actions Permalink

Hello Graham and thank you for your feedback!

1. It's very specific feature request. In real life we have modules with hundreds of classes in each and invoking an UML class diagram for all module classes looks useless. Instead, we propose to dig inside the code by invoking class diagram for a single class or package and then use Ctrl+Alt+B on nodes to find inheritors. Also use SPACE to add classes.
2. Have you tried F5 after DnD ?
3. It would be awesome, but since we based on yFiles commercial library I have to check it supports such a relayout. Could you please file a feature request about that in IDEA YouTrack?
4. We do so to avoid a bigger mess http://www.screenr.com/1Bm8 When 5. will be implemented we don't do so.
5. http://youtrack.jetbrains.com/issue/IDEA-51589

With best regards,
  Konstantin Bulenkov

0
Comment actions Permalink

Hi Konstantin

1. It's very specific feature request. In real life we have modules with hundreds of classes in each and invoking an UML class diagram for all module classes looks useless. Instead, we propose to dig inside the code by invoking class diagram for a single class or package and then use Ctrl+Alt+B on nodes to find inheritors. Also use SPACE to add classes.

But the same could be said, only moreso, of the current behavior which shows all classes from an entire project (ie: all modules at once).  There is at least some useful subset of circumstances where a diagram for the set of classes in a module is tractable, while the entire project is not.  But I do see your point, and indeed starting with a single class and then expanding from there is a good procedure.

2. Have you tried F5 after DnD ?

I have now. That re-applies the current layout method, repositioning all the classes. So it does not just fix the badly routed lines.

3. It would be awesome, but since we based on yFiles commercial library I have to check it supports such a relayout. Could you please file a feature request about that in IDEA YouTrack?

I have created issue: http://youtrack.jetbrains.com/issue/IDEA-86950

-- Graham

0

Please sign in to leave a comment.