Documentation of the Components
This component shows all files and classes of the parsed data. Click a node in the tree with the right mouse button to show a context menu for it. Like the name says that pop-up menu is context sensitive and the available menu items change depending on the clicked node and the kind of the diagram. If a node of a file or class that is in the diagram is selected the view of the diagram at the right is scrolled to show the file or class.
The arrow-keys can be used while holding the
This component shows a region of the diagram and allows to edit it. The left mouse button can be used to select and move boxes of files or classes while the right mouse button shows the same context menu as in the tree view. If a box is clicked the node of the depicted file or class is selected in the tree view at the left. Beware that the menu items in the contect menu after the first separator only work on the file or class of the selected node in the tree view, not on (all) selected boxes in the diagram.
shift key to scroll the diagram accordingly. Pressing additionally the
control key, will scroll it in bigger amounts.
To select or move boxes use the mouse and the left mouse button like to select and move components on a form in Delphi. Clicking on free space will deselect all boxes, clicking an dragging in a free space will select all boxes in the drawn rectangle. Clicking a box will select it and deselect all other boxes if the clicked box wasn't selected, moving the mouse after clicking a box will move all currently selected boxes. Clicking and dragging while holding the control (Ctrl) key will result in always selecting with a drawn frame instead of the clicked box. Holding the shift (Shift) key while selecting boxes won't select all other boxes, but if only already selected boxes are newly selected, they will be deselected instead. Well, everything should be exactly like it is in the form designer of the Delphi IDE.
The arrow-keys can be used to scroll the diagram, if the TreeView is focused and the shift key is held. Pressing the control key additionally will scroll in bigger amounts. If the mouse pointer is in the diagram it can be also scrolled with the mouse wheel. Moving the mouse while holding the middle mouse button will scroll the diagram accordingly as well.
Drag this line to change the size of the tree view and the diagram.
A hint on the component under the mouse pointer is shown here. If the mouse pointer is over a box in the diagram its depicting file of class is shown.
This button shows a zoomed view of the whole diagram. Click it to move the shown region of the diagram. This window can be shown and hidden via a the first button in the tool bar or by a menu item or simply by pressing
Several options of the diagram can be set within the tool bars. Some options are only available in diagrams of files, others only in diagrams of classes. The picture shows the available buttons in a diagram of classes.
The following buttons will be visible for diagrams of files: A button to toggle if associations of units using of other files in their implementation part should be shown. Five buttons for each kind of record-like type to set, if they should be listed within the boxes of the files. And one button to set if record-like type in the implementation part of units should not be listed.
This button toggles the visibility of the window of the zoom map.
This button shows a small dialog to set the size of the margin in the diagram. This margin is used in several places, first of all it is the margin of all text in the boxes, so it influences the size of each box. Then it is used by all algorithms to aumomatically lay-out the diagram to decide the distance between boxes.
This button shows a dialog to edit the font to be used in the diagram. It's probably the best to use a scalable TrueType font or similar.
This button toggles whether the modules of the files or classes should be shown. Currently the modules are extracted as the directories in which the files reside. This option is currently only available in this dialog and can't be used when automatically generating diagrams because at the moment there is no algorithm to automatically lay-out the files/classes module-wise.
This button toggles whether the names of the files the classes are defined in should be shown in the boxes. If each file is regarded as a package this may be closer to UML.
This button toggles whether the associations depicting a usage-association should be shown. If a class contains a field or property with the type of another class in the diagram a usage-association is created, these associations can be filtered with this button. You may need to filter this kind of association in order to simplify the diagram to automatically lay-out it with the Sugiyama algorithm.
With these five buttons the scopes of the members to list in a box of a class can be set.
With these three buttons the kind of the members to list in a box of a class can be set. There are three kinds: fields, properties and methods.
This button toggles whether the return types of functions of the classes should be shown.
This button toggles whether the parameter list of methods of the classes should be shown. This will increase the width of the boxes considerably.
With this component the font of the diagram can be chosen. TrueType fonts are probably the best choice for big diagrams, so their size can be shrinked to decrease the size of the diagram.
With this component the size of the font of the diagram can be chosen. TrueType fonts can use any fonts and a in general preferred, for non-scalable fonts their available sizes are added to the drop-down list.
This button can be used to automatically lay-out the diagram. The Sugiyama algorithm is used to do this. Unfortunately it can't lay-out too complex diagrams, so you may need to filter some of the associations of the diagram before it is able to. And even then it may not be able to do it.
These two buttons can be used to automatically lay-out the diagram. Actually two different algorithms are used depending whether it is a diagram of classes or files. Both are simple and can only used for the specific diagram.
For diagrams of classes it simply lay-outs it by creating inheritance trees and sorting each class into one. Within the inheritance trees the classes are sorted alphabetically. The button to the right will run a post-optimization and a second pass to decrease the overall size of diagram.
For diagrams of files it simply lay-outs it by putting used files under files that use them. Using in the implementation part of units is weighted lesser.
This menu contains three menu items to load and save sets of diagram layouts and to close the window. All currently present diagrams can be saved to a file or a set of them loaded. The files are in the simple INI file format.
This menu contains several options for the current diagram. At first a diagram can be created, diagrams can either contain classes or files. The diagrams can saved in the list of diagrams, if the last changed should be undone, it can be reseted to the last saved state. It can also be renamed or deleted from the list. Finally the diagram can be exported. It can either be saved as an image or a map of the boxes in the diagram can be exported as an HTML image map or as an ~[image ] inline command.
The image can be either saved as a Windows Bitmap (.bmp), a Portable Network Graphic (.png), a Windows Meta File (.wmf) or a Scalable Vector Graphics (.svg). If it is saves as an SVG image links to HTML documentation can be included directly into the SVG file, the generator and its relevant options have to be selected in this menu before the image is generated.
The used targets are compatible with the HTML generator of documentation, so if the map is exported to the same directory as the documentation and the diagram is saved as PNG file with the same base name (of course another extension) in the same directory most graphical browsers should be able to show the HTML snippet and to go to the correct documentation if one of the boxes is clicked. The exported image map is only a HTML snippet, not a full and correct HTML page, so some browsers might not be able to do it that way, also if the diagram is quite big the browser may not be able to show the image. The needed ~[image ] inline command to be used in DelphiDoc to include an image of the diagram with all the correct links can be copied to the clipboard, too.
This menu shows all saved diagrams, and well also the current one, even if it hasn't been saved. Just chose a menu item to edit the corresponding diagram.
With this menu some of the components can be hidden, i.e. the tool bar, the status bar and the window of the zoom map.
Please see one of the contained components for a more specific help.