annotate man/oo-browser.texi @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents 4103f0995bd7
children c0c698873ce1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1 \input psfig
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 \input texinfo @c -*-texinfo-*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @c SUMMARY: The OO-Browser User Manual for V2
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
6 @c USAGE: Hardcopy man from TeX; Info man from 'texinfo-format-buffer'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @c AUTHOR: Bob Weiner
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
9 @c ORG: Motorola Inc., PPG
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 @c ORIG-DATE: 10-Apr-90
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
11 @c LAST-MOD: 2-May-96 at 23:36:02 by Harri Pasanen
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 @c DESCRIPTION:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 @c DESCRIP-END.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @c %**start of header (This is for running Texinfo on a region.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 @setfilename ../info/oo-browser.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 @settitle The OO-Browser User Manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 @c %**end of header (This is for running Texinfo on a region.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @synindex vr fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 @finalout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 @sp 4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 @center @titlefont{The OO-Browser User Manual}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 @sp 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 @center The Multi-language Object-Oriented Code Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 @sp 5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 @center Bob Weiner
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
33 @center Motorola Inc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
34 @center E-mail: <oo-browser@@hub.ucsb.edu> (This is a mailing list.)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 @sp 2
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
36 @center Edition 2.9.12
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 @sp 2
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
38 @center May 1996
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 @vskip 0pt plus 1filll
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
42 Copyright @copyright{} 1989-1995 Free Software Foundation, Inc.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 All trademarks referenced herein are trademarks of their respective
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 holders.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 @setchapternewpage on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 @node Top, Introduction, (dir), (dir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 @unnumbered Preface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 @noindent
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
56 Copyright @copyright{} 1989-1996 Free Software Foundation, Inc.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 All trademarks referenced herein are trademarks of their respective holders.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 This edition of the OO-Browser User Manual is for use with any version
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
62 2.9.12 or greater of the OO-Browser. The OO-Browser is available for
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 free use, distribution, and modification under the terms of version 2 or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 later of the GNU Public License (GPL). No representations are made
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 about the suitability of this software for any purpose. It is provided
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 "as is" without express or implied warranty.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 @cindex credits
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 @cindex InfoDock, obtaining
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 @cindex OO-Browser, obtaining
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 @cindex anonymous ftp
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
72 The OO-Browser was designed and written by Bob Weiner. Motorola,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
73 Inc. funded and donated this work for free redistribution as part of the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
74 InfoDock integrated productivity toolset. Torgeir Veimo and Mark Stern
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
75 helped write the X OO-Browser core. Don Yacktman helped write the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
76 NEXTSTEP OO-Browser core. Jeff Sparkes helped with the Java language
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
77 support. Harri Pasanen implemented the Python language support, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
78 updated the documentation to reflect that addition.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 @vindex file, BR-README
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 @cindex README file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 @cindex installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 The OO-Browser and InfoDock can be obtained via anonymous ftp on the
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
84 Internet from: @file{/anonymous@@ftp.xemacs.org:/pub/infodock}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 Installation instructions for the OO-Browser can be found in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 @file{BR-README} file in the OO-Browser distribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 This manual documents the user interface and operation of the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 multi-language browser. It assumes a very basic familiarity in the use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 of the GNU Emacs editor as documented in @cite{[Stallman 87]}. It also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 assumes familiarity with object-oriented software concepts. However,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 many technical terms used in this manual are given precise meaning in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 the glossary. @xref{Glossary}. The OO-Browser is meant to be easy to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 use, so you can point and click to use it, rather than learning all of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 the key stroke commands.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 Chapter 1 of the manual focuses on OO-Browser Environments to provide
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 the reader with a picture of how to organize work for use with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 OO-Browser (@pxref{Environments,,Working with Environments}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 @xref{Usage,,Using the OO-Browser}, if you would rather start with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 interactive features of the browser. @xref{Features,,OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 Features}, for a quick overview of the browser's features.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 Throughout this manual, sequences of key strokes are delimited by braces,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 @{@}, command names are delimited by parentheses, (), and variable names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 are emphasized.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 We hope that you enjoy using the OO-Browser and that it improves your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 productivity.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 * Introduction:: Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 * Environments:: Working with Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 * Usage:: Using the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 * Options:: OO-Browser Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 * Customization:: Personal Customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 * Standalone:: Using Standalone OO-Browser Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 * Languages:: Language-Specific Notes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 * Features:: OO-Browser Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 * Commands:: OO-Browser Command Descriptions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 * Glossary:: Glossary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 * References:: References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 * Keys:: Key Binding Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 * Command Index:: Command and Variable Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 * Concepts:: Concept Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 --- The Detailed Node Listing ---
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 Working with Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 * Creating Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 * Building Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 * Loading Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 * Saving Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 Using the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 * Invoking:: Invoking the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 * Top-Level Classes:: Displaying Top-Level Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 * Moving to Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 * Saving Listings:: Writing a Listing to a File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 * Children and Parents:: Browsing Children and Parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 * Descendants and Ancestors:: Browsing Descendants and Ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 * Viewing and Editing:: Viewing and Editing Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 * Browsing Elements::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 * Browsing Categories::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 * Browsing Protocols::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 * Browsing Implementors::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 * Exiting a Listing::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 * Quitting and Refreshing:: Quitting and Refreshing the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 * Using the Mouse::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 * Getting Help::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 * Locating Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 * Filtering Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 * Ordering Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 * Statistics:: Environment and Class Summaries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 * Class Info:: Language-Specific Class Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 * Adding and Deleting Classes::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 * Completing Names::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 * Graphical Browsing:: Graphical OO-Browser Interfaces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 OO-Browser Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 * External Viewing:: Using An External Viewer or Editor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 * Keep Viewed Classes::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 * Inhibit Version:: Inhibit Version Screen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 * Invert Ancestors:: Invert Ancestor Trees
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 * Save All:: Save All Lookup Tables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 * Use Children:: Build Children Lookup Table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 * Sort Options:: Controlling Class Listing Order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 Language-Specific Notes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 * C Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 * C++ Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 * CLOS Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 * Eiffel Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 * Java Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 * Objective-C Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 * Python Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 C++ Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 * C++ Element Selection:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 * C++ Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 CLOS Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 * CLOS Method Handling:: Method Handling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 * CLOS Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 Eiffel Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 * Eiffel Listings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 * Eiffel Element Selection:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 * Eiffel Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 Objective-C Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 * Objective-C Categories::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 * Objective-C Protocols::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 * Objective-C Element Selection:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 * Objective-C Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 Python Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 * Python Module Lookup:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 * Python Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 @node Introduction, Environments, Top, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 @unnumbered Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 @cindex OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 @cindex Smalltalk
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
218 The @dfn{OO-Browser} is a multi-windowed, interactive, object-oriented
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
219 class browser designed for professional use. Its user interface is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
220 similar to the well-known Smalltalk browsers @cite{[Goldberg 83]}, yet
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
221 it is much more flexible and easy to use.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 @cindex Eiffel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 @cindex C++
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 @cindex C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 @cindex Objective-C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 @cindex CLOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 @cindex Python
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 @cindex Smalltalk
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 @cindex Info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 The OO-Browser is unique in several respects:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
235 It currently supports seven object-oriented languages (Eiffel, C++,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
236 Objective-C, CLOS (Lisp), Java, Python and Smalltalk), one non-object-oriented
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
237 language (C), and one documentation language, (GNU Info).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 It may be used for both system exploration and for browsing purposes as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 part of a professional software development tool chest.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 It quickly displays and provides views of complicated inheritance trees,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 making it an important tool for understanding object-oriented systems.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 It has a completely direct-manipulation interface with multiple modalities.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 It is integrated with a powerful editing environment that can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 customized to meet personal work styles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 @cindex listing buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 @cindex listing window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 @cindex viewer window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @cindex user interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 The picture on the following page highlights the major components of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 the OO-Browser user interface. (If you are reading the online Info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 version of this manual, see the last paragraph of this node for a link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 to the aforementioned picture.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 The windows across the top of the OO-Browser frame are called @dfn{class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 listing windows}; they display @dfn{listing buffers} with a single class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 name per line. The @dfn{viewer window} fills the bottom half of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 frame. It is used to display class source and summary information. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 is also used to display help on the OO-Browser command set. Pictured
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 here in the viewer window is part of the browser help buffer,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 summarizing its command key bindings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 All key bindings described throughout this manual are effective only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 within listing buffers, unless otherwise indicated. This means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 that the keys may not be used within the buffers displayed in the class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 viewer window. Instead, all normal editing keys are available in most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 buffers displayed in the viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 @cindex textual interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 @sp 2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 @centerline{@psfig{figure=im/oobr-text.eps}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 Mouse click on the following filename to view a picture of
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
285 the textual OO-Browser: "im/oobr-text.eps". Under InfoDock, use the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 middle mouse button. Under Emacs with the Hyperbole system loaded, use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 the shift-middle mouse button or shift-left on a two button mouse.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 Otherwise, there is no built-in way to view the picture.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 @node Environments, Usage, Introduction, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 @chapter Working with Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 @cindex Environment, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 @cindex Library search list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 @cindex System search list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 Whenever the OO-Browser is in use, an Environment is selected. An
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 Environment may be built or simply specified. An @dfn{Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 specification} tells the browser what to include in the construction of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 an Environment. (@xref{Creating Environments}, for more information.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 An OO-Browser @dfn{Environment} includes a set of inter-class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 relationships together with a few browser settings. The phrase,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 @dfn{the Environment}, refers to the current OO-Browser Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 Many browser commands depend on information in the Environment.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 The set of classes included in an Environment is specified by two lists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 of directories, below which all of the Environment's class source files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 are to be found. (The OO-Browser will automatically search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 sub-directories below the directories specified.) The first list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 directories is called the @dfn{Library search list}; it defines the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 locations of stable, typically reusable classes that have been released
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 for general use. The second list is called the @dfn{System search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 list}; it defines the locations of unreleased classes being developed,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 often for a particular system. All class names within a single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 Environment must be unique to ensure proper operation of the browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 The OO-Browser lets one create, update and save Environments. Once an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 Environment file has been created, it may be loaded at any time. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 browser will then use this Environment for all of its operations until
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 another one is loaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 The browser maintains a separate Environment for each programming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 language on which it is used. Thus, if one switches from Eiffel to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 C++ browsing and then back to Eiffel browsing, the Eiffel environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 will not need to be reloaded; it will appear immediately and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 frame will appear as if the Eiffel OO-Browser were invoked for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 first time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 @cindex Environment, default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 The recommended default name for Environment files is, @file{OOBR}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 We recommend that you store each Environment in the top-level directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 of the first system pathname in the Environment, i.e@. the root
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 directory of a system's code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 Environment files are automatically created and loaded by the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 so that you need never become familiar with their format. You are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 responsible for remembering which Environment files you create and for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 requesting their use whenever desired. @xref{Invoking,,Invoking the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 OO-Browser}, for information on how to specify a different Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 file for use.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 * Creating Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 * Building Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 * Loading Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 * Saving Environments::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 @node Creating Environments, Building Environments, Environments, Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 @section Creating Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 @cindex Environment specification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 Environment specifications are useful when one wants to describe a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 number of Environments to the OO-Browser but wants to defer their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 construction until later. Large environments then can be built
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 overnight. @xref{Building Environments}, for more information.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 @kindex C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 @findex br-env-create
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 @cindex initialization file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 Every Environment must be specified before it can be built or used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 Thus, specifying an Environment is the first step in creating it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 Environment specifications are created with the @{@kbd{C-c C-c}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 @code{(br-env-create)} command, which prompts for all necessary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 information. This command may be invoked repeatedly to quickly specify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 a number of different Environments.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 Here are the Environment specification components for which you will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 prompted:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 @item System search directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 List of directories below which other System directories containing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377 class source code and directories of class source files may be found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 @item Library search directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 List of directories below which Library files of class source code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 and directories of class source files may be found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 @emph{EIFFEL NOTE: We strongly suggest that if you have previous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384 versions of library class source below any of these directories, that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 you move them elsewhere, e.g. ISE's Eiffel version "2.1" directory of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 source. These will cause class naming conflicts that the browser will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 not resolve to your satisfaction. The basic rule is that every class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 name within a single Environment should be unique. Use @{@kbd{M-e}@} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 help find duplicate classes.}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 @node Building Environments, Loading Environments, Creating Environments, Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 @section Building Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 @cindex Environment building
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 An Environment specification tells the OO-Browser what to include in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 Environment, but the Environment still must be built before use. When a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 new Environment must be built or when a large number of changes have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 been made to classes in the Environment, the following commands are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 useful:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 @findex br-env-rebuild
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 @findex br-lib-rebuild
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 @findex br-sys-rebuild
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 @kindex C-c C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 @kindex L
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 @kindex S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 @item @{C-c C-e@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 build all Env classes @code{(br-env-rebuild)} (This prompts for whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 or not to use a background process to build the Environment.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 @item @{L@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 build Env Library classes only @code{(br-lib-rebuild)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 @item @{S@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 build Env System classes only @code{(br-sys-rebuild)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 When class names or locations have changed or the Environment's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 inheritance structure is modified, the Environment must be rebuilt. For
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 small Environment changes, one may use the class addition and deletion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 features of the browser. @xref{Adding and Deleting Classes}, for more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 information.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 @cindex Environment building, batch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 @cindex large Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 The OO-Browser lets you build large environments in the background so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 you can go on to other work while waiting on a build. When the build is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 complete, it will ask you whether you want to browse the built Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 Alternatively, very large Environments may be built overnight by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 invoking Emacs in batch mode at a scheduled time. To do this, you must
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 first create an Environment specification so that the browser knows what
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 to build. @xref{Creating Environments}. Then use a shell command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 line of the form below (substitute your local OO-Browser installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 directory for @emph{<BR-DIR>}):@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440 emacs -batch -l <BR-DIR>/br-start.el @emph{Env-Spec-File} \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441 ... @emph{Spec File} -f br-env-batch-build > log-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 for example:@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 emacs -batch -l br-start.el OOBR -f br-env-batch-build > log-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 Typically when using the above command line, one should redirect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 the standard output stream to a log file for later examination, as is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 done in the above example. This helps ensure that either the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 Environment built successfully or a message indicating the cause of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 failure is provided.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455 @node Loading Environments, Saving Environments, Building Environments, Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 @section Loading Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 @cindex Environment loading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460 @cindex loading an Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 @kindex C-c C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 @findex oo-browser command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 @vindex br-env-default-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464 @vindex file, OOBR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 @cindex default Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 A new Environment may be loaded for use at any time within the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 OO-Browser. One may either select the load Environment command from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 OO-Browser command summary or may use the @{@kbd{C-c C-o}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 @code{(oo-browser)} command to select a language and environment to load.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470 When prompted for the Environment file to load or create, an immediate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 @{@key{RET}@} will browse the most recently loaded Environment, if any.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 Otherwise, it will create and load the Environment file in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 directory whose name is given by the @var{br-env-default-file} variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 (default is @file{OOBR}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476 @node Saving Environments, , Loading Environments, Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 @section Saving Environments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 The OO-Browser automatically builds and saves Environments in most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 cases. Occasionally one may find a need to force the Environment to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482 be saved to a file, as in the case when one wants to save an Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 under a different file name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 @kindex C-c C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 @findex br-env-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 Use @{@kbd{C-c C-s}@}, the @code{(br-env-save)} command to force an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 Environment save to occur. The command will prompt for a file to save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 to, with the default as the current Environment file name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492 @node Usage, Options, Environments, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 @chapter Using the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 * Invoking:: Invoking the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498 * Top-Level Classes:: Displaying Top-Level Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499 * Moving to Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500 * Saving Listings:: Writing a Listing to a File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 * Children and Parents:: Browsing Children and Parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 * Descendants and Ancestors:: Browsing Descendants and Ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 * Viewing and Editing:: Viewing and Editing Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 * Browsing Elements::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 * Browsing Categories::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 * Browsing Protocols::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507 * Browsing Implementors::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 * Exiting a Listing::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 * Quitting and Refreshing:: Quitting and Refreshing the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 * Using the Mouse::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 * Getting Help::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 * Locating Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 * Filtering Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 * Ordering Entries::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515 * Statistics:: Environment and Class Summaries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516 * Class Info:: Language-Specific Class Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 * Adding and Deleting Classes::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518 * Completing Names::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 * Graphical Browsing:: Graphical OO-Browser Interfaces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 @node Invoking, Top-Level Classes, Usage, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523 @section Invoking the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 @cindex invoking the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 @cindex starting the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 @kindex C-c C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 @findex oo-browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 @cindex language support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 The OO-Browser supports the following languages: C++ or G++, C, Info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 (the online manual format), CLOS (Lisp), Eiffel, Objective-C, Java (as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532 documented in @cite{[Java 95]}), Python and Smalltalk. The OO-Browser may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 used on source written in any of these languages by using @{@kbd{C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 C-o}@} or, if that key has not been setup, by using @{@kbd{M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 oo-browser @key{RET}}@}. This command will prompt for the language to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536 browse, the Environment specification of directories to browse, and then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 will either load the Environment or build it. After the Environment is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 built, it will display the set of classes (or nodes) in the Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 (Choose C++ if you are browsing plain C code.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 @kindex C-u C-c C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 @cindex current Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 @cindex Environment, current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 @cindex oo-browser, restarting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 If you have exited the browser using @{@kbd{q}@} and wish to browse the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 same Environment again, use @{@kbd{C-u C-c C-o}@}, which will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 immediately redisplay the browser just as you left it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 @findex c++-browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 @findex eif-browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 @findex info-browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 @findex clos-browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 @findex objc-browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 @findex python-browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 @findex smt-browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 Alternatively, you can invoke the browser on a specific language
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 Environment, e.g@. to bring back the last Environment browsed under that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 language. The language-specific browser invocation commands are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 @{@kbd{M-x eif-browse @key{RET}}@}, @{@kbd{M-x c++-browse @key{RET}}@},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 @{@kbd{M-x info-browse @key{RET}}@}, @{@kbd{M-x clos-browse
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
561 @key{RET}}@}, @{@kbd{M-x objc-browse @key{RET}}@}, @{@kbd{M-x python-browse @key{RET}}@}.@refill
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 @cindex Environment file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 @cindex prefix argument
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 @cindex Environment, prompting for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 A prefix argument given to any of these commands will cause it to prompt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 for an Environment file to use as the current Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 On startup, if the selected Environment has been saved to a file, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 will be loaded; otherwise, the user will be asked to specify the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572 Environment. The specification will be saved under the previously given
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 file name. The browser will then load this Environment specification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
574 file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576 @cindex aborting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577 @cindex canceling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 @kindex C-g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579 @findex keyboard-quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580 If the browser loads an Environment file and finds only a specification,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 it will prompt the user in the minibuffer window with a request to build
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 the Environment. It will continue to prompt the user until a full
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 Environment is built or loaded and then the browser will start,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 displaying its multi-windowed interface. To abort from these prompts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585 and to cancel the browser invocation request at any time, use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
586 @{@kbd{C-g}@} @code{(keyboard-quit)}, the standard way to abort an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587 unfinished command within Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 Once an Environment has been loaded, entering and quitting the browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 are rapid actions, allowing a smooth transition between editing and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 browsing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 @node Top-Level Classes, Moving to Entries, Invoking, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 @section Displaying Top-Level Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597 @cindex classes, top-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 The OO-Browser starts by displaying all top-level classes in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 Environment. @dfn{Top-level classes} are those that do not inherit from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 any others. The browser can show all top-level classes or System or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 Library classes only. Once in the browser, use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 @kindex s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604 @findex br-sys-top-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 @kindex l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 @findex br-lib-top-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 @kindex t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 @findex br-top-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 @item @{s@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611 System top-level classes only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 @item @{l@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 Library top-level classes only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 @item @{t@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 all top-level classes in Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 Note that selection of any of these commands does not affect the ancestry or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 descendancy trees for any given class. Each simply limits which trees are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 easily accessible for browsing. For example, selection of Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 top-level classes only, followed by the browser show children command,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 @{@kbd{c}@} @code{(br-children)}, would display the name of a System
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 class if the System class directly inherits from the selected Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 class.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 @cindex classes, all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627 @cindex Environment, ordering classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 To see an ordered listing of all of the classes in a particular part of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 an Environment, use a prefix argument with the commands given above:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 @item @{C-u s@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 all System classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 @item @{C-u l@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 all Library classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 @item @{C-u t@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 all Environment classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 @node Moving to Entries, Saving Listings, Top-Level Classes, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 @section Moving to Entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643 @kindex C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 @findex br-next-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 @kindex C-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646 @findex br-prev-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647 @cindex previous entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 @cindex entry, previous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649 @cindex next entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650 @cindex entry, next
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 @cindex movement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 Many browser commands operate on the current entry in a listing window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 @{@kbd{C-n}@} @code{(br-next-entry)} moves point to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 the next entry in a listing buffer. @{@kbd{C-p}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 @code{(br-prev-entry)} moves to the previous entry. Both take prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 arguments and use them as the number of entries by which to move.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658 @node Saving Listings, Children and Parents, Moving to Entries, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 @section Writing a Listing to a File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 @kindex C-c C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662 @findex br-write-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 @cindex listing, editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 @cindex listing, writing to a file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665 Many standard editing keys are rebound in listing buffers to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666 provide a useful set of accessible commands. Nonetheless, one needs to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 be able to store and to edit listing buffers. The @{@kbd{C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 C-w}@} @code{(br-write-buffer)} command provides this capability. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 command prompts for a file name under which to save the current buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 One may then quit the browser, read in the file and edit it as a plain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 text file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 @node Children and Parents, Descendants and Ancestors, Saving Listings, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 @section Browsing Children and Parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 @kindex c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 @findex br-children
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678 @kindex p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 @findex br-parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680 @cindex browsing, children
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681 @cindex children
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 @cindex browsing, parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 @cindex parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 @{@kbd{c}@} displays the children of the class at point; @{@kbd{p}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685 displays its parents. @{@kbd{C-u c}@} displays the children of all classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686 in the present listing window; @{@kbd{C-u p}@} does the same for parents.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 @node Descendants and Ancestors, Viewing and Editing, Children and Parents, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 @section Browsing Descendants and Ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691 @cindex browsing, ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 @cindex ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 @cindex browsing, descendants
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 @cindex descendants
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 The OO-Browser is very fast at computing ancestor and descendant hierarchies,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 accounting for multiple inheritance and cycles where permitted. Descendant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697 and ancestor listings provide an immediate overview of some key relationships
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698 among class groupings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 @kindex d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 @findex br-descendants
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 @kindex a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 @findex br-ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 With point on any class entry line in a listing buffer, @{@kbd{d}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705 shows descendants for the class and @{@kbd{a}@} shows ancestors.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 @{@kbd{C-u d}@} shows the descendant trees for all classes in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707 current listing buffer and @{@kbd{C-u a}@} does the same for ancestors.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 @cindex ancestors, inverted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 @vindex br-invert-ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711 The ancestor tree for a given root class is normally shown branching out
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 from the root class. This means that higher-level ancestors, those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713 further away from the root class, are shown in descending trees below
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714 lower-level ancestors. The leaves of the tree represent the ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
715 furthest from the root, as one might expect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
716
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
717 This, however, is the inverse of inheritance trees. Some people prefer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
718 to see ancestor trees like inheritance trees, with parents above
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
719 children. This is an @dfn{inverted ancestor tree}. To obtain this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720 view of ancestors use @{@kbd{M- -1 a}@} for ancestors of the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 class. For ancestors of all classes in the current buffer, use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 @{@kbd{M- -2 a}@}, or any negative prefix argument lest than -1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 Inverted ancestor trees may be made the default by setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 @code{br-invert-ancestors} non-nil, as in:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 @display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 @{@kbd{M-x set-variable @key{RET} br-invert-ancestors @key{RET} t @key{RET}}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 @end display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 This is a personal setting that affects all Environments used by the browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733 @node Viewing and Editing, Browsing Elements, Descendants and Ancestors, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734 @section Viewing and Editing Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736 @kindex v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737 @findex br-view-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
738 @cindex classes, viewing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739 @cindex viewing a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
740 @kindex e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
741 @findex br-edit-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742 @cindex classes, editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
743 @cindex editing a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
744 One of the major uses of the OO-Browser is to view or edit class source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
745 texts. @{@kbd{v}@} will view the source for the class or element name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746 at point in a read-only mode in the viewer window; it will not select
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
747 the viewer window. @{@kbd{e}@} does the same, except that it edits the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 element source in a read-write mode, if the user has write permission for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749 the source file. It also selects the viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
750
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
751 @cindex classes, name completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752 @cindex completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753 A prefix argument to either of these commands, as in @{@kbd{C-u v}@} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754 @{@kbd{C-u e}@}, causes them to prompt for the entry to display.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755 Full class and element name completion is provided once an Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756 has been loaded and built. @xref{Completing Names}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
757
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
758 @vindex br-edit-file-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
759 @vindex br-view-file-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760 The value of the variable @var{br-edit-file-function} is the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761 that the browser calls when a source file entity is displayed for editing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 The value of @var{br-view-file-function} is the function called to view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763 a source file entity. @xref{External Viewing,,Using an External
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764 Viewer or Editor}, for information on using non-Emacs editors and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765 viewers with the browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 If a user has no read access rights to a file, this will be apparent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768 when the browser tries to display the file and fails. If the user does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
769 not have write permission to the class source file, the standard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770 @var{br-edit-file-function} may display the file in a read-only mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771 (indicated by two percent signs, %%, at the front of the buffer mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772 line). This is a warning that one should not attempt to edit the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 In some cases, one really wants to try to edit such a file; in those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774 cases, the buffer may be toggled between read-only and read-write modes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 via the Emacs command, @code{(toggle-read-only)}, usually bound to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776 @{@kbd{C-x C-q}@}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 @kindex SPC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
779 @findex br-viewer-scroll-up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780 @kindex DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 @findex br-viewer-scroll-down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782 @cindex scrolling viewer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 @cindex viewer, scrolling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 Once a class has been displayed for viewing, @{@key{SPC}@} will scroll its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785 source text up (forward) almost a windowful; @{@key{DEL}@} will scroll it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 down (backward) almost a windowful. In fact, this is a general means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 for scrolling the OO-Browser viewer window whenever point, as shown by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 the Emacs cursor, is in a listing window. When a class is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 selected for editing, @{@kbd{C-v}@} will scroll up, @{@kbd{M-v}@} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 scroll down, assuming the standard Emacs key bindings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792 @kindex C-c C-v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793 @findex br-to-from-viewer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794 @cindex movement, to or from viewer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 Sometimes one needs to quickly switch back and forth between the viewer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 window and the current listing window. The normal Emacs window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797 movement commands often are cumbersome in such instances. Instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798 @code{(br-to-from-viewer)} bound to @{@kbd{C-c C-v}@}, allows the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799 desired back and forth movement. It acts as a toggle switch,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 alternately moving between the buffer in the viewer window and the prior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 listing buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 @cindex class, narrowing view to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804 @vindex br-narrow-view-to-class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805 @cindex classes, others same file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 @kindex C-x n w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 @kindex C-x w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808 @findex widen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 By default, the OO-Browser displays class definition files in their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810 entirety. If there are multiple classes in a file, you will be able to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811 scroll through all of them. If you prefer that only the selected class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812 be visible, enable the @code{br-narrow-view-to-class} option flag. When
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 set to a non-nil value, this flag narrows the source buffer so that only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 the class of interest and its preceding comments are visible. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 examine other classes in the same file, you must execute a @{@kbd{C-x n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816 w}@} @code{(widen)} command when in the narrowed buffer. (Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817 @{@kbd{C-x w}@} under Emacs 18.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 @kindex 1 (one)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820 @findex br-view-full-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821 @kindex C-x 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822 @findex delete-other-windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 @cindex viewer, full frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824 If the browser is used on a small screen, it may be helpful to use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825 a full frame to view or edit a buffer of source code. If point is in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826 listing buffer, pressing @{@kbd{1}@}, the number one, will expand the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827 viewer window buffer to the full frame. When the browser is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
828 re-invoked, it will look just as it did before. If point is in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829 viewer window, @{@kbd{C-x 1}@} @code{(delete-other-windows)}, will do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830 practically the same thing, except that when the browser is re-invoked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831 it will not look precisely as it did before.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 @kindex C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 @findex br-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 @kindex C-x k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 @findex kill-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 @cindex viewer, killing displayed buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838 If point is in a listing window, the buffer displayed in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 viewer window may be killed with the @{@kbd{C-c C-k}@} @code{(br-kill)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 command. (A killed buffer is removed from the current Emacs session.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842 If point is in the viewer window, as it will be after editing a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843 buffer, use the standard Emacs command @{@kbd{C-x k}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
844 @code{(kill-buffer)} instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 @node Browsing Elements, Browsing Categories, Viewing and Editing, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847 @section Browsing Elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 @cindex element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849 @cindex browsing elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 @cindex element browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851 @cindex instance browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852 @cindex feature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 @cindex routine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854 @cindex attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855 @cindex Common Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 @cindex CLOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 A @dfn{feature} of a class is either a routine or attribute defined in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858 the class. An @dfn{element} is either a feature or an instance of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859 class. A number of OO-Browser languages support feature browsing, as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860 documented in @ref{Languages}. Instance browsing is only supported
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 in very limited form, for class instances which exist within the code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
862 itself. For example, under Common Lisp and CLOS, a default class called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863 @code{[function]} is defined whose instances are all named functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864 defined within the environment. A @dfn{default class} is a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865 created to categorize elements of the Environment for browsing; default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 classes are not specified within the Environment source code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 @kindex f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869 @kindex r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 @findex br-features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871 Use @{@kbd{f}@} to display a listing of the features or elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872 of the class at point, including inherited features.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873 Generally, this includes only routines. Use @{@kbd{M-0 f}@} to turn off
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874 the display of inherited features; use the same command again to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 re-enable display of inherited features.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 If inherited features are off and there are no feature definitions for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 the class, the class definition is displayed instead, so that its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879 feature declarations may be browsed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 Use @{@kbd{C-u f}@} to display a listing of the features or elements of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 all classes in the present listing window. Prior versions of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883 OO-Browser used @{@kbd{r}@} to display features. This key remains for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884 backward compatibility but may be used for another purpose in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885 future.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887 @kindex e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 @findex br-edit-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 @cindex edit element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890 @kindex v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 @findex br-view-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892 @cindex view element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 @kindex F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 @findex br-feature-signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 @cindex signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 @cindex feature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 Move point to an element name and use @{@kbd{v}@} to view its source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 definition or @{@kbd{e}@} to edit its source. Use @{@kbd{F}@} to see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 the full signature tag of an element, which includes its argument names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900 and types, if any. @{@kbd{C-u F}@} lists the signatures of all elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 in the current listing. This is handy when several elements from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902 same class have the same name but differ in signature.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904 @xref{Using the Mouse}, for how the Action and Assist Keys may be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
905 for browsing elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
906
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
907 @node Browsing Categories, Browsing Protocols, Browsing Elements, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
908 @section Browsing Categories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
909
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
910 @cindex category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911 @cindex class category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
912 The definition of a @dfn{category} is language-specific. Some languages such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913 as Smalltalk use categories to group related classes together. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 OO-Browser does not yet support this kind of category.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
915
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916 A set of Objective-C categories segments a single class into groupings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917 of related features. When a class category is defined, the category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
918 name appears within a set of parentheses, so the OO-Browser displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919 category names with parentheses around them to distinguish them from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920 classes. The aggregation of all of the categories defined by a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
921 and its ancestors represents the complete class definition. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922 OO-Browser does support this kind of category.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
923
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
924 @kindex C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925 Use the @{@kbd{C}@} key when point is on a class listing entry to obtain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926 a list of the categories defined for the class within the Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927 source code (this excludes inherited categories). Use @{@kbd{C-u C}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928 to list the categories for all classes in the current listing. Thus, to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929 see the full set of categories for a class, use @{@kbd{a}@} to list the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930 ancestors of the current class and then @{@kbd{C-u C}@} to show all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
931 direct and inherited categories of the class.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933 @cindex implementor, category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 @kindex v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 @kindex e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936 Use @{@kbd{v}@} or @{@kbd{e}@} to view or edit the class category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937 definition associated with a category entry at point. @xref{Browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 Implementors}, for an explanation of how to browse the classes that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 directly implement a category.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 @kindex f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 Use @{@kbd{f}@} with point on the default @code{[category]} class to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 list all categories defined in the Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 @node Browsing Protocols, Browsing Implementors, Browsing Categories, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 @section Browsing Protocols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948 @cindex protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 @cindex class protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950 @cindex conformance to protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951 @cindex formal protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952 The definition of a @dfn{protocol} is language-specific.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 It generally refers to an interface specification to which a class is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954 said to conform. A class conforms to a protocol by implementing the set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 of features defined in the protocol.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 Presently, the OO-Browser support protocols only under Objective-C.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 Objective-C protocols are sometimes called @emph{formal protocols}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 Protocol interfaces are specified in a manner similar to classes but their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960 features are only implemented in conforming classes. A single protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 can inherit from any number of other protocols; thus, any conforming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962 class must conform to all of its ancestor protocols.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 Class definitions list the protocols to which they directly conform,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965 within a set of angle brackets. So the OO-Browser displays protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966 names with angle brackets around them to distinguish them from classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968 @kindex P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969 Use the @{@kbd{P}@} key when point is on a class listing entry to obtain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 a list of the protocols to which the class directly conforms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
971 (this excludes inherited protocols). Use @{@kbd{C-u P}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972 to list the direct protocols for all classes in the current listing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 There is not yet a way to show the complete set of protocols to which a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 class conforms, which includes all protocols inherited from other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975 protocols and all protocols inherited from ancestor classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977 @kindex v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978 @kindex e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979 If you use @{@kbd{P}@} when point is on a class' protocol entry, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980 specification of the protocol will be displayed. Use @{@kbd{v}@} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981 @{@kbd{e}@} to view or edit the class or class category definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 associated with a protocol entry at point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984 @cindex implementor, protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985 Use standard class browsing keys when on a protocol entry to examine its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
986 parents, children, ancestors or descendants. @xref{Browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987 Implementors}, for an explanation of how to browse the classes that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
988 directly conform to a protocol.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 @kindex f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991 Use @{@kbd{f}@} with point on the default @code{[protocol]} class to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
992 list all protocols defined in the Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 @node Browsing Implementors, Exiting a Listing, Browsing Protocols, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 @section Browsing Implementors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
997 @cindex implementor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998 @cindex element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999 @kindex I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 @findex br-implementors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 @kindex e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002 @kindex v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003 @kindex F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004 @cindex signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005 Sometimes it is important to see the list of classes that define a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 particular element name. These are called the element's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007 @dfn{implementors}. With point on an element listing, @{@kbd{I}@} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 compute and display the element's implementor list. @{@kbd{C-u I}@} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 do the same for all elements in the present listing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 Move point to an implementor class name and then use @{@kbd{v}@} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012 @{@kbd{e}@} to view or edit the element associated with the class. If an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013 element name is defined with different signatures in a single class, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 class will be listed as an implementor multiple times. Each class entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 can be used to display a different element. @{@kbd{C-u F}@} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 display the element signature associated with each class entry in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 same order as the class entries in the present listing buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019 @node Exiting a Listing, Quitting and Refreshing, Browsing Implementors, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 @section Exiting a Listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 @kindex x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023 @findex br-exit-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 @cindex exiting a listing level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025 When done with a browser listing buffer, one should clear and exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 from the buffer's display with @{@kbd{x}@}. This command also displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 the previous listing level, if any, and moves point to its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 previous position within this buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 In this way, the command provides a quick and clean way to exit back to a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 previous listing level; you may exit a single level at a time or all the way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032 back to the top-level listing buffer through repeated invocation of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 command or by sending a prefix argument value to the command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 There is no need to exit from listing buffers to quit from the browser. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036 may quit, perform other actions, and then re-invoke the browser at the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 point from which you left.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 @node Quitting and Refreshing, Using the Mouse, Exiting a Listing, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 @section Quitting and Refreshing the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 @kindex q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 @findex br-quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044 @cindex quitting, temporarily
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 @cindex quitting, permanently
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046 @{@kbd{q}@} quits from the browser temporarily. The same command with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 prefix argument quits from the browser permanently and kills all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 non-modified browser buffers. It will not kill any of the class source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049 buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051 @kindex C-c C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 @findex br-refresh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 @cindex refreshing the browser display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054 If you are familiar with Emacs windowing, you may quickly alter the window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 configuration of the frame while in the browser, either intentionally or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 more likely unintentionally. If you execute non-browser Emacs commands while
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 in the browser, you may find other buffers have taken the place of your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 browser buffers. In either case, you may refresh the browser display and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059 restore it to the way it was when you originally invoked it, by using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 @{@kbd{M-x br-refresh @key{RET}}@} or with @{@kbd{C-c C-r}@} when in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 browser listing buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 @node Using the Mouse, Getting Help, Quitting and Refreshing, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 @section Using the Mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 @cindex mouse control
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 @kindex H
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 @findex br-help-ms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 @cindex Action Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070 @cindex Assist Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 @kindex Action Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072 @kindex Assist Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 @cindex XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 @cindex Emacs 19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 @cindex InfoDock
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076 @cindex Menu Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 Once configured, mouse control within the OO-Browser is helpful and easy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078 to use. Under InfoDock, XEmacs and Emacs 19, the right mouse button,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 called the Menu Key, pops up a menu of OO-Browser commands when clicked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 within an OO-Browser listing buffer. Under XEmacs and Emacs 19, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 same menu is added to the menubar used in listing buffers. Under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082 InfoDock with mode-specific menus turned on, the menubar is devoted to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083 OO-Browser commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 Even if the above features are not available to you, if you have mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086 support in your Emacs, the following features are available. A single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087 mouse button, called the @dfn{Action Key}, is used for most purposes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 The Action Key is bound to the shift-middle mouse button under standard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089 Emacs, to the middle mouse button under InfoDock, or to the shift-left
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 button on a two-button mouse.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092 A second button, called the @dfn{Assist Key}, is used for help and other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093 ancillary functions. The Assist Key is bound to the shift-right button.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094 The @file{br-help-ms} file uses a table format to summarize mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095 control within the browser, it may be displayed within the browser via
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096 the @{@kbd{H}@} @code{(br-help-ms)} command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098 Within an empty listing buffer, clicking the Action Key displays the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 browser command menu; the Assist Key displays a menu listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 language-specific source files. Within this menu, the Action Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101 selects a buffer for display, the Assist Key marks the buffer for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 deletion. To perform the deletes, click the Action Key after the last
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103 line of the menu. If the Assist Key is clicked after the last line, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 deletes are undone and a list of all current editor buffers is shown,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 allowing you to select buffers other than those containing classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 The mouse buttons can be used to scroll the viewer window a page at a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 time by clicking after the end of any line. The Action Key scrolls the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109 window up (forward) a windowful and the Assist Key scrolls it down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110 (backward) a windowful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112 The Action Key acts as follows when in an OO-Browser listing buffer. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 the button is pressed:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117 on a blank line following all entries or in a blank listing buffer, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 browser command help menu is displayed in the viewer window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119 exited;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 at the beginning of a (non-single character) class name, the class'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122 ancestors are listed;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 at the end of an entry line, the listing is scrolled up;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126 on the `...', following a class name, point is moved to the class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 descendency expansion;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129 before an element name, the implementor classes of the name are listed;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 anywhere else on an entry line (i.e. on the entry), the entry's source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 is displayed for editing.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135 The Assist Key acts as follows when in a listing buffer. If it is pressed:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139 in a blank buffer, a selection list of buffer files is displayed;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 at the beginning of a (non-single character) class, the class'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142 descendants are listed;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144 at the end of an entry line, the listing is scrolled down;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146 on the `...', following a class name, point is moved to the class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147 expansion;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 anywhere else on a class line, the class' elements are listed;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1150 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151 anywhere else on an element line, the element's implementor classes are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152 listed;@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1153 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154 on a blank line following all entries, the current listing buffer is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1155 exited.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1158 @node Getting Help, Locating Entries, Using the Mouse, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1159 @section Getting Help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1160
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1161 @kindex h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162 @findex br-help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163 The OO-Browser is very intuitive to operate, but help is always a key or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164 button press away when needed. Besides the online and printed versions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 of this manual, there is an online quick reference built into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 OO-Browser. Once the browser windows appear, press @{@kbd{h}@} at any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167 time to bring up a buffer full of command help.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1168
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1169 @kindex C-h k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170 @findex describe-key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 For more extensive documentation on each browser key, use the Emacs command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172 @{@kbd{C-h k @var{key-sequence}}@}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174 @node Locating Entries, Filtering Entries, Getting Help, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1175 @section Locating Entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177 @kindex w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178 @findex br-where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179 @cindex class, source file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180 @cindex class, where is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181 @cindex element, source file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182 @cindex element, where is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 @cindex entry, where is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184 The @{@kbd{w}@} @code{(br-where)} command can be used to locate the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1185 source file associated with a listing entry. It prints the full
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1186 pathname of the source file in the minibuffer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187 A prefix argument as in, @{@kbd{C-u w}@}, causes the command to prompt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188 for the class or element name to locate. Full completion is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189 provided. @xref{Completing Names}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191 @kindex m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192 @findex br-match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 @cindex classes, matching names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194 @cindex classes, finding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195 @cindex matching to class names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196 @cindex finding classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197 @cindex locating classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1199 The @{@kbd{m}@} @code{(br-match)} command provides a quick mechanism for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200 locating any classes in the Environment whose names match to an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 expression in part or in whole. The browser will prompt for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 expression to use. All matching names are displayed in ascending order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 By default the expression is treated as a regular expression. A prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205 argument sent to the command tells it to treat the expression as a string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 After each search, the command reports the number of matching classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208 found and displays them in the current listing window. It then prompts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209 for another expression to key on. The selected set is then filtered
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210 once again. This cycle continues until the @{@key{RET}@} is pressed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1211 without giving an expression. This process allows for easy location of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1212 desired classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1213
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1214 When the command is invoked (first time through the loop), if the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1215 @{@key{RET}@} key is pressed without giving a match expression, the search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1216 will match to all classes referenced in the Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1217
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1218 If you want a regular expression to match to whole class names
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1219 exclusively, begin it with a '^' and end it with a '$' character which
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1220 match to beginning of name and end of name, respectively. Thus, "^....$"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221 would match to class names with exactly four characters. A string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222 match always matches to any class name that contains the matching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223 string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 @node Filtering Entries, Ordering Entries, Locating Entries, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226 @section Filtering Entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228 @kindex M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229 @findex br-match-entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230 @cindex entries, matching names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231 @cindex matching to listing entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232 @cindex filtering entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233 @cindex locating Entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 The @{@kbd{M}@} @code{(br-match-entries)} command works much like the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236 @code{(br-match}) command described in, @ref{Locating Entries}, except
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237 that it matches only to entries in the current listing buffer. It thus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238 allows you to filter a listing to just those entries that you care to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239 browse. It prompts you for a regular expression of entries to match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240 and then deletes entries that don't match. A prefix argument sent to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 the command tells it to treat the match expression as a string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1242
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1243 After each search, the command reports the number of matching entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1244 found and displays them in the current listing window. It then prompts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1245 for another expression to match. The selected set is then filtered
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246 once again. This cycle continues until the @{@key{RET}@} is pressed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1247 without giving an expression. This process allows for easy incremental
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1248 filtering of listings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250 When the command is invoked (first time through the loop), if the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251 @{@key{RET}@} key is pressed without giving a match expression, the search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252 will match to all entries in the listing, so no filtering will be done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254 If you want a regular expression to match to whole entries
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1255 exclusively, begin it with a '^' and end it with a '$' character which
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1256 match to beginning of line and end of line, respectively. Thus, "^....$"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1257 would match to entry lines with exactly four characters. A string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1258 match always matches to any entry that contains the matching string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1259
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1261 @node Ordering Entries, Statistics, Filtering Entries, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1262 @section Ordering Entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1264 @kindex o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1265 @findex br-order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1266 @cindex entries, ordering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1267 @cindex ordering listings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1268 @cindex sorting listings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1269 Once you have a desired set of names in a browser listing window, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1270 may want to re-order. For a simple ascending order sort by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1271 name, use @{@kbd{o}@}. To sort the lines in the current listing window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1272 accounting for leading whitespace, use a positive prefix argument. To sort
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1273 the lines in descending order accounting for leading whitespace, use a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1274 negative prefix argument. Note that all of the top-level class display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1275 commands automatically order their output lists. @xref{Top-Level Classes,,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1276 Displaying Top-Level Classes}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1277
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1278 To sort in descending order, first sort into ascending order with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1279 @{@kbd{o}@} to strip any leading whitespace and then use a negative
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1280 prefix argument to sort the names into descending order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1283 @node Statistics, Class Info, Ordering Entries, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1284 @section Environment and Class Summaries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1286 @kindex #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1287 @findex br-count
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1288 @cindex number of classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1289 @cindex class count
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1290 The @{@kbd{#}@} @code{(br-count)} command displays in the minibuffer the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1291 number of entries in the present listing buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1292
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1293 @kindex M-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1294 @findex br-class-stats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1295 @cindex class info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1296 @cindex class statistics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1297 The @{@kbd{M-c}@} @code{(br-class-stats)} command displays in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1298 minibuffer window the number of parents and children for the selected
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1299 class; with a prefix argument, it prompts for the class name to use.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1300
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1301 @kindex M-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1302 @findex br-env-stats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1303 @cindex Environment statistics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1304 @cindex Environment spec summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1305 The @{@kbd{M-e}@} @code{(br-env-stats)} command displays the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1306 specification for the current Environment along with a few Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1307 statistics (OO-Browser version used to build the Environment, total
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1308 classes, number of System and Library classes, number of duplicate and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1309 undefined classes) in the viewer window. With a prefix argument, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1310 displays in the minibuffer window the basic statistics only, leaving the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1311 contents of the viewer window intact.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1312
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1313 @node Class Info, Adding and Deleting Classes, Statistics, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314 @section Language-Specific Class Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1315
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1316 @kindex i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1317 @findex br-entry-info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1318 @cindex entry attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1319 @cindex parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1320 @cindex attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1321 @cindex routine calls
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1322 @cindex Eiffel, info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1323 Presently, this feature is available only for Eiffel browsing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1325 With point on a class name in a listing buffer, the command,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1326 @{@kbd{i}@} @code{(br-entry-info)}, displays the class' parents,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1327 attributes and routines with routine call summaries. This is its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1328 default behavior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1330 @cindex Eiffel, short
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1331 @cindex Eiffel, flat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1332 @{@kbd{M-x eif-info-use-short}@} will instead cause the
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1333 @code{(br-entry-info)} command to run the Eiffel 'short' command on a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1334 class, thereby displaying its specification.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1335 @{@kbd{M-x eif-info-use-flat}@}, will cause the command to run
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1336 the Eiffel 'flat' command on a class, thereby displaying its complete
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337 feature set. Use @{@kbd{M-x eif-info-use-calls}@} to reset this command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1338 to its default behavior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1340
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1341 @node Adding and Deleting Classes, Completing Names, Class Info, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1342 @section Adding and Deleting Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1343
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1344 @kindex C-c ^
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1345 @findex br-add-class-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1346 @cindex class, adding to Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1347 @cindex class, replacing in Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1348 @cindex Environment, adding classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1349 @cindex Environment, replacing classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1350 @cindex initialization file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1351 A file containing class definitions may be added to the Environment with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1352 the @{@kbd{C-c ^}@} @code{(br-add-class-file)} command. This will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1353 prompt for the file name, scan the file, and then update the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1354 Environment. If a class defined in the file is already in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1355 Environment, its information will be replaced with the information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1356 gathered from the file; otherwise, the class will be added to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1357 Environment. This command does not update the browser display; one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1358 must issue a browser command after the add command in order to see any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1359 change.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1360
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1361 @cindex Environment, adding individual classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1362 To add a single class from a file containing multiple classes, read the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363 file into an Emacs buffer, narrow the buffer to the desired class and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364 then execute the add command. @xref{Narrowing,,Narrowing, emacs, The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 Gnu Emacs Manual}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1366
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1367 @{@kbd{C-c ^}@} is normally globally bound in the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1368 initialization file, @file{br-init.el}, so that it may be used outside
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1369 of the browser when editing classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371 @kindex C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1372 @findex br-delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 @cindex class, deleting from Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1374 @cindex Environment, deleting classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1375 To delete a class from the Environment, display the class name in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376 listing window using the @{@kbd{m}@} @code{(br-match)} command if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377 necessary. (@xref{Locating Entries}.) Move point to the desired class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1378 name and hit @{@kbd{C-c C-d}@} @code{(br-delete)} to delete the class.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1379 This will remove the class name at point after the class is deleted from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1380 the Environment.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1381
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1383 @node Completing Names, Graphical Browsing, Adding and Deleting Classes, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1384 @section Completing Names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1385
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1386 Whenever the browser prompts for a name and an Environment has already
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1387 been loaded or built, one may use the browser's identifier name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1388 completion facilities to help in entering the name. These features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1389 allow you to type as much of the name as you know and then have the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1390 browser fill in what it can. The relevant keys are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1391
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1392 @table @key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1393 @item @{TAB@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1394 complete as much as possible of a class or element name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1395 @item @{SPC@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1396 complete up to one word of the class or element name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1397 @item @{@kbd{?}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1398 show all possible completions for class or element name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1399 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1400
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1401 You may also use the browser's completion facilities outside of the browser,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1402 for example, when editing code. @xref{Standalone, ,Using Standalone
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1403 OO-Browser Features}, and the description of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1404 @code{(br-complete-type)}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406 @node Graphical Browsing, , Completing Names, Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1407 @section Graphical OO-Browser Interfaces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1409 @cindex xoobr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1410 @cindex NEXTSTEP OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1411 @cindex graphical browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1412 The X interface to the OO-Browser is called, @dfn{xoobr}. It provides a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1413 simple but effective means of navigating through OO-Browser hierarchy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1414 and element relations. (The NEXTSTEP OO-Browser is very similar to the
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1415 X version, so use the documentation herein if you need any help with it.)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1416
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1417 Any number of xoobr sessions may be established at the same time. Each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1418 one is used to gain a particular view on an Environment. The textual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1419 OO-Browser is used to filter a set of classes for display in an xoobr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1420 process. For this reason, xoobr is invoked from within the textual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1421 OO-Browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1422
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1423 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1424 @cindex X OO-Browser picture
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1425 @cindex xoobr picture
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1426 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1427 Here is a picture of the X OO-Browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1428 @sp 2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1429 @centerline{@psfig{figure=im/oobr-x.ps}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1430 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1431 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1432 If running under the X window system, Action Key click on the following
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1433 filename to view a picture of the X OO-Browser: "im/oobr-x.xwd".
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1434 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1435
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1436 @kindex M-g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1437 @findex br-tree-graph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1438 @cindex xoobr, graphical view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1439 @{@kbd{M-g}@} @code{(br-tree-graph)} displays the current listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1440 buffer's entries in a graphical form. It ignores the show
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1441 features setting so that you can capture the current listing without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1442 the need to alter that setting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1444 @kindex M-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1445 @findex br-tree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1446 @cindex xoobr, descendants
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1447 @{@kbd{M-d}@} @code{(br-tree)} selects the current class and displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1448 its descendancy graph in tree-form by starting a new xoobr session.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1449 With a prefix argument, @{@kbd{C-u M-d}@}, displays descendancy trees
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1450 for all classes at the current browser level. They are all grouped
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1451 under some imaginary joining node so as to maintain the concept of one
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1452 tree per xoobr view.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1453
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1454 @kindex M-f
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1455 @findex br-tree-features-toggle
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1456 @cindex xoobr, displaying features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1457 @cindex descendancy view
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1458 @{@kbd{M-f}@} @code{(br-tree-features-toggle)} is used before creating a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1459 graphical descendency view to determine whether or not to include the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1460 features of each class in the listing as child nodes of the class.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1461 It toggles between showing features and not showing them in descendancy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1462 views. The setting applies across all OO-Browser languages. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1463 default setting is to not add features to the view.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1464
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465 @cindex xoobr, view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1466 Xoobr views are meant to complement the textual browser interface.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467 Therefore, the two most common actions used in the text browser are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468 performed in a similar manner within an xoobr view. A click on a node with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 the left mouse button highlights the node and then displays the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1470 class text in the chosen editor, ready for editing. A click of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1471 middle button performs similarly but displays the associated class for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 viewing only.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474 @cindex xoobr, node menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475 [The right mouse button is disable in this release of the X OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1476 because of an inability to debug a problem in limiting its use to tree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477 nodes.] The right mouse button when depressed over a node displays a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1478 short menu of commands that may be applied to the node. The only ones
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1479 of real interest at this point are the collapse and expand entries which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480 let you hide and then restore the display of a node's subtree. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481 allows you precise control over the amount of detail you receive in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1482 various parts of the hierarchy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484 @cindex xoobr, help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485 The Help button in the upper right of the an xoobr session window when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1486 selected displays a few pages of help text regarding the program itself.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1488 @kindex M-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1489 @findex br-tree-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490 @cindex xoobr, terminating
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1491 @cindex xoobr, killing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492 The @{@kbd{M-k}@} @code{(br-tree-kill)} command will prompt to see if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1493 you want to terminate all xoobr sessions started from within the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494 editor session. If you answer affirmatively, all such processes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 disappear, as your screen will quickly indicate.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497 @cindex xoobr, quitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1498 @kindex C-u q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499 @findex br-quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500 The upper left of a session window contains a set of buttons which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501 display menus. The only menu entry you need be concerned with at all is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1502 found under the file menu, labelled "Quit". xoobr processes may also be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1503 terminated by issuing the kill command mentioned just before. A third
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1504 menas of killing such processes is by sending the permanent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1505 @code{(br-quit)} command, @{@kbd{C-u q}@}, to the textual browser. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1506 will then be prompted as to whether you want to terminate all xoobr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1507 sessions started from within the current editor session.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1508
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1509 @node Options, Customization, Usage, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1510 @chapter OO-Browser Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1512 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1513 * External Viewing:: Using An External Viewer or Editor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1514 * Keep Viewed Classes::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1515 * Inhibit Version:: Inhibit Version Screen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1516 * Invert Ancestors:: Invert Ancestor Trees
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1517 * Save All:: Save All Lookup Tables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1518 * Use Children:: Build Children Lookup Table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1519 * Sort Options:: Controlling Class Listing Order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1520 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1521
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1522 @node External Viewing, Keep Viewed Classes, Options, Options
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1523 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1524 @section Using an External Viewer or Editor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1525
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1526 @cindex editing, externally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1527 @cindex viewing, externally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1528 The OO-Browser allows you to select your desired editor and viewer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529 programs when you use a multi-windowed display. By default, both of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1530 these tasks are handled by Emacs so that the browser works on text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1531 terminals. If you choose an external editor or viewer, Emacs will still
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1532 automatically be used whenever you invoke the browser from a text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1533 terminal.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1534
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1535 @vindex br-editor-cmd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1536 @cindex vi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1537 If you wish to edit classes displayed by the browser in an editor other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1538 than Emacs, set the @var{br-editor-cmd} variable to the command with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 which you wish to edit. Arguments to the command should be placed in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 the variables named @var{br-ed[1-9]}, with one string argument per
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541 variable. Unused variables should have the value @code{nil}. Bear in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1542 mind that the command must generate a new window under your window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543 system. For example, the vi editor under UNIX does not create its own
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544 window, it runs within the window in which it is created. Under X one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545 would create a new xterm window and then invoke vi. The command line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546 would be @emph{xterm -e vi}, the settings in your personal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 initialization file would then be:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1549 @display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550 @code{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1551 (setq br-editor-cmd "xterm" br-ed1 "-e" br-ed2 "vi"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552 br-ed3 nil br-ed4 nil br-ed5 nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553 br-ed6 nil br-ed7 nil br-ed8 nil br-ed9 nil)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 @end display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1556 @vindex window-system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 This editor will only be used when the browser is run under a window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558 system external to Emacs, like X. (In such a case, the Emacs variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559 @var{window-system} will be non-nil).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561 @vindex br-viewer-cmd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 @cindex xmore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 If you want to view classes in a read-only fashion outside of Emacs, set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1564 following @var{br-viewer-cmd} and @var{br-vw[1-9]} variables in a similar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1565 manner as you did for the editor variables above.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567 For example, to use @file{xmore}, an X-compatible version of @file{more}, as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568 your viewer, use the following settings (assuming all the @var{br-vw}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1569 variables are already null):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571 @display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 @code{(setq br-viewer-cmd "xmore")}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 @end display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1574
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1576 @node Keep Viewed Classes, Inhibit Version, External Viewing, Options
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1577 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1578 @section Keep Viewed Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1579
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1580 @vindex br-keep-viewed-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1581 The @var{br-keep-viewed-classes} flag is turned off by default,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1582 indicating that each time a class is viewed immediately after another
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1583 one, the prior one is deleted. If it is set to any non-nil value, all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1584 viewed classes are left around for selection.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1585
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1586 In typical use, the burden of having to manage all viewed classes is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1587 greater than the benefit of leaving them in memory. This is why the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1588 flag is off by default. The class buffer menu can be used to delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1589 buffers when you want to trim down the number with which you are dealing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1590 @xref{Using the Mouse}, for details on this technique.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1591
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1592 @findex br-toggle-keep-viewed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1593 @vindex br-keep-viewed-classes
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1594 The value of the @var{br-keep-viewed-classes} flag may be easily
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1595 toggled with the @code{(br-toggle-keep-viewed)} command bound to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1596 @{@kbd{V}@}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1597
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1599 @node Inhibit Version, Invert Ancestors, Keep Viewed Classes, Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1600 @section Inhibit Version Screen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1601
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1602 @vindex br-inhibit-version
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1603 After you are familiar with the opening OO-Browser version screen, you may
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1604 want to disable its display each time the browser is started. This is done by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1605 setting @var{br-inhibit-version} non-nil, as in the following line that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1606 would go in your personal OO-Browser initialization file:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1608 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1609 @code{(setq br-inhibit-version t)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1610 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1612 @kindex C-c #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1613 @findex br-version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1614 @cindex version, browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1615 @cindex support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1616 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1617 This option has no effect on the display of the help screen which
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1618 follows the version screen. Even with this option set, you may display
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1619 the version screen at any time from within a browser listing
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1620 window by using @{@kbd{C-c #}@} @code{(br-version)}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1621
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1622
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623 @node Invert Ancestors, Save All, Inhibit Version, Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624 @section Invert Ancestor Trees
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1625
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626 @xref{Descendants and Ancestors,,Browsing Descendants and Ancestors},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627 for more information.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1628
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 This is a global OO-Browser option, it affects all Environments.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1630
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1631 Ancestor trees are normally shown to emphasize how the trees branch out
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1632 from their origin. An initialization file line such as:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1634 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1635 @code{(setq br-invert-ancestors t)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1636 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1637
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1638 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1639 will cause the display of ancestor trees to be inverted such that the further
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1640 ancestors appear as roots of the trees and parents (the nearest ancestors)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1641 appear as leaves in the trees. This ensures that all listing displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1642 reflect the class inheritance structure with children below parents.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1643
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1644
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1645 @node Save All, Use Children, Invert Ancestors, Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1646 @section Save All Lookup Tables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1647
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1648 This is an Environment-specific option set during Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1649 specification. @xref{Creating Environments}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1651 Half of the browser lookup tables can be built whenever an Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1652 is loaded. If this option is set, these tables will be stored in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1653 Environment file instead. This will speed Environment loading somewhat,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1654 at the cost of doubling the file size per saved Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1656 @node Use Children, Sort Options, Save All, Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1657 @section Build Children Lookup Table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1659 This is an Environment-specific option set during Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1660 specification. @xref{Creating Environments}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1661
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1662 This is a highly recommended option that allows for fast descendant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1663 lookups. The only time one would turn off this option would be when a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1664 file system is extremely short of space.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1665
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1666 @node Sort Options, , Use Children, Options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1667 @section Controlling Class Listing Order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1668
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1669 @vindex br-sort-options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1670 @cindex listing order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1671 @cindex sorting options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1672 @cindex listing options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1673 The OO-Browser normally orders classes and elements in listing windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1674 according to the ASCII character set. This sort order is controlled by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1675 @var{br-sort-options} variable which specifies the command line options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1676 sent to the system @code{sort} command. (Under any Emacs 19 variant,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1677 this variable is not used by the @code{br-order} command, bound to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1678 @{@kbd{o}@}.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1679
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1680 The value of this variable should be a single string of options such as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1681 @code{-fu} (the default) or @code{nil} for no options. The @code{-f}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1682 option folds upper and lower case to the same character for sort
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1683 comparisons. The @code{-u} option leaves only unique elements in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1684 listing by eliminating any duplicate entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1686 @node Customization, Standalone, Options, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1687 @chapter Personal Customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1688
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1689 @vindex br-skip-dir-regexps
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1690 @cindex scanning, skip directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1691 @cindex directory scanning
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1692 The @var{br-skip-dir-regexps} variable is a list of regular expressions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1693 which match directory names that the OO-Browser will not descend when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1694 scanning source code trees.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1695
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1696 @vindex br-file-dir-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1697 The @var{br-file-dir-regexp} variable specifies a regular expression
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1698 that matches to file and directory names that the OO-Browser should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1699 scan. Any others, including those matched by @var{br-skip-dir-regexps},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1700 are ignored.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1702 @cindex initialization file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1703 @cindex personal initialization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1704 @vindex file, .br-init.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1705 The following hook variables are provided so that one may customize what
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1706 happens each time the OO-Browser is invoked. Set them as you would any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1707 other Emacs Lisp hook variables in a personal OO-Browser initialization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1708 file, @file{~/.br-init.el}. They all default to null operations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1709
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1710 @vindex br-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1711 If you want a set of actions to occur each time after the OO-Browser is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1712 invoked, attach them to @var{br-mode-hook}. For language-specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1713 actions, a language-specific hook such as @var{br-eif-mode-hook},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1714 or @var{br-c++-mode-hook} is run after @var{br-mode-hook}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1715
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1716 @vindex br-class-list-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1717 If you want a set of actions to occur after each time that a new browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1718 listing buffer is created, set @var{br-class-list-hook}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1719
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1720
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1721 @node Standalone, Languages, Customization, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1722 @chapter Using Standalone OO-Browser Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1723
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1724 A number of browser features may be used independently of the browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1725 user interface, assuming that a site-wide or personal OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1726 initialization file has been loaded into your current Emacs session.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1727
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1728 @kindex C-c C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1729 First, an Environment must be selected and loaded into the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1730 via @{@kbd{C-c C-o}@}. When the browser user interface is displayed,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1731 use @{@kbd{q}@} to quit.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1732
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1733 @findex br-env-load
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1734 Alternatively, you can load an Environment without invoking the browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1735 user interface by using @{@kbd{M-x br-env-load @key{RET}}@}. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1736 standalone browser features will use the newly loaded Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1737
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1738 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1739 The commands that are available for standalone use include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1740 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1741 @findex br-add-class-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1742 @item br-add-class-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1743 Add a file of classes to the current Environment. @xref{Adding and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1744 Deleting Classes}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1745
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1746 @item br-find
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1747 @findex br-find
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1748 Interactively complete class or ELEMENT name and jump to its definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1749
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1750 @findex br-find-class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1751 @item br-find-class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1752 Display file of class text matching CLASS-NAME in VIEW-ONLY mode if non-nil.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1754 @findex br-complete-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1755 @item br-complete-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1756 Perform in-buffer completion of a type or element identifier before point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1757
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1758 @findex br-class-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1759 @item br-class-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1760 Return full path, if any, to CLASS-NAME.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1761 With optional prefix argument INSERT non-nil, insert path at point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1762 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1763
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1764 All of these commands provide full completion. @xref{Completing Names},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1765 based upon the current OO-Browser Environment.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1767 @findex br-find
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1768 @cindex finding an element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1769 @cindex searching for an element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1770 When editing and debugging code, one often wants to look at a class or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1771 element definition without having to invoke the browser to locate it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1772 The @code{(br-find)} command does exactly that by prompting for a name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1773 and then displaying for editing the class or element definition given by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1774 that name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1775
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1776 @findex br-find-class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1777 @cindex finding a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1778 @cindex searching for a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1779 The @code{(br-find-class)} command is similar. It prompts for a class name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1780 and then displays its source file in a viewable, read-only mode. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1781 display a class file in an editable mode, send a prefix argument to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1782 command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1784 @findex br-complete-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1785 When writing code and entering class attribute definitions (variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1786 definitions), one often has to repetitively enter class names as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1787 static types for the attributes. The @code{(br-complete-type)} command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1788 completes and inserts a class name at point in the current buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1789 The traditional key to bind such a command to is @{@kbd{M-@key{TAB}}@}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1790 The following example illustrates its usage.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1791 @display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1792 my_list: LIN<-- (point is here)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1793
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1794 @{@kbd{M-@key{TAB}}@} is hit:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1795
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1796 my_list: LINKED_LIST
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1797 @end display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1798
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1799 @findex br-class-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1800 The @code{(br-class-path)} command prompts for a class name and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1801 displays the full path of the associated class source file in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1802 minibuffer. With a prefix argument, it inserts the path name at point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1803 in the current buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1805 The following key bindings are recommended when using these standalone
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1806 features:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1807
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1808 @kindex C-M-i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1809 @kindex M-TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1810 @kindex C-c C-f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1811 @kindex C-c C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1812 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1813 @code{(define-key eiffel-mode-map "\C-c\C-f" 'br-find)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1814 @code{(define-key c++-mode-map "\C-c\C-f" 'br-find)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1815 @code{(define-key lisp-mode-map "\C-c\C-f" 'br-find)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1816 @code{(define-key objc-mode-map "\C-c\C-f" 'br-find)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1817 @code{(define-key smalltalk-mode-map "\C-c\C-f" 'br-find)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1819 ;; @{@kbd{C-M-i}@} means @{@kbd{M-@key{TAB}}@}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1820 @code{(define-key eiffel-mode-map "\C-\M-i" 'br-complete-type)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1821 @code{(define-key c++-mode-map "\C-\M-i" 'br-complete-type)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1822 @code{(define-key lisp-mode-map "\C-\M-i" 'br-complete-type)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1823 @code{(define-key objc-mode-map "\C-\M-i" 'br-complete-type)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1824 @code{(define-key smalltalk-mode-map "\C-\M-i" 'br-complete-type)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1825
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1826 @code{(define-key eiffel-mode-map "\C-c\C-w" 'br-class-path)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1827 @code{(define-key c++-mode-map "\C-c\C-w" 'br-class-path)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1828 @code{(define-key lisp-mode-map "\C-c\C-w" 'br-class-path)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1829 @code{(define-key objc-mode-map "\C-c\C-w" 'br-class-path)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1830 @code{(define-key smalltalk-mode-map "\C-c\C-w" 'br-class-path)}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1831 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1832
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1833 @xref{Eiffel Specifics}, for an Eiffel-specific standalone browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1834 feature.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1835
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1836 @node Languages, Features, Standalone, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1837 @chapter Language-Specific Notes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1838
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1839 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1840 * C Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1841 * C++ Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1842 * CLOS Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1843 * Eiffel Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1844 * Java Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1845 * Objective-C Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1846 * Python Specifics::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1847 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1848
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1849 @node C Specifics, C++ Specifics, Languages, Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1850 @section C Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1851
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1852 @vindex br-c-tags-flag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1853 @findex br-toggle-c-tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1854 The @var{br-c-tags-flag} variable controls whether or not C constructs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1855 are included within C and C-based language Environments. By default,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1856 this flag is true. Use @code{M-x br-toggle-c-tags RET} to toggle its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1857 value. If you set it false before building an Environment, then C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1858 constructs will not be included in the Environment. (Note that C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1859 functions are always included in C++ Environments, regardless of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1860 flag value.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1861
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1862 If you wish to build an Environment whose source code is entirely C,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1863 ensure that the @var{br-c-tags-flag} is enabled and then select C++ when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1864 asked for the language to browse. In the future, a language setting for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1865 C will probably be added.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1866
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1867 C constructs are grouped into default classes for browsing. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1868 elements of each default class are the instances of the associated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1869 construct within the Environment. Use normal element/feature commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1870 to browse each instance.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1872 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1873 DEFAULT CLASS C CONSTRUCT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1874 --------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1875 [constant] #define constant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1876 [enumeration] enum @{@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1877 [function] non-member function()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1878 [macro] #define macro()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1879 [structure] struct @{@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1880 [type] typedef @{@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1881 [union] union @{@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1882 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1884 @node C++ Specifics, CLOS Specifics, C Specifics, Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1885 @section C++ Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1887 @xref{C Specifics}, for details on C-specific support within C++
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1888 Environments.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1889
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1890 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1891 * C++ Element Selection:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1892 * C++ Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1893 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1894
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1895 @node C++ Element Selection, C++ Settings, C++ Specifics, C++ Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1896 @subsection Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1897
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1898 @cindex C++ feature listings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1899 @cindex pure virtual function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1900 @cindex function, pure virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1901 @cindex deferred function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1902 C++ pure virtual function declarations, which specify method interfaces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1903 but no implementation, appear in class feature listings. The function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1904 name is preceded by the @code{"> "} string to identify the function as a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1905 pure virtual (deferred) function. Pure virtuals may be treated like any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1906 other member functions within the browser. Since there is no definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1907 for such a function within the class in which it is listed, its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1908 declaration will be shown instead, when requested.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1909
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1910 @cindex friend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1911 @cindex function, friend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1912 @cindex class, friend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1913 @findex br-view-friend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1914 @kindex V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1915 Friend functions and friend classes give members of another class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1916 access to the private parts of the current class. They appear
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1917 in class feature listings preceded by the @code{"% "} string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1918 The keys, @{@kbd{v}@} or @{@kbd{e}@}, display the friend declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1919 within the current class. Use @{@kbd{V}@}, @code{(br-view-friend)} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1920 view the definition of the friend class or function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1921
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1922 @cindex constructor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1923 @cindex destructor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1924 @cindex operator new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1925 @cindex operator delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1926 Methods and operators associated with creating and destroying objects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1927 are preceded by the @code{"+ "} string in listing buffers. All other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1928 method listing entries are preceded by the @code{"- "} string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1930 @cindex C++
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1931 One can jump from a C++ declaration to its definition by clicking the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1932 Action Key when within the declaration. Most importantly, once a class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1933 header file is displayed, simply click on a method declaration to see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1934 its corresponding definition. Each feature declaration should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1935 terminated with a semicolon to ensure accurate scanning. If the method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1936 is inherited from another class, a message at the bottom of the frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1937 will describe which class the method is defined in once the browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1938 displays the method definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1939
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1940 Parent classes may be browsed in a similar manner by clicking on their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1941 names in an inheritance or declaration clause. It is therefore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1942 important to click on the method name part of a declaration when that is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1943 the element desired.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1945 @vindex c++-include-dirs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1946 @cindex #include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1947 @cindex include files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1948 Include files may be browsed by selecting their inclusion declarations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1949 (#include ...) within a source file. Include files delimited by double
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1950 quotes are searched for in the following places: first, the directory of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1951 the current source file, then the directories listed in the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1952 @var{c++-include-dirs}, and then in any directories included in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1953 current environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1954
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1955 @vindex c++-cpp-include-dirs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1956 Include files delimited by angle brackets are searched for in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1957 following places: first, the directories listed in the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1958 @var{c++-include-dirs}, then the directories listed in the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1959 @var{c++-cpp-include-dirs}, and then in any directories included in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1960 current environment. The variable @var{c++-cpp-include-dirs} should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1961 hold a list of the standard directories searched by your C++ pre-processor.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1962 Each directory entry must end with a directory separator. On UNIX
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
1963 systems, this is the '/' character.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1964
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1965 @node C++ Settings, , C++ Element Selection, C++ Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1966 @subsection C++ Settings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1967 @vindex c++-class-keyword
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1968 @cindex class definition keywords
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1969 By default, @code{class}, @code{struct} and @code{union} definitions all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1970 constitute class definitions to the C++ OO-Browser. If you prefer some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1971 other criteria, you will need to modify the definition of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1972 @var{c++-class-keyword} in @file{br-c++.el}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1973
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1974 @vindex c++-src-file-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1975 @cindex file suffixes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1976 If you find that the browser is not scanning some of your C++ source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1977 files, you may be using file suffixes which it does not recognize.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1978 Examine the value of @var{c++-src-file-regexp} and add any special file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1979 suffixes you use to it.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1980
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1981 @node CLOS Specifics, Eiffel Specifics, C++ Specifics, Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1982 @section CLOS Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1983
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1984 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1985 * CLOS Method Handling:: Method Handling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1986 * CLOS Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1987 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1988
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1989 @node CLOS Method Handling, CLOS Settings, CLOS Specifics, CLOS Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1990 @subsection Method Handling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1991 @cindex CLOS methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1992 @cindex CLOS types
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1993 @cindex specialized parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1994 @cindex methods, specialized parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1995 In CLOS, methods may have typed parameters of the form,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1996 @code{(<parameter-name> <class>)}; these are called @dfn{specialized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1997 parameters}. Each such parameter defines the method within
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1998 @code{<class>}. Thus, a single method definition can generate methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1999 associated with many classes. The OO-Browser lets you navigate to a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2000 method definition from any of the classes for which it is defined, since
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2001 a method is included as an element of each of its constituent classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2003 CLOS permits compile-time computation of the @code{<class>} of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2004 specialized parameter, through use of the expression, @code{(eql
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2005 <form>)}. Since the OO-Browser cannot perform this computation, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2006 treats such a parameter as non-specialized.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2007
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2008 @cindex CLOS, the class t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2009 Methods may also contain non-specialized parameters of the form,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2010 @code{<parameter-name>}. The type of each such parameter defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2011 the default root class @code{t} in CLOS. But a method is only included
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2012 in the class @code{t} by the OO-Browser if none of its parameters are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2013 specialized. Otherwise, methods with more specific types which happened
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2014 to include one or more non-specialized parameters would appear to not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2015 have a more specific type than @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2016
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2017 @node CLOS Settings, , CLOS Method Handling, CLOS Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2018 @subsection CLOS Settings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2019 The OO-Browser automatically works with CLOS class and method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2020 definitions. But Lisp contains many other standard object types such as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2021 functions, macros and variables which you may wish to browse. These are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2022 handled through a configuration variable as explained below.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2023
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2024 @vindex clos-element-type-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2025 @cindex default class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2026 @cindex element type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2027 The @var{clos-element-type-alist} variable determines the Lisp definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2028 constructs that the browser looks for and the associated default class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2029 under which instances of each construct type are grouped. Each element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2030 in the association list is a cons cell whose first part is the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2031 name string that defines an instance of a particular type,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2032 e.g@. @code{"defun"}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2033
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2034 The second part is a default class name, a string, under which to assign
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2035 each instance of the type, e.g@. @code{"function"}. The OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2036 always displays default class names with square brackets around them,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2037 e.g@. @code{[function]}, to distinguish them from classes defined within
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2038 the Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2039
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2040 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2041 Here is the default @var{clos-element-type-alist} setting:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2043 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2044 '(("defconstant" . "constant")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2045 ("defconst" . "constant")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2046 ("defun" . "function")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2047 ("defgeneric" . "generic")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2048 ("defmacro" . "macro")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2049 ("defpackage" . "package")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2050 ("defparameter" . "parameter")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2051 ("defsetf" . "setfunction")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2052 ("defstruct" . "structure")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2053 ("deftype" . "type")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2054 ("defvar" . "variable")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2055 ("fset" . "function"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2056 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2057
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2058 @vindex clos-def-form-with-args-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2059 The @var{clos-def-form-with-args-regexp} is a regular expression which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2060 includes a subset of the definition symbol names from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2061 @var{clos-element-type-alist}, namely those which require an argument
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2062 list to uniquely distinguish them from other elements, e.g@. functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2063
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2064
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2065 @node Eiffel Specifics, Java Specifics, CLOS Specifics, Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2066 @section Eiffel Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2067
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2068 Eiffel support has now been updated to Eiffel version 3, to the best
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2069 of our knowledge. If you find any problems, please report them
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2070 to <oo-browser@@hub.ucsb.edu> (this is a public mailing list).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2071
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2072 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2073 * Eiffel Listings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2074 * Eiffel Element Selection:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2075 * Eiffel Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2076 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2077
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2078 @node Eiffel Listings, Eiffel Element Selection, Eiffel Specifics, Eiffel Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2079 @subsection Eiffel Listings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2080
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2081 Eiffel entities are categorized when shown within OO-Browser listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2082 buffers. Classes are shown by name, without any prefix. Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2083 are shown by name but are preceded by a special character that indicates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2084 the kind of feature. The following table describes each prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2085
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2086 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2087 @item -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2088 precedes regular routines;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2089 @item =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2090 precedes attributes;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2091 @item 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2092 precedes once routines, which create shared objects;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2093 @item >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2094 precedes deferred features, which are specified but not defined within
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2095 this class;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2096 @item /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2097 precedes external features, which are defined in a non-Eiffel language.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2098 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2099
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2100 @node Eiffel Element Selection, Eiffel Settings, Eiffel Listings, Eiffel Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2101 @subsection Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2102 @cindex Eiffel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2103 One can jump from an Eiffel element reference to its definition by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2104 clicking the Action Key when within the reference. Selection of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2105 feature name in an export clause displays the feature definition, even
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2106 if it is renamed several times within ancestors. Parent classes may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2107 browsed in a similar manner by clicking on their names in an inheritance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2108 or declaration clause.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2109
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2110 The following example of locating a renamed feature is taken from an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2111 actual set of Eiffel library classes:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2112
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2113 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2114 User selects feature @code{subwindow} of @code{POPUP_MENU}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2115 inherited from @code{WINDOW} which renames @code{child} as @code{subwindow}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2116 inherited from @code{TWO_WAY_TREE} which renames @code{active} as @code{child}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2117 inherited from @code{TWO_WAY_LIST}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2118 inherited from @code{LINKED_LIST} which defines @code{active}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2119 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2121 The browser would display the feature @code{active} and explain to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2122 user that feature @code{subwindow} of class @code{POPUP_MENU} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2123 inherited from feature @code{active} of class @code{LINKED_LIST}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2124 Location of this sort of feature definition would be incredibly tedious
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2125 without programmatic support.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2126
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2127 The algorithm used to locate features is dynamic, so if another class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2128 were inserted into the inheritance structure given above, the feature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2129 definition would still be located properly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2131 @node Eiffel Settings, , Eiffel Element Selection, Eiffel Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2132 @subsection Eiffel Settings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2134 @findex eif-get-parents-from-source
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2135 Be sure that the 'inherit' and 'feature' clauses in your classes begin in
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2136 column 0; otherwise the browser parser will not work properly. If you prefer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2137 some other indentation style, you will need to slightly alter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2138 @code{(eif-get-parents-from-source)} in @file{br-eif.el}; specifically,
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2139 the lines that contain '^inherit' and '^feature'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2141 @cindex Eiffel, error parsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2142 @cindex error parsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2143 Emacs has a feature called error parsing which lets one quickly jump to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2144 the line of code that supposedly triggered an error.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2145 (@xref{Compilation, ,Compilation Errors, emacs, The Gnu Emacs Manual},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2146 for information on error parsing.) Some object-oriented language
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2147 compilers display the name of the class and line number with each error
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2148 message but do not include the filename containing the class source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2149 code. Emacs then has no way of parsing the error message. The browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2150 class location facilities enable one to perform error parsing across any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2151 set of classes in a single Environment, given only this type of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2152 message. Interactive Software Engineering's Eiffel compiler is an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2153 example of a compiler that produces this type of error. The code for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2154 parsing these Eiffel error messages is included in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2155 @file{eif-ise-err.el}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2157 @node Java Specifics, Objective-C Specifics, Eiffel Specifics, Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2158 @section Java Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2160 @cindex Java feature listings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2161 @cindex abstract method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2162 @cindex method, abstract
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2163 @cindex deferred function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2164 Java abstract method declarations, which specify method interfaces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2165 but no implementation, appear in class feature listings. The method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2166 name is preceded by the @code{"> "} string to identify the method as an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2167 abstract (deferred) method. Abstract methods may be treated like any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2168 other methods within the browser. Since there is no definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2169 for such a method within the class in which it is listed, its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2170 declaration will be shown instead, when requested.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2172 @cindex native method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2173 @cindex method, native
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2174 Native methods are like abstract methods in that only their interfaces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2175 are specified in Java. Unlike abstract methods, their method bodies are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2176 defined in external languages such as C to allow for machine-specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2177 dependencies. Native methods are listed in the browser prefixed by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2178 @code{"/ "} string, indicating that they are divided between Java and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2179 another language.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2181 @cindex constructor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2182 @cindex destructor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2183 Methods associated with creating and destroying objects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2184 are preceded by the @code{"+ "} string in listing buffers. All other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2185 method listing entries are preceded by the @code{"- "} string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2186
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2187 @vindex Java-class-keyword
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2188 @cindex class definition keywords
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2189 Java interface specifications, which specify protocols to which classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2190 must conform, are treated just like class definitions in browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2191 listings. All the methods of such interfaces are abstract, however.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2193 @node Objective-C Specifics, , Java Specifics, Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2194 @section Objective-C Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2195
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2196 @xref{C Specifics}, for details on C-specific support within Objective-C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2197 Environments.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2198
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2199 The OO-Browser supports browsing Objective-C classes, methods,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2200 categories and formal protocols. Earlier sections of this manual explain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2201 how to browse these entities. This section documents Objective-C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2202 language specifics, including variable settings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2204 Objective-C entities are categorized when shown within OO-Browser listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2205 buffers. Classes are shown by name, without any prefix. Methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2206 are shown by name but are preceded by a special character that indicates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2207 the kind of method. The following table describes each prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2208
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2209 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2210 @item -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2211 precedes instance methods;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2212 @item +
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2213 precedes class (factory) methods that affect the factory object for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2214 class.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2215 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2216
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2217 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2218 * Objective-C Categories::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2219 * Objective-C Protocols::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2220 * Objective-C Element Selection:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2221 * Objective-C Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2222 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2223
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2224 @node Objective-C Categories, Objective-C Protocols, Objective-C Specifics, Objective-C Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2225 @subsection Objective-C Categories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2226 @cindex category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2227 @cindex Objective-C category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2228 An @dfn{Objective-C category} is an internal class grouping that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2229 specifies and implements a set of related class features. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2230 aggregation of all of the categories defined by a class and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2231 ancestors represents the complete class definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2232
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2233 The OO-Browser can list and browse the source for: the categories of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2234 class, all class categories in an Environment, and the classes which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2235 implement a category. @xref{Browsing Categories}, for details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2237 @node Objective-C Protocols, Objective-C Element Selection, Objective-C Categories, Objective-C Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2238 @subsection Objective-C Protocols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2239 @cindex protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2240 @cindex Objective-C protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2241 An @dfn{Objective-C protocol} is an interface specification to which a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2242 class may conform. The protocol includes a set of method signatures
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2243 which any conforming class must implement. One protocol may inherit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2244 from a list of other protocols, and thus expand the set of methods which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2245 a conforming class must implement. The OO-Browser can list and browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2246 the source for: the protocols to which a class conforms, all protocols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2247 in an Environment, and the implementors of a protocol. @xref{Browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2248 Protocols}, for details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2250 @node Objective-C Element Selection, Objective-C Settings, Objective-C Protocols, Objective-C Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2251 @subsection Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2252 @cindex Objective-C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2253 One can jump from an Objective-C declaration to its definition by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2254 clicking the Action Key when within the declaration. Most importantly,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2255 once a class header file is displayed, simply click on a method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2256 declaration to see its corresponding definition. If the method is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2257 inherited from another class, a message at the bottom of the frame will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2258 describe which class the method is defined in once the browser displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2259 the method definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2261 Parent classes may be browsed in a similar manner by clicking on their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2262 names in an inheritance or declaration clause. It is therefore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2263 important to click on the method name part of a declaration when that is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2264 the element desired.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2265
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2266 @vindex objc-include-dirs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2267 @cindex #import
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2268 @cindex include files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2269 Include files may be browsed by selecting their inclusion declarations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2270 (#import ...) within a source file. Include files delimited by double
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2271 quotes are searched for in the following places: first, the directory of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2272 the current source file, then the directories listed in the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2273 @var{objc-include-dirs}, and then in any directories included in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2274 current environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2276 @vindex objc-cpp-include-dirs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2277 Include files delimited by angle brackets are searched for in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2278 following places: first, the directories listed in the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2279 @var{objc-include-dirs}, then the directories listed in the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2280 @var{objc-cpp-include-dirs}, and then in any directories included in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2281 current environment. The variable @var{objc-cpp-include-dirs} should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2282 hold a list of the standard directories searched by your Objective-C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2283 pre-processor. Each directory entry must end with a directory
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2284 separator. On UNIX systems, this is the '/' character.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2286 @node Objective-C Settings, Python Specifics, Objective-C Element Selection, Objective-C Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2287 @subsection Objective-C Settings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2288 @vindex objc-class-keyword
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2289 @cindex class definition keywords
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2290 By default, the @code{@@interface} keyword indicates a class definition to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2291 Objective-C OO-Browser. If you prefer some other criteria, you will need to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2292 modify the definition of @var{objc-class-keyword} in @file{br-objc.el}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2294 @vindex objc-src-file-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2295 @cindex file suffixes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2296 If you find that the browser is not scanning some of your Objective-C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2297 source files, you may be using file suffixes which it does not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2298 recognize. Examine the value of @var{objc-src-file-regexp} and add any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2299 special file suffixes you use to it.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2300
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2302 @node Python Specifics, Python Module Lookup, Objective-C Settings, Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2303 @section Python Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2304
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2305 The OO-Browser supports browsing Python classes, methods, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2306 documentation strings for both. The class info key 'i' is used to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2307 display class or method documentation string, if that is available.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2308
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2309 Python methods appear in class feature listings. The method
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2310 name is preceded by the @code{"- "} string.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2311
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2312 Global functions are grouped under the imaginary class @code{[functions]} to
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2313 distinguish them from classes or class methods.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2314
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2315 Known bugs: nested classes are not recognized. As browsing is based on
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2316 analyzing the source code, run-time modifications are lost.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2317
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2318 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2319 * Python Module Lookup:: Source Code Element Selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2320 * Python Settings::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2321 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2322
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2323 @node Python Module Lookup, Python Settings , Python Specifics, Python Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2324 @subsection Python Module Lookup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2325
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2326 The @file{br-help-ms} file uses a table format to summarize mouse
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2327 control within the browser, it may be displayed within the browser via
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2328 the @{@kbd{H}@} @code{(br-help-ms)} command.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2329
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2330 Clicking on a module name in an import statement using the Action Key
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2331 will open the specified module, if it is found in the search path.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2332
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2333 @node Python Settings, , Python Module Lookup, Python Specifics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2334 @subsection Python Settings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2335 @vindex python-import-dirs
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2336 @cindex class definition keywords
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2337 When a module name in an import statement is clicked using
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2338 the Action Key, OO-Browser tries to open the module.py file. By default,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2339 it looks for the module file in the environment directories, and from the path
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2340 @code{/usr/local/lib/python}. If you have installed Python libraries
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2341 elsewhere, or wish to include other modules in the search path, you will
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2342 need to modify the definition of @var{python-import-dirs} in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2343 @file{br-python-ft.el}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2344
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2345 @c ***************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2346 @c Appendices
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2347 @c ***************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2350 @node Features, Commands, Languages, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2351 @c node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2352 @appendix OO-Browser Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2353
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2354 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2356 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2357 Support for Eiffel, C++, Objective-C, Smalltalk, Java and Common Lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2358 and its Object System (CLOS) is included. Additionally, support for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2359 browsing large amounts of material in Info format by node name (a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2360 popular online documentation format with cross references and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2361 hierarchical structure) is include. All languages provide class
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2362 browsing via either a textual or a graphical interface.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2363
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2364 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2365 Method browsing is supported for C++, Objective-C, Eiffel and CLOS.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2366 CLOS supports browsing all elements defined with (def* constructs.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2367 In-source feature browsing is also supported for all of these languages.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2368 One simply selects a feature name to jump to its corresponding source.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2369 Method name overloading in C++ and inherited feature renaming in Eiffel
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2370 are fully supported.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2371
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2372 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2373 C code browsing is supported for C++, Objective-C and C source code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2374 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2375 Objective-C category and formal protocol browsing are supported.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2377 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2378 C++ parameterized template classes and methods are supported.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2379
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2380 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2381 Building Environments is fast compared to many other tools and browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2382 startup once an Environment has been built is very fast. Response times
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2383 on workstations are excellent; for example, in one test case, less than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2384 two real seconds were required to display a set of complex inheritance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2385 graphs involving over 400 classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2386
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2387 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2388 Class inheritance networks may be displayed. Either a single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2389 inheritance level (parents or children) or the entire inheritance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2390 network (ancestors or descendants) for a set of classes may be shown.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2391
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2392 @cindex multiple inheritance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2393 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2394 Multiple inheritance support is built-in, where applicable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2395
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2396 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2397 The user need not know the location of class source; the browser will display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2398 or edit a class source based solely upon its class name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2400 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2401 Immediate switching among languages is allowed. One can switch from Eiffel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2402 browsing to C++ browsing in an instant, if so desired. Or simply run two
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2403 browsers side by side.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2405 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2406 Class files may be added, replaced or deleted one at a time or as a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2407 group by specifying a root directory below which all class files are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2408 found, including those in subdirectories.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2410 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2411 The browser uses class source code only, hence no compiler is necessary for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2412 proper browser operation.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2414 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2415 Library (stable) and System (in development) classes may be maintained and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2416 listed separately or together. Any number of Libraries and Systems may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2417 combined for listing in a single Environment. There are no fixed limits
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2418 on the number of classes per Environment nor on the number of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2419 Environments that may be browsed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2420
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2421 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2422 The number of listing windows is limited only by the frame width and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2423 the width setting used for listing windows.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2424
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2425 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2426 Statistics on classes and Environments may be displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2427
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2428 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2429 Language-specific class information may be shown. Presently this feature is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2430 supported only for Eiffel. A listing of class parents, attributes,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2431 routines and best guess (highly accurate) list of routine calls may be
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2432 displayed. Outputs from the Eiffel 'short' and 'flat' commands may also be
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2433 shown.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2434
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2435 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2436 Machine-independent mouse support is included along with an extremely
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2437 intuitive point and click interface. The OO-Browser is pre-configured
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2438 for use with the X window system, NEXTSTEP, Sunview or Apollo's DM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2439 window system under InfoDock, Emacs V19, XEmacs, Epoch, and Emacs V18.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2440
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2441 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2442 Popup and pulldown command menus are available under InfoDock, Emacs V19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2443 and XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2444
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2445 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2446 All browser outputs are text which may be edited as desired or saved to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2447 files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2448
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2449 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2450 A single key provides ASCII ordering of class names, ascending or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2451 descending, including those from inheritance trees. Classes may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2452 easily located by matching a regular expression or string to the set of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2453 class names in an Environment, with repeated searches incrementally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2454 narrowing the selected set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2455
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2456 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2457 Browser functions may be used standalone within the editor without using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2458 the multi-windowed browser interface. One useful example is to point to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2459 a class name such as a parent class in the text of another class and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2460 have the parent's source appear in an editable fashion. An alternative
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2461 editor and viewer may be selected to adapt the browser to personal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2462 taste.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2463
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2464 @cindex CLOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2465 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2466 The browser is adaptable to any class-based object-oriented language.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2467 It works best with languages that focus on static class creation such as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2468 Eiffel and C++. Those that use dynamic (runtime) class creation such as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2469 CLOS must be interfaced to the browser so that classes created at runtime
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2470 are added to the browser's Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2472 @cindex GNU Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2473 @cindex UNIX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2474 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2475 The OO-Browser is integrated with the powerful GNU Emacs editor; it works on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2476 any UNIX system display supported by Emacs. Most browser commands may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2477 be executed by direct selection, providing a very natural interface.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2478
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2479 @cindex source code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2480 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2481 All source code, over 400 kilobytes, is included and is heavily documented.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2482 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2483
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2484
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2485 @node Commands, Glossary, Features, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2486 @appendix OO-Browser Command Descriptions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2488 @c Call {M-x doc} to insert documentation in table.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2489 @c Call (br-cmd-doc t) to remove documentation from table.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2490
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2491 @cindex arguments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2492 @cindex formal arguments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2493 @cindex programming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2494 The following documentation is meant for programmers who want to modify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2495 the OO-Browser but is included here since some users of the OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2496 may find it useful. All commands that are bound to keys and that are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2497 specific to the OO-Browser are listed here. Within each command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2498 description, identifiers shown in all capitals are the names of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2499 command's formal arguments; all formal arguments are presented in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2500 order in which they are required by the command. If a command takes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2501 optional arguments, the first optional argument is labeled
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2502 @emph{optional}; all following arguments are assumed to be optional.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2503
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2504 @cindex command documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2505 @cindex OO-Browser commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2506 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2508 @findex br-add-class-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2509 @item br-add-class-file @{@kbd{C-c ^}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2510 Adds a file of classes to the current Environment. Interactively or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2511 when optional CLASS-PATH is nil, defaults to current buffer file as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2512 CLASS-PATH. If optional LIB-TABLE-P is non-nil, add to Library
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2513 Environment, otherwise add to System Environment. If optional SAVE-FILE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2514 is t, the Environment is then stored to the filename given by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2515 @var{br-env-file}. If SAVE-FILE is non-nil and not t, its string value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2516 is used as the file to which to save the Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2517
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2518 @findex br-ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2519 @item br-ancestors @{@kbd{a}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2520 Display ancestor tree whose root is the current class. With optional
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2521 prefix ARG, display all ancestor trees whose roots are visible classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2522 at the current level. ARG = -1 inverts current class ancestry tree.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2523 That is, it shows branches going down towards the root class, so that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2524 parents appear above children. ARG < -1 inverts all ancestry trees.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2525
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2526 @findex br-at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2527 @item br-at @{@kbd{@@}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2528 Display current class location in the inheritance graph.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2529 The class is displayed among both its ancestors and descendants.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2530 With optional prefix ARG, display location for all visible classes at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2531 current level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2532
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2533 @findex br-buffer-menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2534 @item br-buffer-menu @{@kbd{b}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2535 Display selection list of buffers with attached files in viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2537 @findex br-children
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2538 @item br-children @{@kbd{c}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2539 Display children of current class. With optional prefix ARG, display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2540 children of all visible classes at the current level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2542 @findex br-class-stats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2543 @item br-class-stats @{@kbd{M-c}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2544 Display statistics summary for current class. Optional prefix arg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2545 PROMPT means prompt for class name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2546
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2547 @findex br-copyright
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2548 @item br-copyright
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2549 @cindex copyright
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2550 Display browser copyright information in viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2551
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2552 @findex br-count
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2553 @item br-count @{@kbd{#}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2554 Count number of classes visible in current listing buffer. Print
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2555 text result in minibuffer when called interactively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2557 @findex br-delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2558 @item br-delete @{@kbd{C-c C-d}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2559 Delete class from current Environment. Optional prefix arg PROMPT means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2560 prompt for class name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2561
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2562 @findex br-descendants
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2563 @item br-descendants @{@kbd{d}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2564 Display descendant tree whose root is the current class. With optional
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2565 prefix ARG, display all descendant trees whose roots are visible classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2566 at the current level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2567
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2568 @findex br-edit-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2569 @item br-edit-entry @{@kbd{e}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2570 Edits source for any browser listing entry, such as a class or a feature.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2571 Optional prefix arg PROMPT means prompt for entry name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2572
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2573 @findex br-env-create
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2574 @item br-env-create @{@kbd{C-c C-c}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2575 Create and save the specification of a new OO-Browser Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2576 Interactively prompt for the Environment file name or use optional
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2577 ENV-FILE. Interactively prompt for the Environment language to use or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2578 use optional LANG-PREFIX as language indicator. Return the name of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2579 Envir spec file created. Do not build the Environment. Use
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2580 'br-env-build' to construct an Environment from its specification.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2581
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2582 @findex br-env-load
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2583 @item br-env-load @{@kbd{C-c C-l}@}
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2584 Load browser Environment or spec from optional ENV-FILE or 'br-env-file'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2585 Non-nil PROMPT means prompt user before building tables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2586 Non-nil NO-BUILD means skip build of Environment entirely.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2587 Return t if load is successful, else nil.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2589 @findex br-env-rebuild
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2590 @item br-env-rebuild @{@kbd{C-c C-e}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2591 Rescan System and Library sources associated with the current Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2593 @findex br-env-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2594 @item br-env-save @{@kbd{C-c C-s}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2595 Save changed Environment to file given by optional SAVE-FILE or
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2596 'br-env-file'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2597
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2598 @findex br-env-stats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2599 @item br-env-stats @{@kbd{M-e}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2600 Display summary for current Environment in viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2601 With optional prefix ARG, display class totals in minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2603 @findex br-exit-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2604 @item br-exit-level @{@kbd{x}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2605 Return to prefix ARGth previous inheritance level listing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2606 The command is ignored with ARG < 1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2608 @findex br-find
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2609 @item br-find
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2610 Interactively completes class or feature ELEMENT-NAME and jumps to its definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2611 Returns ELEMENT-NAME or signals an error.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2612
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2613 @findex br-feature-signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2614 @item br-feature-signature @{@kbd{F}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2615 Show full feature signature in the view window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2616 With optional prefix ARG, display signatures of all features from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2617 current buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2618
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2619 @findex br-help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2620 @item br-help @{@kbd{h}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2621 Display browser operation help information in viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2622
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2623 @findex br-help-ms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2624 @item br-help-ms @{@kbd{H}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2625 Display browser mouse usage help information in viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2627 @findex br-entry-info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2628 @item br-entry-info @{@kbd{i}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2629 Display attributes of the current entry in the viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2630
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2631 @findex br-implementors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2632 @item br-implementors @{@kbd{I}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2633 Display hierarchy of classes that define current feature. Ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2634 inherited features. With optional prefix ARG, display implementors of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2635 all features at the current level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2636
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2637 @findex br-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2638 @item br-kill @{@kbd{C-c C-k}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2639 Kill buffer in viewer window and redisplay help text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2640
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2641 @findex br-lib-top-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2642 @item br-lib-top-classes @{@kbd{l}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2643 Display list of top level Library classes. With prefix ARG, display all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2644 Library classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2645
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2646 @findex br-lib-rebuild
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2647 @item br-lib-rebuild @{@kbd{L}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2648 Rescan Library components of the current Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2649
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2650 @findex br-match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2651 @item br-match @{@kbd{m}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2652 Show all class names in current Environment that contain optional EXPR.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2653 Nil value of EXPR means prompt for a value. With optional prefix ARG, EXPR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2654 is treated as a string. By default, it is treated as a regular expresion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2655 AGAIN non-nil shows the number of classes MATCHED from the last search,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2656 allowing repeated narrowing of the search set. Empty EXPR when AGAIN is nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2657 matches to all classes in the Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2659 @findex br-match-entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2660 @item br-match-entries @{@kbd{M}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2661 Show all entries in current listing that contain optional EXPR.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2662 Nil value of EXPR means prompt for a value. With optional prefix ARG, EXPR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2663 is treated as a string. By default, it is treated as a regular expresion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2664 AGAIN non-nil means show the number of entries MATCHED from last search,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2665 allowing repeated narrowing of the search set. Empty EXPR when AGAIN is nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2666 matches to all entries in the listing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2667
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2668 @findex br-next-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2669 @item br-next-entry @{@kbd{C-n}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2670 Move point vertically down prefix ARG number of lines in listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2671 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2672
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2673 @findex br-order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2674 @item br-order @{@kbd{o}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2675 Order current browser listing window entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2676 With prefix ARG other than 1 (the default), don't remove leading space from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2677 entry lines before ordering. Negative ARG means order in descending Ascii
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2678 sequence, otherwise order in ascending sequence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2679
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2680 @findex br-parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2681 @item br-parents @{@kbd{p}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2682 Display parents of current class. With optional prefix ARG, display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2683 parents of all visible classes at the current level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2684
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2685 @findex br-prev-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2686 @item br-prev-entry @{@kbd{C-p}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2687 Move point vertically up prefix ARG number of lines in listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2688 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2689
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2690 @findex br-quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2691 @item br-quit @{@kbd{q}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2692 Quit browser. With optional prefix ARG, delete window configurations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2693 and listing buffers associated with the browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2694
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2695 @findex br-refresh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2696 @item br-refresh @{@kbd{C-c C-r}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2697 Restore OO-Browser to its state upon startup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2699 @findex br-resize-narrow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2700 @item br-resize-narrow @{@kbd{C-x -}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2701 Resize listing windows so are narrower by 10 characters.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2702
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2703 @findex br-resize-widen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2704 @item br-resize-widen @{@kbd{C-x +}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2705 Resize listing windows so are wider by 10 characters.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2706
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2707 @findex br-features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2708 @vindex br-inherited-features-flag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2709 @item br-features @{@kbd{f}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2710 Display features/elements of the current class (prefix ARG = 1) or of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2711 the current listing if ARG is other than 0 or 1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2712
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2713 With ARG = 0, the value of the variable, @var{br-inherited-features-flag},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2714 is toggled and no other action is taken.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2715
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2716 If @var{br-inherited-features-flag} is @code{t}, all features of each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2717 class are shown. If @code{nil}, only lexically included features are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2718 shown and if the features of a single class are requested and none are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2719 defined, the class definition is displayed so that its feature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2720 declarations may be browsed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2721
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2722 @findex br-sys-rebuild
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2723 @item br-sys-rebuild @{@kbd{S}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2724 Rescan System components of the current Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2726 @findex br-sys-top-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2727 @item br-sys-top-classes @{@kbd{s}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2728 Display list of top level System classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2729 With prefix ARG, display all System classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2730
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2731 @findex br-to-from-viewer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2732 @item br-to-from-viewer @{@kbd{C-c C-v}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2733 Move point to viewer window or back to last recorded listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2734 window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2735
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2736 @findex br-toggle-keep-viewed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2737 @vindex br-keep-viewed-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2738 @item br-toggle-keep-viewed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2739 Toggle the value of the @var{br-keep-viewed-classes} flag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2740
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2741 @findex br-top-classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2742 @item br-top-classes @{@kbd{t}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2743 Display list of top level classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2744 With prefix ARG, display all Environment classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2745
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2746 @findex br-unique
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2747 @item br-unique @{@kbd{u}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2748 Eliminate adjacent duplicate entry names from the current listing window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2749 If two adjacent entries look the same one is eliminated, even if they refer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2750 to different class elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2751
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2752 @findex br-version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2753 @item br-version @{@kbd{C-c #}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2754 Display browser version number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2755
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2756 @findex br-view-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2757 @item br-view-entry @{@kbd{v}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2758 Displays source for any browser listing entry.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2759 Optional prefix arg PROMPT means prompt for entry name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2760
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2761 @findex br-view-friend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2762 @item br-view-friend @{@kbd{V}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2763 With point on a friend listing entry, view its source code definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2764 With optional OTHER-WIN non-nil, display in another window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2765 With optional SIG-AT-POINT-FLAG non-nil, assume point is within a friend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2766 signature in a source buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2767
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2768 @findex br-view-full-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2769 @item br-view-full-frame @{@kbd{1}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2770 Use full frame to display contents of viewer window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2771
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2772 @findex br-viewer-scroll-down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2773 @item br-viewer-scroll-down @{@kbd{DEL}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2774 Scroll viewer window downward ARG lines or a windowful if no ARG.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2775
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2776 @findex br-viewer-scroll-up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2777 @item br-viewer-scroll-up @{@kbd{SPC}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2778 Scroll viewer window upward ARG lines or a windowful if no ARG.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2779
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2780 @findex br-where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2781 @item br-where @{@kbd{w}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2782 Display in minibuffer and return full path of a browser listing entry.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2783 Optional prefix arg PROMPT means prompt for entry name."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2784
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2785 @findex br-write-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2786 @item br-write-buffer @{@kbd{C-c C-w}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2787 Write narrowed portion of current browser buffer to a file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2788
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2789 @findex br-tree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2790 @item br-tree @{@kbd{M-d}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2791 Start the @file{xbr} application with descendency tree of current class.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2792 With optional prefix ARG, a descendency tree for each class in current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2793 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2794
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2795 @findex br-tree-graph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2796 @item br-tree-graph @{@kbd{M-g}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2797 Start the appropriate tree application with the tree from current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2798 listing buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2799
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2800 @findex br-tree-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2801 @item br-tree-kill @{@kbd{M-k}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2802 Prompt user whether to kill all @file{xbr} sub-processes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2803
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2804 @findex br-tree-features-toggle
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2805 @item br-tree-features-toggle @{@kbd{M-f}@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2806 Toggle between showing features and hiding them when @code{br-tree} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2807 invoked to display descendants graphically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2808
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2809 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2811
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2812 @c ***************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2813 @c Unnumbered Chapters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2814 @c ***************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2815
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2816 @node Glossary, References, Commands, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2817 @unnumbered Glossary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2819 Concepts pertinent to operational usage of the OO-Browser are defined here.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2820
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2821 If some GNU Emacs terms are unfamiliar to you, see @cite{[Stallman 87]}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2822
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2823 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2824 @item Ancestors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2825 All classes above a class in the inheritance hierarchy.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2826
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2827 @item Category
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2828 Under most languages, a logical grouping of related classes. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2829 OO-Browser does not yet have any support for this kind of category.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2830
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2831 Under Objective-C, a partial class definition that implements a related
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2832 set of methods. The full class definitions is formed from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2833 conjunction of all of the class' categories. The OO-Browser supports
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2834 Objective-C category browsing.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2835
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2836 @item Children
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2837 First level of classes below a class in the inheritance hierarchy. Those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2838 that directly inherit from a class.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2839
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2840 @item Class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2841 A category from which object instances are created. The OO-Browser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2842 can display classes along with their elements, categories and formal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2843 protocols.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2844
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2845 @item Class at Point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2846 Class name in a listing buffer whose name appears on the same line as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2847 point.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2848
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2849 @item Declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2850 A specification of a programatic entity, for reference by other parts of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2851 a program. See also @code{Definition}. The declaration of a method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2852 specifies its signature but not its body.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2853
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2854 @item Default Class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2855 A class that the OO-Browser creates to simplify browsing a particular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2856 category of objects such as class protocols or global functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2857 Default class names begin and end with square bracket delimiters, as in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2858 @code{[protocol]}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2860 @item Definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2861 Programmatic definition of an entity, e.g@. defining the body of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2862 method.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2863
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2864 @item Completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2865 The act of filling in the non-ambiguous part of a requested item, such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2866 as a class name or a file name.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2867
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2868 @item Decendants
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2869 All classes below a class in the inheritance hierarchy.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2870
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2871 @item Element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2872 A feature or an instance of a class.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2873
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2874 @item Environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2875 A series of browser lookup tables and control variables that specify the set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2876 of classes and inter-class relationships with which the browser works.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2877
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2878 @item Environment File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2879 A file used to store browser Environments.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2880
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2881 @item Environment Specification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2882 Unambiguously tells the browser what to include in the construction of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2883 an Environment.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2885 @item Feature
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 24
diff changeset
2886 An element (method/attribute/component) of a class.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2887
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2888 @item Formal Protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2889 See @code{Protocol}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2890
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2891 @item Implementor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2892 A class in which a particular element is defined. This does not include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2893 classes which inherit an element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2894
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2895 @item Initialization File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2896 See @code{Personal Initialization File}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2897
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2898 @item Instance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2899 An object which has a particular class as its type. The class serves as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2900 a template for instance creation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2901
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2902 @item Library Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2903 Stable, seldomly changed classes that have been released for general
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2904 usage.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2905
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2906 @item Listing Window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2907 One of a number of browser windows used to display lists of classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2908 Inheritance relations are shown by class name indentation and by the class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2909 level numbers in the listing buffer mode lines.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2910
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2911 @item Lookup Table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2912 A store used to help the browser quickly determine inter-class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2913 relationships.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2914
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2915 @item Member
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2916 See @code{Feature}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2917
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2918 @item Method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2919 A callable function defined within one or more classes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2920
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2921 @item Minibuffer Window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2922 The single line window at the bottom of an Emacs frame. It is used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2923 interact with the user by displaying messages and prompting for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2924 input.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2925
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2926 @item Parents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2927 First level of classes above a class in the inheritance hierarchy. Those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2928 from which a class directly inherits.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2930 @vindex file, .br-init.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2931 @item Personal Initialization File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2932 The optional file, @file{~/.br-init.el}, which sets user-specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2933 options affecting operation of the OO-Browser, thereby configuring the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2934 browser for personal use.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2935
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2936 @item Point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2937 The point in the current buffer in front of the character which the Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2938 cursor is over but after any prior character.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2939
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2940 @item Protocol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2941 An interface specification to which a class conforms. Some languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2942 use abstract classes for this purpose. Under Objective-C, one may also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2943 define formal protocols which include a set of method signatures which a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2944 class must implement if it conforms to the protocol. Also under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2945 Objective-C, one protocol may inherit from a list of other protocols,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2946 and thus expand the set of methods which a conforming class must
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2947 implement.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2948
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2949 @item Routine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2950 See @code{Method}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2951
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2952 @item Signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2953 An interface specification for a method. It includes the method's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2954 class, type of return value and the types of its formal parameters.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2955
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2956 @item Smart System
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2957 The Smart System is another handy program that helps you to work smarter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2958 and faster. It consists of two parts, the Smart Key System, a direct
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2959 manipulation keyboard interface that gives you control of most GNU Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2960 subsystems by using only two keys, and the Smart Menu System. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2961 provides a hierarchy of menus within Emacs that you use instead of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2962 keyboard commands. Just point and click on a menu entry. One of its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2963 uses is to invoke the OO-Browser on any desired language Environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2964 (The Smart Key System is included with the Smart Menu System.)@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2965
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2966 @item Smart Menu System
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2967 See @code{Smart System}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2968
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2969 @item System Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2970 Classes still in development whose interfaces are likely to change.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2971 They are typically part of a specific project and are often not meant to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2972 be reused elsewhere.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2973
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2974 @item Top-Level Classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2975 Classes without parents. Those at the top of the inheritance tree for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2976 given Environment.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2977
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2978 @item Viewer Window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2979 The largest, bottom-most window in the browser used for displaying class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2980 source and help information.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2981 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2982
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2983
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2984 @node References, Keys, Glossary, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2985 @unnumbered References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2986
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2987 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2988 @item [Meyer 88]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2989 Meyer, Bertrand. Object-oriented Software Construction. Prentice Hall
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2990 International: UK, 1988.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2992 @item [Meyer 89]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2993 Meyer, Bertrand. Eiffel: The Language. Interactive Software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2994 Engineering: Santa Barbara, CA, 1989. (Also being republished by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2995 Prentice Hall.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2997 @item [Goldberg 83]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2998 Goldberg, Adele and David Robson. @emph{Smalltalk-80: The Language and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2999 its Implementation}. Addison-Wesley, 1983.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3001 @item [Stallman 87]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3002 Stallman, Richard. @emph{GNU Emacs Manual}. Free Software Foundation,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3003 Cambridge: MA, March 1987.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3004
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3005 @item [Java 95]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3006 @emph{The Java Language Specification}. Sun Microsystems Computer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3007 Corporation, Mountain View, CA, February 1, 1995.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3008 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3009
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3011 @c ***************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3012 @c Indices
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3013 @c ***************************
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3014
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3015 @node Keys, Command Index, References, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3016 @unnumbered Key Binding Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3017
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3018 @printindex ky
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3019
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3020 @node Command Index, Concepts, Keys, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3021 @unnumbered Command and Variable Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3022
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3023 @printindex fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3024
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3025 @node Concepts, , Command Index, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3026 @unnumbered Concept Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3027
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3028 @printindex cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3029
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3030 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3031 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3032 @summarycontents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3033 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3034 @bye
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3035
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3036 @c Locl Variables: ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3037 @c eval: (progn (load "cmd-doc") (defun doc () (interactive) (br-cmd-doc) (save-buffer))) ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3038 @c End: ;;;