📄 formdiagram.txt
字号:
Create Diagrams of Classes and Files
~guiinclude Default.txt
~guialias ScrollBarHorizontal Panel
~guialias ScrollBarVertical Panel
~guialias ToolButtonSeparatorGeneral1 ToolBar
~guialias ToolButtonSeparatorGeneral2 ToolBar
~guialias ToolButtonSeparatorGeneral3 ToolBar
~guialias ToolButtonSeparatorGeneral4 ToolBar
~guialias ToolButtonSeparatorClasses1 ToolBar
~guialias ToolButtonSeparatorClasses2 ToolBar
~guialias ToolButtonSeparatorClasses3 ToolBar
~guialias ToolButtonUsingImplementation ToolBar
~guialias ToolButtonScopeProtected ToolButtonScopePrivate
~guialias ToolButtonScopePublic ToolButtonScopePrivate
~guialias ToolButtonScopePublished ToolButtonScopePrivate
~guialias ToolButtonScopeAutomated ToolButtonScopePrivate
~guialias ToolButtonMemberProperty ToolButtonMemberField
~guialias ToolButtonMemberMethod ToolButtonMemberField
~guialias ToolButtonRecords ToolBar
~guialias ToolButtonObjects ToolBar
~guialias ToolButtonClasses ToolBar
~guialias ToolButtonInterfaces ToolBar
~guialias ToolButtonDispatchInterfaces ToolBar
~guialias ToolButtonClassesNotInInterface ToolBar
~guialias UpDownFontSize ComboBoxFontSize
~guialias ToolButtonAutoSimpleClassLayOutOptimized ToolButtonAutoSimpleLayOut
~guialias ToolBarGeneral ToolBar
~guialias ToolBarClasses ToolBar
~guialias ControlBar ToolBar
~guimanual 618,334,724,456 #FZoomWindow
~gui TreeView Tree of all Files and Classes
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.~[p]
The arrow-keys can be used while holding the ~[code shift] key to scroll the
diagram accordingly. Pressing additionally the ~[code control] key, will
scroll it in bigger amounts.
~gui Panel The Diagram
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.~[p]
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.~[p]
The arrow-keys can be used to scroll the diagram, if the
~[linkGUI #TreeView 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.
~gui PanelSplit Splitter
Drag this line to change the size of the tree view and the diagram.
~gui StatusBar Status Bar
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.
~gui FZoomWindow Zoom Map
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
~[code F8]. ~[HelpContext 24500]
~gui ToolBar Tool Bars
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.~[br]
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.
~gui ToolButtonZoomWindow Toggle the Window of the Zoom Map
This button toggles the visibility of the window of the zoom map.
~gui ToolButtonEditMargin Set the Size of the Margin in the Diagram
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.
~gui ToolButtonFont Edit the Font of the Diagram
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.
~gui ToolButtonModules Show Modules
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.
~gui ToolButtonFileNamesInClasses Names of the Files of the Classes
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.
~gui ToolButtonAssociations Associations of used Classes
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.
~gui ToolButtonScopePrivate Filter Members of Classes by their Visibility
With these five buttons the scopes of the members to list in a box of a class
can be set.
~gui ToolButtonMemberField Filter Members of Classes by their Kind
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.
~gui ToolButtonShowFunctionReturnType Show the Return Type of Functions
This button toggles whether the return types of functions of the classes should
be shown.
~gui ToolButtonShowMethodParameter Show the Return Type of Functions
This button toggles whether the parameter list of methods of the classes should
be shown. This will increase the width of the boxes considerably.
~gui ComboBoxFont Font of the Diagram
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.
~gui ComboBoxFontSize Size of the Font 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.
~gui ToolButtonAutoLayOut Automatically Lay-Out the Diagram
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.
~gui ToolButtonAutoSimpleLayOut Automatically Lay-Out the Diagram simply
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.~[br]
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.~[br]
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.
~gui MenuItemDiagrams Menu Diagrams
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.
~gui MenuItemLayout Menu Layout
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 ~[em DelphiDoc] to include an image
of the diagram with all the correct links can be copied to the clipboard, too.
~gui MenuItemDiagramList Menu Diagram List
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.
~gui MenuItemView Menu View
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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -