As we have mentioned above, the left panel contains all the different parts of the program that have been analyzed. All of these program elements have some metrics associated with them (we will talk about these metrics in Section 3.3).
When the program stars, we can see four tabs in the top section of the left panel: Full view, Component view, File view and Search result. Let's see what these tabs mean.
- The Full view tab contains all the program elements that are parts of the analyzed program, and can be found in the database. When the application starts, we can see only two lines in the Full view tab - -R System-Root and +N global namespace beneath it. If there is a + sign beside a program element, we can double-click on it to make the content of that element visible. For example, the global namespace can contain structs and classes or other namespaces, a class can contain methods, etc. The type of the different parts of the analysed program are denoted with a single letter in front of the element's name. We can see the following letters: R - system root, N - namespace, C - class, M - method of a class, S - struct.
- The Component view tab contains the major components of the analyzed source. These are usually the elements of a .dll or an executable. We can browse the Component view just like the Full view tab as it contains the same elements and also the names of the components.
- The File view tab holds the files that were processed during the analyzes of the system. Sometimes it can be interesting to see which files contain the porgram elements that we are interested in.
- The Search result tab contains the results of the last search (it is empty when we start the program). These searches can be performed from the menu, and we will talk about them in Section 3.3.3.
The Search result tab also contains three small buttons which can be found on the top part of the tab. We can clear the data from Search results tab by pressing the button labeled Clear.
The buttons labeled Undo and Redo alow the user to undo or redo the results of previous searches. This way we can step back from a search where we did not get the results we wanted.
On the bottom section of the Search result tab we can see a small frame. This frame contains the conditions for the last search that has been performed (it is empty if there were no searches done). Also we can see here the number of items currently present on the Search result tab.
The database usually contains more than one version of the analyzed program. The different versions are denoted by a date. To change the version that can be viewed in the left panel, we have to choose a new date value from the combo box on the bottom section of the panel and the current version will automatically change to the selected date (note that the Full view tab will be cleared if we had some elements opened). Below the version changing combo box we can read wich version of the Monitor we are currenlty using and what is the monitored system.
We can select one or more program elements from the panel by left clicking on them (hint: hold the Shift and/or Ctrl button to select more items) or by pressing the left mouse button and draging the mouse up or down. The selected lines will be highlighted with blue background. We will be able to do various things with the selected lines using different parts of the Menu (for a detailed description of the the menu please refer to Section 3.3). If we have selected some parts of the program, we can open a menu by clicking the right mouse button. The menu opened this way has the following items:
- The first two menu items, Item name and Item type, give simple information about the selected program element. They are only visible if we have selected only one line.
- We can get some more information by selecting the Item info... menu item. Beside the basic information (name, type, etc.) we get an overview of the most important metric values that are associated with the selected program element. The Item info... menu is not active if we have more lines selected.
- By pressing the Configuration Management menu item we can choose from four different options that are associated with the program element's code (note that this menu is not active for namespaces). By selecting the View source menu item we can get the source code of the selected program element. The source itself will appear in the right panel, and the appropriate part of the text will be highlighted. When we open the source code window, another new window opens on the right side of the source. It is possible that this window is not visible. In this case we have to click on the right side of the panel and drag it to the center or we can push the small arrow in the top-right corner of the central panel. With this new window we get additional options. We will discuss these options in Section 3.3. Also if we select the View source item for a program element that has children, we will get the question whether we would like to see the sources of the program element's child nodes. If we choose yes, it will show us all the files that contain a part of the selected element. For example it is possible that a partial class is implemented several files. The other three menu items are: Diff, Blame and Log. These are all parts of the so called "Bonsai" information of the source code and are only available if the specific code has this type of information attached to it in its repository. The Diff will show the differences in the source code of the selected program element compared to its last version, in other words we can see the latest changes in the code here. The Blame will show the whole source file containing the program element and will highlight the code according to the authors who last changed the part of the code. This way if we correct an error or bug, we will know who committed the change that caused the error. Lastly the Log will show us all the information that is available about the changes made to the source of the program element. We can get this way the author, date and comment of each change, so we can know when and why the change was made.
- Pressing the Select parent item menu item we can get the parent of the current element in the Full view tab. The parent will be highlighted with the usual blue backgound. For example, the parent of the method will be the class it its part of, and a classes parent will usually be a namespace.
- On the other hand, by selecting the Select sub-items menu item we will get the children of the highlighted item. For example, in case of a class all of its methods will be selected, similarily in case of a namespace all the classes, structs and other namespades belonging to the namespece will be highlighted.
In the next section we will talk about the right panel.