wbr.gml

来自「开放源码的编译器open watcom 1.6.0版的源代码」· GML 代码 · 共 1,349 行 · 第 1/4 页

GML
1,349
字号
if the owner is closed, the pushpin window will also close.
.bull
if the owner is minimized, the pushpin window will be minimized (into the
owner's icon); when the owner is restored, the pushpin window will also be
restored
.bull
if the owner is moved, the pushpin window will follow it
.bull
if the owner is resized on a side adjacent to the pushpin window, the
pushpin window will follow that side
.bull
the pushpin window may be moved independently of its owner.  The pushpin
window will still follow it's owner from its new relative location (FIXME -
currently, a pushpin window does not follow if it is broken away)
.bull
if the pushpin window is brought to within a few pixels of the right or
lower side of the owner, it will snap up against the owner's side.
.bull
if the pushpin window provides the detail view of the currently selected
item in a list box of the owner, its contents will change as the list box
selection changes. (It's layout may also change to accomodate the type
of item currently selected.)
.endbull
.*
.np
If the pushpin button on the owned pushpin window is pressed, the appearance
of the button will change as shown in
:figref refid='pushicon'.,
and the pushpin
window becomes an independent pushpin window.  This will also happen if the
pushpin window is minimized directly through its minimize control.  As an
additional visual cue, the pushpin window will move slightly away from its
previous owner.
.*
:fig id='pushicon' frame=box place=inline.
:graphic depth='0.5i'
    file='pushicon.eps'
:figcap.PushPin Button States
:efig.
.*
.np
As an independent pushpin window, it will no longer track any other window.
However, it may be moved over top of another window, and 'pinned' with its
pushpin button to the new window, establishing a new tracking relationship.
.*
.np
Frequently, a pushpin window is created through the activation of a checkbox
control.  In these cases, the association between the pushpin window and the
control is maintained:
.begbull
.bull
The checkbox will be unchecked if the pushpin window is closed while it is
still pinned to the checkbox's window.
.bull
If the pushpin window is unpinned from the checkbox's window, the checkbox
will either be unchecked, or a new pinned pushpin window will be created and
pinned to the checkbox's window.
.endbull

.np
If the escape key is pressed while a pushpin window has the focus, that
window will close.
.*
.section Symbol Detail Views
.*
.np
Anytime more information than the name of a symbol is needed, that information
will be displayed in a symbol detail view.  There are various detail
views, but they all have a few attributes in common. Specialized detail views
build upon that base, adding on information and controls in order to give
a complete picture of a particular symbol type.
.*
.np
The next section describes the characteristics that all symbol detail views
have in common; that is followed by descriptions of the extended detail views.
.*
.beglevel
.section Basic Detail View
.*
.np
The basic detail view is used "as is" to display information for variables,
labels, and typedefs (see
:figref refid='viewsym'.).
.*
:fig id='viewsym' frame=box place=inline.
:graphic depth='2.0i'
    file='viewsym.eps'
:figcap.Basic Detail View
:efig.
.*
.np
All Detail Views are pushpin windows, exhibiting standard pushpin
behavior.
.*
.np
Since there are many routes to arrive at the detail view for a given
symbol, there might be a risk of creating many redundant windows.  Too avoid
this, all existing unattached views are searched any time there is a need for
a detail view of a given symbol. If one exists, it will be brought to the top
of the window stack (first restoring from minimized state if necessary).  Only
if no unattached views exist for that symbol will a new one be created.
.*
.np
Many of them also have checkboxes that enable/disable the display of further
details. Since a delay may be inherent in the filling out of some of these
further details, it may be desirable to disable them for early browsing.  For
example, if the detail view is pinned to a query dialog, delays in cursoring
through the list may be experienced if the references checkbox (see below)
is enabled.
.*
.np
List boxes appear in all Symbol Detail Views.  Items appearing in these
list boxes may be double clicked for more information; this will usually
result in the creation of a new Detail View or an &edname session, depending on
the meaning of the list box.
.*
.np
Additionally, all symbol detail views share the following features:
.*
.beglevel
.section Title Bar
.*
.np
The title bar contains the symbol's complete scoped name (it may be
truncated to fit).  It also contains minimize and maximize buttons, and a
pushpin button.
.*
.section Symbol Description
.*
.np
The symbol description appears at the top of the view, and will include the
symbols complete declaration.  This will include type information in the case
of functions and variables, and function argument types, if
appropriate.
.*
.np
If any of the names used to describe the symbol (except for the symbol's own
name) are also user defined symbols, those names will be displayed on a
pushbutton embedded in the symbol's description (see foo? in the description
in
:figref refid=viewsym.).
This is a cue that more information is available for
that name.  If the button is pushed, another Detail View of the appropriate
type will appear to display information on that name.
.*
.section Edit Source Button
.*
.np
Pressing this button will resulting in a message being sent to the &edname (it
will be started up if necessary).  The &edname will be requested to open up the
file in which the Detail View's symbol is defined, and to position it at the
row and column in the file at with the definition occurs.  (FIXME - &brname
should check the timestamp of the file vs timestamp of the &mbrfile to raise
warnings if source changed.)
.*
.np
The new editor session might also be used as a starting point for further
queries (see section (Editor Interaction)), or to edit the symbol's
definition.  (Note that changes to source may put the source out of sync with
the &mbrfile that the compiler generated from the previous version of the
source.  If these changes are large, it may be necessary to recompile the
source, and unload/reload the module.
.*
.section References CheckBox
.*
.np
If this checkbox is clicked on, a listbox will appear below the checkbox; if
any other controls are arranged below the checkbox, they will be shifted
downwards.  The new listbox will contain the names of all other symbols that
'reference' the Detail View's symbol in one of the following senses:
.*
.begbull
.bull
variables and functions reference their types
.bull
derived types reference their base types
.bull
functions reference local and global variables (only those which may be
determined at compile time are listed)
.bull
functions reference functions
.bull
classes/structs/unions reference their members
.bull
class member functions may reference base class members implicitly (Eg: call
of base class destructor)
.bull
macros are referenced at their point of expansion (not yet implemented by
compiler)
.bull
function and class template instantiations reference their templates
.endbull
.*
.np
Each line specifies the name of the referencing symbol, and the
file name and file position at which the reference occurs.  If one of these
listbox items is double clicked, or if it is selected and then <enter> is
pressed, an &edname session will be positioned to the source location at which
the reference occurs.
.*
.np
Unchecking the References checkbox naturally causes the References list to
disappear.  If any other controls are arranged below it, they will be moved
up to close the gap.  The window's height will also be reduced accordingly.
.*
.endlevel
.*
.np
The next few sections describes other types of detail views that are
specialized for particular symbol types.
.*
.section Function Detail Views
.*
.np
Function Detail Views are used to handle local, global, inline, and member
functions, as well as function templates instantiations (not implemented).
.*
.np
Function Detail Views add two new detail controls to the basic Symbol Detail
View:
.*
.beglevel
.section Locals Checkbox
.*
.np
This controls the display of a list of variables local to the function.
Double click or enter on an item in the list will cause a detail view for that
variable to be created.
.*
.section Call Graph Checkbox
.*
.np
Enabling the Call Graph Checkbox causes a popup window to appear, displaying
the part of the call graph adjacent to the function that this window is
detailing (direct calls to and from this function).  The new window is a
pushpin window, pinned to this detail view.
.*
.np
The form of the display depends on the current setting of the call graph
format option (see section(Options)).(FIXME- currently no such menu
item)
.*
.np
In either the text format or the graphical format, a left to right
connection between nodes indicates a direct function call.
.*
.np
See section(Graph Displays) for a detailed description of the call graph and
its interaction mechanism.
.*
.np
Note that function calls made from a function pointer are not reflected
in the call graph.
.*
.endlevel
.*
.section Class Detail Views
.*
.np
The Class query also encompasses structs and unions, as these may be considered
restricted cases of the class construct.
.*
.np
Class Detail Views add two new detail controls to the basic Symbol Detail View:
.*
.beglevel
.section Data Members
.*
.np
The Data Members checkbox controls the display of a list of the names of
the data members of this class (as opposed to member functions).  As with all
Detail View list boxes, a double click on an item in the list will cause
a Detail View of that item to appear.
.*
.np
By default, the list box will show all data members of all types, including all
access levels (private/protected/public), and both static and non-static types.
Inherited data members are not shown.  However, these defaults can be changed
using the data member Filter button (see next section).
.*
.section Data Members Filter Button
.*
.np
This control creates a dialog box that allows setting the criteria that
determines which data members get displayed in the data members list
box (see
:figref refid=dmfltdlg.).
Changes made do not take effect unless the Ok
button is pressed, and they only affect the current Class Detail View.
.*
:fig id='dmfltdlg' frame=box place=inline.
:graphic depth='2.0i'
    file='dmfltdlg.eps'
:figcap.Data Members Filter Dialog
:efig.
.*
.section Member Functions
.*
.np
.np
The Member Functions checkbox controls the display of a list of the names of
the member functions of this class.  As with all
Detail View list boxes, a double click on an item in the list will cause
a Detail View of that item to appear.
.*
.np
By default, the list box will show all member functions of all types, including
all access levels (private/protected/public), both static and non-static
functions, and both virtual and non-virtual functions. Inherited member
functions are not shown.  However, these defaults can
be changed using the member functions Filter button (see next section).
.*
.section Member Functions Filter Button
.*
.np
This control creates a dialog box that allows setting the criterial that
determines which member functions get displayed in the member functions list
box (see
:figref refid=mffltdlg.).
Changes made do not take effect unless the Ok
button is pressed, and they only affect the current Class Detail View.
.*
:fig id='mffltdlg' frame=box place=inline.
:graphic depth='2.0i'
    file='mffltdlg.eps'
:figcap.Member Function Filter Dialog
:efig.
.*
.section Inheritance Tree
.*
.np
Enabling the Inheritance Tree checkbox causes a popup window to appear,
displaying the part of the inheritance tree adjacent to the class that this
window is detailing (direct base and derived classes).  The popup window is
a pushpin window, pinned to this detail view.
.*
.np
The form of the display depends on the current setting of the inheritance

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?