wbr.gml
来自「开放源码的编译器open watcom 1.6.0版的源代码」· GML 代码 · 共 1,349 行 · 第 1/4 页
GML
1,349 行
.np
If the destination file already exists, a "File exists. Overwrite?" dialog
appears, to avoid accidental data loss.
.*
:fig id='savasdlg' frame=box place=inline.
:graphic depth='2.2i'
file='savasdlg.eps'
:figcap.File SaveAs Dialog
:efig.
.*
.section Modules
.*
.np
The Modules menu item is the entry point for adding and removing modules from
the browse session. These changes are also reflected in the state of
the &wbrfile if it is subsequently saved.
.*
.np
Changes to the set of modules are handled by an Edit Project dialog window,
as in
:figref refid=editproj..
FIXME - need to review dialog to fill in details.
.*
:fig id='editproj' frame=box place=inline.
:graphic depth='2.0i'
file='editproj.eps'
:figcap.Edit Project Dialog
:efig.
.*
.begbull
.bull
addition of module (check for duplicates)
.bull
relative or absolute paths
.bull
deletion of module
.bull
no changes actually made until ok; cancel kills
.endbull
.*
.section Exit
.*
.np
Exit, as you might expect, terminates the application.
.*
.np
If the project has changes that have not been saved, a 'Save Changes?' dialog
will first appear. If the project has no name, and the 'Yes' choice is
selected, a SaveAs file dialog will request a file name specification for the
new file.
.*
.endlevel
.*
.section Locate Symbols
.*
.np
The term 'symbol', in the context of the &brname, encompasses the following:
.*
.begbull
.bull
user defined types
.bull
labels
.bull
functions
.bull
variables
.bull
function parameters
.bull
class/structure/union members
.bull
macros
.bull
class/function templates and their instantiations
.bull
filenames (not implemented)
.endbull
.*
.np
.bi Note:
Unnamed types appear only embedded in the descriptions of named variables and
types.
.*
.np
The sub-items in the Symbol menu all result in the same query dialog (see
:figref refid=picksym.),
except that each is pre-loaded with a particular symbol
type filter.
.*
:fig id='loctmenu' frame=box place=inline.
:graphic depth='1.2i'
file='loctmenu.eps'
:figcap.Locate Symbols Menu Items
:efig.
.*
:fig id='picksym' frame=box place=inline.
:graphic depth='2.5i'
file='picksym.eps'
:figcap.Locate Symbols Query Dialog
:efig.
.*
.np
Any number of these query dialogs may be open at any given time. This allows
the results of various queries to be kept on hand (perhaps in a minimized
icon) for fast reference.
.*
.np
Regardless of entry point, all symbol query dialogs contain the following
elements:
.*
.beglevel
.section Filter Edit Line
.*
.np
The Filter Edit Line accepts the following syntax for creating general or
specific queries (the same syntax is used by Open Watcom's WD debugger):
.*
.millust begin
[FileName[.ext]@][ClassName::][FuncName.][SymbolName]
('[]' indicates optional fields)
.millust end
.*
.np
FileName may be the name of a main source file or an included file. If an
extension is not provided, it is assumed to be the name of a module.
Specification of this field will constrain the results of the query to
symbols visible somewhere in the scopes of the file (or module).
.*
.np
ClassName constrains the search to symbols visible in the scope of the named
class/struct/union, including class data members and member functions, and
those of base classes of the named class.
.*
.np
FuncName constrains the search to symbols visible in the scope of the named
class, particularly local symbols. If ClassName was specified, and the named
function is a member of the class, symbols will also include symbols in the
class scope. If the named function is not a member of a named class, no
matching symbols will be found. This name does not include parentheses and
parameters.
.*
.np
SymbolName constrains the search to symbols that match the specified name. In
the case of functions, this name does not include parentheses and
parameters.
.*
.section Symbol Type Selection
.*
.np
This combo box is preloaded with a particular symbol type (or 'All'),
depending on the Symbol menu item that created the query dialog. For example,
the Function menu item creates a query dialog with 'Functions' preselected.
.*
.np
However, the setting of the symbol type filter can always be changed. This
means that a query dialog that originated with the Function menu item could
be transformed into a Class query dialog, for example. The current symbol
type setting is always reflected in the query dialog's title bar.
.*
.np
As might be expected, a value of 'All' applies no restrictions to the symbol
types matching the query.
.*
.section Locate Button
.*
.np
The Locate Button initiates a query that incorporates the current settings of
the Symbol Type and the Filter Edit Line. Changes to the two filter controls
do not result in changes to the Matches listbox until the Find button is
pressed.
.*
.np
Symbols that match the constraints of the filters will be loaded into the
Matches Listbox (see below). If there are no matching
symbols found, a 'No Symbols Found' dialog box will appear.
.*
.section Matches ListBox
.*
.np
Symbols that match the filter constraints display their names in the results
list box. The syntax used for the symbol names is the same scoped format
that is used for the Filter Edit Line.
.*
.np
Excess symbols may be scrolled into view. Also, the whole query dialog may
be resized to see more information in the list box.
.*
.section Show Details Checkbox
.*
.np
The names that appear in the Matches Listbox may be used as a starting point
for a whole chain of investigation. If the Show Details control is checked,
a Symbol Detail View will appear, pinned to the right of the query dialog
(see section(PushPin Windows)). That Detail View will show information on of the
symbol currently selected in the results listbox.
.*
.np
If the checkbox is unchecked, the detail view will disappear (if it has not
been unpinned).
.*
.np
If the detail view is unpinned, and a new item is selected in the list box
while the checkbox is still on, a new pinned Detail View will be created.
.*
.np
As a new item is selected in the listbox (using the keyboard or the mouse)
the contents of the pinned Detail View will change to show the new symbol.
If the new symbol is of a different type than the previous one, the layout of
the Detail View may change to show information applicable to the new symbol
type.
.*
.np
The various Detail Views are described in detail in the section(Symbol
Detail Views).
.*
.endlevel
.*
.*
.section Diagrams
.*
.np
Currently, the only diagram supported is the project-wide inheritance tree.
.*
:fig id='diagmenu' frame=box place=inline.
:graphic depth='0.8i'
file='diagmenu.eps'
:figcap.Diagrams Menu Items
:efig.
.*
.beglevel
.section Inheritance
.*
.np
This menu item generates a project wide inheritance tree, in the graphical
format. This tree is identical to that described in section (Graph Displays),
except that there is no left hand side of the tree. All nodes in the tree
grow out from the left edge, and the focal node is a hidden logical 'base of
all bases'. Initially, the whole inheritance tree is displayed.
.*
.section Call Tree
.np
(not supported)
This menu item generates a project wide call graph, in the graphical
format. This tree is identical to that described in section (Graph Displays),
except that there is no left hand side of the tree. All nodes in the tree
grow out from the left edge, and the focal node is the startup function.
Initially, the whole call graph is displayed.
.*
.endlevel
.*
.section Reports
(not supported)
.*
.section Options
.*
.np
Options allows modification to certain preference settings on a session wide
basis.
.*
.beglevel
.section Call Graph Format
.*
.np
This item allows a selection between text and graphical format for call graph
displays . This will have no affect on existing graph displays.
.*
.section Inheritance Format
.*
.np
This item allows a selection between text and graphical format for inheritance
tree displays. This will have no affect on existing graph displays.
.*
.endlevel
.*
.section Help
.*
.np
The Help menu provides online access to the contents of this document, in a
hypertext format. (FIXME - this could use more meat.)
.*
:fig id='helpmenu' frame=box place=inline.
:graphic depth='1.3i'
file='helpmenu.eps'
:figcap.Help Menu Items
:efig.
.*
.endlevel
.*
.*
.section The Editor Interface
.*
.np
Whether &brname is in standalone or &vmakenm slave mode, an &edname will likely
be available (In standalone mode, the Edit Source button on any Symbol Detail
will pop up the editor.). Provided the &edname is positioned on a file that
is part of the &brname project, the &brname can quickly provide details on any user-defined
symbol that appears in the text.
.*
.np
In order to find out about a symbol, the whole word must first be highlighted.
(?more info to be filled in here)
This will result in a query being sent to &brname (either directly or via &vmakenm)
containing the symbol name, the file name, and the source location.
.*
.np
The result of the query will be all symbols that have that name that are
in scope at that scope in that file.
.*
.np
If only a single symbol is found, a Detail View for that symbol will be created,
unattached to any window. This Detail View is identical in all regards to
those resulting from the &brname menu interaction, except that it will not be
minimized if the &brname main window is minimized.
.*
.np
If more than one symbol is found with that name in that scope (Eg: a local
variable and a global variable may have the same name), a symbol selection
dialog will appear, with a detail view of the currently selected symbol pinned
to it. As items in the list are selected, the pinned window will refresh to
reflect the current item.
.*
.np
If the 'Ok' button is pressed, the dialog will close, leaving behind an
unpinned detail view for the most recently selected symbol. If the cancel
button is pressed, the dialog and the detail view are both closed.
.*
.np
If the detail view is unpinned from the dialog, and another symbol in the
dialog is selected, a new pinned one will be created. Be repeating this,
detail views for several of the matching symbols can be unpinned for saving
after the dialog disappears.
.*
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?