List Panel

The List panel provides a high level overview of your project, and a starting point for navigating to and examining various parts of your software. A series of tabs provide inventories for the various symbol types that make up your project.

The File Index tab contains a list of all the files that have been loaded into the Imagix 4D database. For C and C++ code, this includes both the particular .c and .cpp files you have specified, and any .h files which are needed to compile them. For Java code, both the .java files, and the .class files they import are included.

Two similar tabs provide indexes for logical, rather than physical, containers. The first is titled Namespace Index for C/C++ projects, and Package Index when Java projects are loaded. The second, the Class Index, lists all of the classes, templates (interfaces in Java), structs and unions that exist in the Imagix 4D database. As with the File Index, you can use these to get a sense of what is included in the project, and to quickly navigate to specific symbols.

To view and navigate to non-container symbols, a fourth tab, the Symbol Index, is available. For whatever symbol type you specify, it lists all of the symbols of that type in the project.

Hierarchical Listing

While symbols can be listed alphabetically in all the indexes, the File Index and Class Index tabs also provide the ability to view the symbols organized according to where they exist in the hierarchy. For the File Index, this always the physical hierarchy, the directory structure. For the Class Index, you can select to see either the physical hierarchy (directory > file > class) or the logical hierachy (namespace/package > class), depending on which icon you select. In both, you can collapse portions of the hierarchy enabling you to focus on the specific parts of the software you are interested in.

Both the symbol names (black vs. grey) and the symbol's icon help distinguish between symbols that are part of the original index list and those that are added to provide hierarchical context. In addition, the hierarchy symbols will generally be on the left. However, you'll notice that in the directory hierarchy, some classes may appear along the left, rather than indented underneath a directory and file. These are classes which are not actually defined in the source code, and therefore have no location within the physical hierarchy.

Note that in any of the indexes, when the list is in alphabetical order, you're able to scroll up and down by typing letters in the index area.

Slide-Out Information Tabs

For the each of the container indexes (file, namespace and class), an icon button at the upper right of the tab activates a slide out panel extension. The extension contains a series of tabs describing different aspects of the specific container that you have selected in the index.

While there is overlap between these slide-out tabs and those in the Symbol panel, the slide-out tabs provide some additional information and filtering, and avoid interfering with the focus of the Symbol panel.

For example, in the Members panel, you can limit the displayed symbols by type and scope, while file declarations and class inherited members can be added in the lists. In the Relationships tab, you're able to choose which cross reference relationships to examine. And a Source Checks tab in the File Index slide-out displays all of the source check violations for the file currently being examined.