📄 ch36.htm
字号:
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="92" ALIGN="LEFT" VALIGN="TOP">Utilities</TD>
<TD ALIGN="LEFT" VALIGN="TOP">This contains tools specific to your programming needs.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="92" ALIGN="LEFT" VALIGN="TOP">Goodies</TD>
<TD ALIGN="LEFT" VALIGN="TOP">This contains other non-programming related tools.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="92" ALIGN="LEFT" VALIGN="TOP">Games & Demos</TD>
<TD ALIGN="LEFT" VALIGN="TOP">This contains some sample programs and games to play.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="92" ALIGN="LEFT" VALIGN="TOP">info & help</TD>
<TD ALIGN="LEFT" VALIGN="TOP">This contains topics that give you help and information on the ST/X environment and
programming in SmallTalk.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="92" ALIGN="LEFT" VALIGN="TOP">snapshot</TD>
<TD ALIGN="LEFT" VALIGN="TOP">This option takes a snapshot of your present ST/X environment and asks for the name
of the image file you wish to store the snapshot in.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="92" ALIGN="LEFT" VALIGN="TOP">exit</TD>
<TD ALIGN="LEFT" VALIGN="TOP">This option allows you to exit ST/X immediately or exit and save a snapshot of the
current environment.</TD>
</TR>
</TABLE>
</CENTER>
<P>The following sections describe most of these options in more detail.
<CENTER>
<H3><A NAME="Heading8<FONT COLOR="#000077">The Browsers Option</FONT></H3>
</CENTER>
<P>The Browsers option in the Launcher menu gives you access to different browsers
or editors that let you read and manipulate classes, methods, changes, senders, and
implementors. The suboptions available are
<UL>
<LI>System Browser
<P>
<LI>Class Hierarchy Browser
<P>
<LI>Implementors
<P>
<LI>Senders
<P>
<LI>Changes Browser
<P>
<LI>Directory Browser
</UL>
<P>Each of these suboptions will be discussed in detail in this section.
<CENTER>
<H4><A NAME="Heading9<FONT COLOR="#000077">The System Browser</FONT></H4>
</CENTER>
<P>The standard System Browser contains five subviews:
<UL>
<LI>Class category list
<P>
<LI>Class list
<P>
<LI>Method category list
<P>
<LI>Method list
<P>
<LI>Code view
</UL>
<P>The System Browser is shown in Figure 36.3.
<P>
<A HREF="../art/36/36fig03.gif"><B>Figure 36.3</B></a>. <I>The System Browser. </I><BR>
<BR>
Within the ST/X system, classes are assigned to a category. A category is simply
an attribute used for grouping classes to make them easier to handle. To select a
class category, click on the name of the category in the class category list. This
is the leftmost section of the top half of the System Browser. This will display,
in the class list subview, all classes belonging to that category. The class list
subview is the second section from the far left of the system browser. You can also
select one of two special categories: <TT>* all *</TT>, which selects all classes
and lists them alphabetically; and <TT>* hierarchy *</TT>, which lists all classes
in a tree by inheritance.</P>
<P>If you select a class in the class list, all method categories for that class
will be displayed in the method category list, which is the second section from the
right in the top half of the System Browser. Like class categories, method categories
are simply for grouping methods according to their function. When you select a method
category, all methods in that category are shown in the method list view in the far
right section of the browser. The special <TT>* all *</TT> category will show all
methods in alphabetical order. Selecting a method from the method list will show
the corresponding method's source code in the code view which is the bottom half
of the System Browser.</P>
<P>The browser enables you to change either a class or its metaclass. There are two
toggle buttons, class and instance, in the same section of the browser as the class
list view. Instance, which is the default, makes the changes affect the class. Selecting
class makes the changes affect the metaclass. A pop-up menu is available in each
view by pressing the middle or menu mouse button while the pointer is in that view.
The pop-up menu available in the class category view is shown in Figure 36.4, and
the purpose of each function is shown in Table 36.2.
<P>
<A HREF="../art/36/36fig04.gif"><B>Figure 36.4.</B></A> <I>The class category pop-up menu.
</I>
<P>
<CENTER><FONT SIZE="4"><B>Table 36.2.</B> Class category pop-up menu functions. </FONT>
<TABLE BORDER="0">
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT"><I>Function</I></TD>
<TD ALIGN="LEFT"><I>Description</I></TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>fileOut</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Saves all classes in the currently selected class category into one source file named
<TT>classCategory.st</TT></TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>fileOut each</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Saves all classes but puts each class into a separate file called <TT>className.st</TT></TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>printOut</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Sends a printed representation of all classes selected to the printer including the
method source code</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>printOut protocol</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Sends a protocol-only representation of all classes in the category to the printer
without the method's source code</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>spawn</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Starts a class category browser without a class category list on the currently selected
class category</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>spawn class</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Starts a full class browser which allows you to edit all code for the selected class
in one view</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>update</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Rescans all classes in the system and updates the lists shown</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>find class</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Pops up a dialog box to enter the name of a class you want to search for and have
displayed</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>rename</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Renames a category and changes the category attribute of all classes in the currently
selected class category</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD ALIGN="LEFT" VALIGN="TOP"><TT>remove</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Removes all classes and subclasses in the current class category</TD>
</TR>
</TABLE>
</CENTER>
<P>The class list pop-up menu appears when you press the menu mouse button with the
pointer in the class list view. The functions available from this menu are shown
in Figure 36.5 and are explained in Table 36.3.
<P>
<A HREF="../art/36/36fig05.gif"><B>Figure 36.5.</B> </A> <I>The class list pop-up menu. </I><P>
<CENTER>
<P><FONT SIZE="4"><B>Table 36.3. </B>Class list pop-up menu functions. </FONT>
<TABLE BORDER="0">
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT"><I>Function</I></TD>
<TD ALIGN="LEFT"><I>Description</I></TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>fileOut</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Saves the source code of the currently selected class in a file named <TT>className.st</TT>.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>printOut</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Sends the source code of the currently selected class to the printer.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>printOut protocol</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Sends a protocol description of the currently selected class to the printer. The
output will contain the class description, class comment, and the classes' protocol
and method comments.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>spawn</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Starts a class browser on the currently selected class.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>spawn hierarchy</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Starts a browser on all subclasses of the currently selected class.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>hierarchy</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Shows the hierarchy of the currently selected class in the code view.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>definition</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Shows the class definition in the code view and allows you to change the class definition.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>comment</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Shows the class comment in the code view and allows you to edit it.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>class instvars</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Shows the class-instance variables for the selected class and allows you to edit
them.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>variable search</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Provides a search facility to find different variable references and all methods
referencing the searched-for variable.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>new class</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Allows you to create a new class using as a template the currently selected class.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>new subclass</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Same as new class but it will create a subclass of the currently selected class.</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="101" ALIGN="LEFT" VALIGN="TOP"><TT>rename</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Changes the name of the currently selected class.</TD>
</TR>
</TABLE>
<TT></TT>
</CENTER>
<P><TT>remove</TT> Removes the currently selected class and all of its subclasses.
The method category pop-up menu appears when you press the menu mouse button while
the pointer is in the method category view. The functions available from this menu
are shown in Figure 36.6 and explained in Table 36.4.
<P>
<A HREF="../art/36/36fig06.gif"><B>Figure 36.6.</B> </A> <I>The method category pop-up menu.
</I><P>
<CENTER>
<P><FONT SIZE="4"><B>Table 36.4.</B> Method category pop-up menu functions. </FONT>
<TABLE BORDER="0">
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="107" ALIGN="LEFT" VALIGN="TOP"><I>Function</I></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><I>Description</I></TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="107" ALIGN="LEFT" VALIGN="TOP"><TT>fileOut</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Saves the source code of the currently selected method category in a file named <TT>className-category.st</TT></TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="107" ALIGN="LEFT" VALIGN="TOP"><TT>printOut</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Sends the source code of the currently selected method category to the printer</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="107" ALIGN="LEFT" VALIGN="TOP"><TT>spawn</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Starts a method category browser on the currently selected method category of the
currently selected class</TD>
</TR>
<TR ALIGN="LEFT" rowspan="1">
<TD WIDTH="107" ALIGN="LEFT" VALIGN="TOP"><TT>spawn category</TT></TD>
<TD ALIGN="LEFT" VALIGN="TOP">Starts a browser on all methods of the class which have the same category as the
currently selected one</TD>
</TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -