Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Class Inheritance Hierachie Navigation Window
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

drzoom
Ketchup Master

Switzerland
57 Posts

Posted - Jul 07 2006 :  04:57:00 AM  Show Profile  Reply with Quote
One of the cooles features of SNiFF+ is a windows with a graphical class hierachie.

On the name of the class, you get a menu point "Show class hierachie". A window pops up and is showing you a graphical view of the class hierachie.

You see "public", "protected" and "private" inheritance with different color of lines between the classes in the "UML" style diagramm. And if you click on a class box, the cursor jumps to the location of the class.

This is specialy important and usefull if you have big class hierachies (like I have ;-)), many places of multi inheritance (I have too) and many "interfaces" in C++.

Because the class browser in Visual Studio is not very sutable for a quick navigation in hierachies.


best regards
Tobias

feline
Whole Tomato Software

United Kingdom
18938 Posts

Posted - Jul 08 2006 :  2:15:35 PM  Show Profile  Reply with Quote
do you have a link to a picture? i have the feeling this is going to be quite some diagram for a large case.
have you looked into Doxygen? this free tool will generate documentation and diagrams that (by the sound of it) do the same thing for C++.

http://www.stack.nl/~dimitri/doxygen/

zen is the art of being at one with the two'ness
Go to Top of Page

drzoom
Ketchup Master

Switzerland
57 Posts

Posted - Jul 09 2006 :  05:54:25 AM  Show Profile  Reply with Quote
Yes it's like the diagramms of doxygen, but a little bit smaller and the orientation of the diagram is horizontal, not vertical.

The best thing is, that with SNiFF+ I can use this diagramm to navigate in the code. I can display the whole hierachie, or only parts of it. S o I'm very quick. E.g if I have a superclass, with several levels of inheritance. With this feature I get a Quick overview about all subclasses and can navigate to the a specific class with a single click.

best regards
Tobias
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18938 Posts

Posted - Jul 09 2006 :  11:13:28 AM  Show Profile  Reply with Quote
do you have a link or something to some pictures of these sort of diagrams? the idea sounds interesting, but it sounds like it could be a whole product in its self, rather than a small enhancement to VA.

there are a couple of class hierarchy graph tools in this free addin
http://www.codeproject.com/macro/kingstools.asp

zen is the art of being at one with the two'ness
Go to Top of Page

drzoom
Ketchup Master

Switzerland
57 Posts

Posted - Jul 10 2006 :  09:03:59 AM  Show Profile  Reply with Quote
Here are some screenshots from SNiFF+:

http://www.drzoom.ch/sniff/sniff_hierachy_browser1.png
http://www.drzoom.ch/sniff/sniff_hierachy_browser2.png
http://www.drzoom.ch/sniff/sniff_hierachy_browser3.png

Sorry for the many white out parts of the screenshot.

You can click every node in this quick class hierachie and navigate to the class. On a class, a simple Ctrl+H wir show up this hierachy screen, with the current class selected in the middle, and all inheritance elements shown from the view of the selected class.

You see the problems of SNiFF+ in the last screenshot. SNiFF only draws simple lines between the classes, and the routing algorithm is not the best. So if the inheritance dependencies are getting complex, you have not a very good overview. That could be done a lot better.

Then with different colors, the inheritance type could be shown. (public, protected and private).

Another problem is that SNiFF+ has problems with namespaces. If you have two classes with the same name in two different namespaces, SNiFF takes both classes as the same in the hierachy diagramm.

So to have a really success with your new never seen class hieracy browser, I would suggest that you support this features:


  • Inteligent routing of lines

  • UML like display with inheritance arrows

  • Different colors for different inheritance types

  • Don't forget to display template classes in C++

  • Display bound template arguments in diagram

  • Display also typedefs of template classes in C++

  • Don't forget about namespaces

  • If two classes has the same name in the diagram, display
    so many namespace parts until the name is clear.



More optional features that would be great:


  • VS Panel which always shows the current class tree with the
    class in the current context in the middle of the panel.

  • Options to change the display of the tree. Sizes, colors,
    horizontal/vertical.






best regards
Tobias
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18938 Posts

Posted - Jul 10 2006 :  6:01:55 PM  Show Profile  Reply with Quote
the 3rd picture really puts the scale of this request in focus.

to be honest i doubt VA will ever try to offer this sort of functionality, or at least not for quite some time.

if you look at the beta forum you will see how much work we already have on our hands with the new refactoring features.

my gut instinct is still to suggest Doxygen. if you are jumping around the hierarchy this much are you trying to edit code in all of these places? or are you just reading the code?

combine Doxygen for code browsing with OFIW and FSIW for jumping to the code in the IDE and you can move very quickly to quite far flung places.

zen is the art of being at one with the two'ness
Go to Top of Page

drzoom
Ketchup Master

Switzerland
57 Posts

Posted - Jul 11 2006 :  04:05:31 AM  Show Profile  Reply with Quote
What is OFIW and FSIW?

best regards
Tobias
Go to Top of Page

bugfix
Tomato Guru

Germany
324 Posts

Posted - Jul 11 2006 :  04:23:19 AM  Show Profile  Reply with Quote
OpenFemaleInWindows and FemaleSearchInWindows :)
alternatively you might want to check http://wholetomato.com/support/glossary.html

http://www.mf-sd.de
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18938 Posts

Posted - Jul 11 2006 :  6:02:34 PM  Show Profile  Reply with Quote
i need the version of VA bugfix is using! those sound like very useful functions

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000