Visualizing class and member details in the Properties window and viewing details from tooltips

Hi! I’m Eugene Chigirinskiy, a Software Design Engineer working on Visual Studio Class Designer. In this blog entry I will give an overview of how the details of various diagram elements (classes, members, inheritance lines, etc) are visualized in the Properties window. Also, this entry will show some examples on how to view details from tooltips in Class Designer.

Quickly view information with tooltips

Tooltips are available for locally defined types as well as referenced types. They display information in language-specific terms, where possible. Usually tooltips can provide very specific information on the UI element. As an example, hovering over method on the diagram will show its complete signature in a tooltip.

To demonstrate what Class Designer tooltips can do, I have created the HTML image map that provides the experience very similar to what users get while using Class Designer. Just hover the mouse over various UI elements on the following diagram based on C# code:

(click the above bitmap to show the full picture)

Using the Properties window to view more information

 

Class Designer diagrams provide rich information about various code elements, like classes, interfaces, enumerations, type members, etc. But since each of these elements have multiple properties associated with it, it is impossible to show all of them on the diagram and not make it too cluttered. This is where Properties window comes to help. Class Designer uses Properties window to show various details of code elements.

Each code element has its own set of properties. In order to see them in the Properties window, user can select the needed element on the diagram. User can also change values of some properties, making immediate modifications of the the source code. For instance, changing the value of “Access Modifier” property for any class to “private” (in C# project) will immediately change the access modifier for the same class in code. You can even select multiple methods and with one edit change, for example, their Access Modifier from public to protected.

Also, I’d like to mention that Class Designer uses the syntax and terminology of the language of the project. For instance, inheritance modifiers for the class in C# projects will look like this:

 

Here is the same property for the class in VB project. Please note, that classes in VB cannot be static, so one of the choices was filtered out.

This rule can be applied to all Class Designer UI elements, such as tooltips, toolbox entries, etc.

 

We will continue improving these features as well as language-oriented support in Class Designer. We would very much like your feedback on using them.

Regards,

Eugene Chigirinskiy

Software Design Engineer

Visual Studio Class Designer Team