Visual Browser

The Visualizer is the primary CC-RIDER component. It allows you to view information about your program in many different ways, as well as to run the Analyzer in the background to keep the database current.

Wide variety of Views: Browsing Overview, Class Hierarchy, Class Ancestry, Class Nesting, Call/Caller Trees, File Relationships, Symbol Find, Program Statistics

Unique Views: Symbol index, Comment index, String index and support for Template instantiations

Configure and Filtering: Class member and tree filter options allow the creation of concise and informative views of the source code. By programming actions for mouse clicks over tree nodes, you can quickly access very detailed information, as well as the source code itself.

Easy Navigation and Editing: Hypertext navigating using the CC-RIDER built-in editor or editor of your choice make navigating a breeze.

CC-RIDER is not merely a class browser - it provides complete information on functions, variables, templates, enum values, macros, etc. CC-RIDER's function call and caller trees, along with the File Tree, class nesting and ancestry tree give you many different views of your program's physical and logical structure.

The CC-RIDER Visual Browser goes beyond the "tack on" browsers included with so-called "Visual" compiler environments by providing many different ways to graphically display various aspects of your application. By programming "actions" for mouse clicks over tree nodes, you can quickly access very detailed information.

CC-RIDER reveals detailed information about your symbols, where and how they're used, along with complex member inheritance relationships, macro expansions and template instantiations. You can also browse source code comments and string literals as easily as symbol names!

The interactive visualizer penetrates program structure with push-button graphical tree charts, detailed symbol information displays and a source code viewer and editor. The Visualizer can also link to an external editor application or compiler development environment, creating a powerful visually-driven hypertext editing environment.

"If you're a C or C++ programmer, then sooner or later you're going to need CC-RIDER."

Warren Keuffel, Windows Tech Journal

Visualizer Screen Layout

The Visualizer is an MDI style application which uses the Window menu to manage various kinds of child windows in its client area. Here is what the Visualizer application’s main window looks like.

Built-in Hypertext Editor/Viewer
Included in the Visualizer is a convenient built-in source code editor or viewer. When in Viewer Mode, this view allows read-only access to source code, ensuring that it cannot be modified. This is especially useful in network environments where read-only access is enforced by the operating system.

When Viewer Mode is turned off, a full-featured editor is enabled for convenient modification of source code. The Built-in Editor/Viewer has 'hypertext' capability that permits you to simply double-click any identifier in the source code to bring up complete detail about that symbol as you explore and edit the code.

Tree options and filters
Tree options and filters can be used with all trees to reduce the complexity of large trees, allowing you to focus on the specific aspects of an application you are studying. Configurable mouse actions allow you to quickly bring up different kinds of detailed information about a tree node with a mouse click. You can also jump directly to source code in either the built-in editor or an external editor application.

Views of the Visualizer

The Visualizer has the following views to help you visual your code:

· The Class Hierarchy view is a graphical representation of the class inheritance structure of your program. Your system's root classes are shown to the left. Derived classes are displayed to the right with connections to the primary parent classes indicated.

· The Class Ancestry view displays a reverse graphical representation of the class inheritance structure of your program. It differs from the Hierarchy view in that individual derived classes are shown on the right, with all their parent classes shown to the left. Branches in this graph indicate multiply inherited classes.

· Indexed Database Comments The analyzer now fully indexes comments in the database, allowing you to look-up or browse source code comments alphabetically. You can quickly jump to locations in the source code where comments occur. This helps you find crucial locations in a large, complex program according to comment documentation inserted by the programmer when the program was written.

· Indexed String Literals: You can also index string literals in your source code. This allows you to quickly locate a specific error message which your program may emit when run, for example. String constants can be browsed alphabetically and you can easily jump to the source code location of the string constant.

· The Project Metric Statistics window shows statistics about the analyzed application, for example: the number of source code lines, number of comments, number of classes, macros, functions, enums, etc.

· The Class Nesting window displays a graphical representation of the class nesting structure of your program. These are classes defined within the scope of another class. In this tree, classes with nesting are shown on the left, with nested classes to the right. Double-clicking on any class in the Hierarchy, Ancestry or Nesting windows will bring up details for the class. This is configured by the user.

· Call and Caller Trees will display complex relationships between the functions, methods and data in your applications. Function calls and data references are represented as differently shaped nodes in the tree. These trees are extremely useful for examining the structure of C applications, which do not have the object-oriented class relationships. Functions in the tree are only expanded the first time they are encountered (i.e. near the top of the tree.) This avoids sub-tree duplication and allows recursive function calls to be shown.

· The Symbol Browser gives you access to the complete Symbol Index in the CC-RIDER database. The display consists of two main sections. On the left is a list box showing various alphabetic ranges of raw symbol names while the right shows the symbols within the selected range. C++ symbols can be shown either mangled or demangled using a convenient radio button control. CC-RIDER uses a name mangling scheme based on the standard AT&T C++ compiler to distinguish overloaded function identifiers and class member names. Once a symbol is chosen it is a simple matter to bring up detailed information using the Find button.

· The File Tree views display graphical representations of the files #include'd by other source files in your system. In the File Used Tree, a file is shown to the left with nested #include'd files displayed to the right with connection lines to the #include'ing files. The File Used-by Tree is the inverse of the File Used Tree, showing what files #include a given header file. Double-clicking on any file in a File Tree will bring up a File Display Window for the file which shows an organized index of the various symbols declared in that file.