<table><thead><tr><th>Primitive</th><th>Used in method:</th><th>Implemented in class:</th></tr></thead><tbody><tr><td>61</td><td>basicAt:put:<br>at:put:</td><td>Object<br>Object</td></tr><tr><td>62</td><td>size<br>basicSize<br>size</td><td>String<br>Object<br>Object</td></tr><tr><td>63</td><td>at:<br>basicAt:</td><td>String<br>String</td></tr><tr><td>64</td><td>at:put:<br>basicAt:put:</td><td>String<br>String</td></tr><tr><td>65</td><td>next<br>next<br>next</td><td>ReadStream<br>ReadWriteStream<br>FileStream</td></tr><tr><td>66</td><td>primitiveNextPut:<br>nextPut:</td><td>FileStream<br>WriteStream</td></tr><tr><td>67</td><td>atEnd</td><td>Stream</td></tr><tr><td>68</td><td>findfirst:attribute:buffer:</td><td>Directory</td></tr><tr><td>69</td><td>allReferencesPrim</td><td>Object</td></tr><tr><td>70</td><td>new<br>basicNew</td><td>Behavior<br>Behavior</td></tr><tr><td>71</td><td>new:<br>basicNew:</td><td>Behavior<br>Behavior</td></tr><tr><td>72</td><td>become:</td><td>Object</td></tr><tr><td>73</td><td>instVarAt:</td><td>Object</td></tr><tr><td>74</td><td>instVarAt:put:</td><td>Object</td></tr><tr><td>75</td><td>hash:<br>asOop<br>basicHash</td><td>Character Object<br>Object<br>Object</td></tr><tr><td>76</td><td>hash</td><td>Object</td></tr><tr><td>77</td><td>dosPrimitive:registers:value:</td><td>DOS</td></tr><tr><td>78</td><td>drawRectangle</td><td>Pen</td></tr><tr><td>79</td><td>value</td><td>Context</td></tr><tr><td>80</td><td>value:</td><td>Context</td></tr><tr><td>81</td><td>value:value:</td><td>Context</td></tr><tr><td>82</td><td>upTo:</td><td>Stream</td></tr><tr><td>83</td><td>tan</td><td>Float</td></tr><tr><td>84</td><td>perform:withArguments:</td><td>Object</td></tr><tr><td>85</td><td>arcTan</td><td>Float</td></tr><tr><td>86</td><td>status</td><td>Float class</td></tr><tr><td>87</td><td>findNext:</td><td>Directory</td></tr></tbody></table>
<table><thead><tr><th>Primitive</th><th>Used in method:</th><th>Implemented in class:</th></tr></thead><tbody><tr><td>88</td><td>spreadFrom:to:width<br>startAt:mask:</td><td>Form</td></tr><tr><td>89</td><td>fillAtX:andY:</td><td>Pen</td></tr><tr><td>98</td><td>configureAs:</td><td>DisplayScreen class</td></tr><tr><td>99</td><td>ellipsePrim:aspectX:Y:</td><td>Pen</td></tr><tr><td>100</td><td>drawLoopX:Y:</td><td>BitBlt</td></tr><tr><td>101</td><td>mousePrimWith:with:with:with:</td><td>CursorManager</td></tr><tr><td>102</td><td>primitiveGetEvent</td><td>InputEvent</td></tr><tr><td>104</td><td>swapInAndRestore:</td><td>Process</td></tr><tr><td>105</td><td>replaceFrom:to:with:startingAt:</td><td>String</td></tr><tr><td>106</td><td>replaceFrom:to:withObject:</td><td>String</td></tr><tr><td>107</td><td>hash</td><td>String</td></tr><tr><td>108</td><td>copyStack</td><td>Process class</td></tr><tr><td>109</td><td>dropSenderChain</td><td>Process class</td></tr><tr><td>110</td><td>=</td><td>Character</td></tr><tr><td></td><td>=</td><td>Symbol</td></tr><tr><td></td><td>=</td><td>Object</td></tr><tr><td></td><td>==</td><td>Object</td></tr><tr><td>111</td><td>class</td><td>Object</td></tr><tr><td>112</td><td>unusedMemoryPrim</td><td>SystemDictionary</td></tr><tr><td>113</td><td>flushFromCache:</td><td>MethodDictionary</td></tr><tr><td>114</td><td>interrupt:</td><td>Process class</td></tr><tr><td>115</td><td>copyBits</td><td>BitBlt</td></tr><tr><td>116</td><td>signal</td><td>Semaphore</td></tr><tr><td>117</td><td>wait</td><td>Semaphore</td></tr><tr><td>118</td><td>enableInterrupts:</td><td>Process class</td></tr><tr><td>119</td><td>currentDateInto:</td><td>Date class</td></tr><tr><td>120</td><td>currentTimeInto:</td><td>Time class</td></tr><tr><td>123</td><td>primitiveEndByte</td><td>FileHandle</td></tr><tr><td>124</td><td>openIn:</td><td>FileHandle</td></tr><tr><td>125</td><td>readInto:atPage:</td><td>FileHandle</td></tr><tr><td>126</td><td>writeFrom:toPage:for:</td><td>FileHandle</td></tr><tr><td>127</td><td>primitiveClose</td><td>FileHandle</td></tr></tbody></table>
# User-Defined Primitive Methods

User-defined primitives are implemented as protected mode subroutines. These subroutines are collected into primitive modules that are loaded by Smalltalk/V 286 after the image is loaded. The primitive modules are memory image files (.BIN format) and contain a table of the names and entry points of the primitives (subroutines) included.

## Object Pointers

Smalltalk/V 286 uses 32-bit memory addresses as object pointers. Pointers with a segment value of 6 are *positive SmallIntegers*. Pointers with a segment value of 116H are *negative SmallIntegers*. The offset of a SmallInteger is a 15 bit magnitude (always positive). This gives a range of -32767 to +32767 for small integers. All other pointers are the direct memory address of the object.

Smalltalk/V 286 uses a generation scavenging garbage collector. When an object pointer is stored into an object, data structures internal to the memory manager may need to be updated if cross generational references have been created or modified. An assembly language macro is provided for this purpose.

## Accessing Objects within Primitives

Certain object pointers may need to be referenced by a user primitive. These objects are at fixed addresses. The file fixdptrs.usr contains assembly language definitions for these fixed pointers.

All objects have a twelve byte header. This is followed by the instance variables. Instance variables of an object are all of the same size. Objects that contain object pointers have 32 bit instance variables; all others have eight bit instance variables. The order of instance variables in an object is the order in which the variables are defined by the class of the object (don't forget about inherited instance variables). Assembly language definitions for the structure of the object header and some common objects is in file object.usr.

Often you need to check the class of an object to see if it is appropriate for the primitive. You can use the ClassPtrHash field in the object header for this purpose. The file object.usr also contains assembly language definitions of the fixed class hashes in the environment.

Smalltalk methods cannot corrupt object memory because an object is not allowed to access outside itself. Primitive methods can access all of object memory, and therefore have the opportunity to corrupt object memory. The implementor of a primitive has the responsibility to guarantee that only the instance variables of the receiver object are changed. If you have been using (debugging) a primitive that may have stored erroneously in memory, discard the image.
## Loading Primitives

A module containing user primitives is loaded into Smalltalk/V 286 by sending the message `loadPrimitivesFrom:` to an instance of `SystemDictionary`. The argument is the file path name where the file of primitives is located. For example:

`Smalltalk.loadPrimitivesFrom: 'example.bin'`

If you have several files containing primitives, then evaluate the above expression for each file. These expressions are usually included in the `go` file to make the loading of primitives automatic.

## Reserving Space for Primitives

Primitives are loaded into memory in the address space of DOS (below 640K). Unless you tell it otherwise, Smalltalk/V 286 will allocate all of memory to itself, therefore you must reserve memory for your primitives. You specify the amount of space to reserve for primitives and DOS as the argument to the `/d:` parameter on the command line that invokes Smalltalk/V 286. For example, the following command invokes Smalltalk/V and reserves 200K for DOS and primitives to use:

`v /d:200`

You must specify enough memory to load all of your primitives. If you are also using the DOS shell feature you need to add that to your reservation request size. Notice that the argument is a decimal number and specifies the amount of memory to reserve in multiples of 1024 bytes. Appendix 3, *Configuring Smalltalk/V 286*, explains all of the command line options in detail.

## Macros

Assembly language macros are provided to simplify writing user primitives. These handle all of the details of interfacing with the Smalltalk interpreter. The macros are contained in file `access.usr`. The following macros are provided.

### `enterPrimitive`

This must be the first instruction in a user primitive. It saves the old stack frame address and sets up BP to point to the arguments on the stack:

[BP+6] is the DWORD containing the receiver object pointer.

[BP+10] is the DWORD containing the first argument object pointer.

[BP+14] is the DWORD containing the second argument object pointer.

[BP+18] is the DWORD containing the third argument object pointer.

etc...
**exitWithSuccess**

This macro is used to exit the primitive when it has successfully computed an object pointer as the method result. The 32 bit method result is placed in `DX`, `AX` with `DX` containing the segment part and `AX` containing the offset part.

**exitWithFailure**

This macro is used to exit the primitive when it cannot compute the method result. An example would be a floating point primitive that is passed an argument that is not a floating point number.

**oldToNewUpdate**

This macro must be invoked after every store of an object pointer into an object. It updates several memory management data structures, if necessary. Failure to invoke this macro can lead to very bizarre and unpredictable results.

**ElementSize segReg,offsetReg resultWordReg resultByteReg**

This macro returns the number of instance variables in the object referred to by `segReg:OffsetReg`. The high order 8 bits of the result is in `resultByteReg` and the low order 16 bits is in `resultWordReg`. Note that this is not the same as the size of the object in bytes.

**getByteSize segReg,offsetReg resultWordReg resultByteReg**

This macro returns the number of bytes, including the header, occupied by the object referred to by `segReg:OffsetReg`. The high order 8 bits of the result is in `resultByteReg` and the low order 16 bits is in `resultWordReg`. Note that this is not the same as the number of instance variables.

**isPointerObject segReg,offsetReg**

This macro tests whether the object referred to by `segReg:OffsetReg` contains object pointers or bytes. For example, `Strings` contain bytes and `Arrays` contain object pointers. It sets the condition code `zero` if it contains bytes and sets the condition code `non-zero` if it contains object pointers.

**isIndexedObject segReg,offsetReg**

This macro tests whether the object referred to by `segReg:OffsetReg` contains indexed instance variables. For example, `Strings` and `Arrays` contain indexed instance variables, and `Dictionaries` and `Dates` do not. It sets the condition code `zero` if it does not contain indexable instance variables and sets the condition code `non-zero` if it does.
**isSmallObject segReg,offsetReg**

This macro tests whether the object segment referenced by `segReg:OffsetReg` is contained in a single 64K byte segment. It sets the condition code zero if it does not fit in a single segment and sets the condition code non-zero if it does.

**isSmallPosInt segmentExpression**

This macro tests whether the object segment referenced by `segmentExpression` is a positive `SmallInteger`. It sets the condition code `equal` if it is and sets the condition code `non-equal` if it is not.

**isSmallNegInt segmentExpression**

This macro tests whether the object segment referenced by `segmentExpression` is a negative `SmallInteger`. It sets the condition code `equal` if it is and sets the condition code `non-equal` if it is not.

**interruptVM**

This macro places the interrupt number contained in AL onto the interrupt queue of the interpreter. It is used by primitives that need to issue Smalltalk interrupts. This macro is used in protected mode primitives. There is another macro for use in real mode interrupt service routines (described below).

## Interrupt Service Routines

`Smalltalk/V 286` lets you provide your own interrupt service routines, for example your own communications driver. Interrupt service routines are different from primitives in that they are not callable by the Smalltalk interpreter. They are entered in response to a machine interrupt. They also run in real mode instead of protected mode. This means that they do not have access to object memory. They do have access to all DOS and BIOS interrupts. They communicate with Smalltalk via virtual machine interrupts and via memory shared in the segment with Smalltalk primitives. It is for this reason that they are included in the same primitive module as the Smalltalk primitives that access the shared memory.

Interrupt service routines cannot store or refer to object pointers in any way. There is no guarantee as to the state of the garbage collector at the time of the hardware interrupt, so the pointers may not be valid.

The following macro is included in file `access.usr` to allow interrupt service routines to issue Smalltalk virtual machine interrupts.
## ISVinterruptVM

This macro places the interrupt number contained in AL onto the interrupt queue of the interpreter. It is used by interrupt service routines that wish to issue Smalltalk interrupts, for instance a communications driver. This macro is only used by interrupt service routines and is only invocable from real mode.

## Constructing Primitive Modules

A primitive module is composed of four pieces that are assembled or linked into a single memory image segment that starts at offset 0. These are the module header, the initialization routine, one or more primitive subroutines and interrupt service routines, and the entry point table. The file *example.prm* shows the assembly language source code for a complete primitive module. To build the primitive module, first assemble this source file into the file *example.obj*. Then link it with the linker to produce the executable file *example.exe*. Finally use the *exe2bin* program to turn it into the memory image file *example.bin*. Here are some sample DOS commands:

```
masm example.prm;
```

```
link example.obj;
```

```
exe2bin example.exe
```

The header must be the first 16 bytes of the segment when it is loaded into memory. The format of the 16 byte module header is:

* 0: module initialization entry point offset

* 2: reserved

* 4: reserved

* 6: physical segment address (filled in when loaded)

* 8: offset of table of primitive entry point offsets

* 10: physical segment address of interpreter parameter area (filled in when loaded)

* 12: reserved

* 14: reserved

The installation routine for the primitive module is entered via a far call after the module is loaded. This allows any load time initialization to be done by the module before any of the primitives are called.

A primitive is entered via a far call when the associated Smalltalk method is invoked. The primitive must either succeed or fail. If it succeeds, the resultant object pointer is returned in the *DX*, *AX* register pair, with *DX* holding the segment part and *AX* the offset part. If it fails, *DX* and *AX* must be set to zero.

User primitives are identified by names instead of numbers. The primitive entry point table contains the names and offset of all the primitives in the module. It does not have any of the interrupt service routines since these are not callable from Smalltalk. The
format of the entry point table is:

DB 'name of primitive 1'

DB 0

DW offset of entry point 1

DB 'name of primitive 2'

DB 0

DW offset of entry point 2

:

:

DW 0 ;marks end of table

## Invoking User Primitives from Smalltalk

Whenever a method is invoked that gives the user primitive as its implementation, the user primitive is entered via a far call. User primitives are referred to by the name given them in the containing primitive module. For example, the sample primitive is named `userStringAt`: so the following method could be added to class `String`.

`examplePrimAt: index`

"This method invokes the sample primitive in the file `example.bin`."

`<primitive: userStringAt: >`

`^self error: 'user prim failed'`

After the primitive module `example.bin` is loaded, the following expression would invoke the user primitive:

`'Now is the time' examplePrimAt: 5`
# Appendix 3: Configuring Smalltalk/V 286

This appendix presents information for configuring Smalltalk/V 286 for different
memory, hardware, and BIOS configurations. If you are having trouble starting the
system up for the first time and suspect hardware or software incompatibilities, please
read the read.me file for up-to-date information.

Smalltalk/V is configured by adding parameters to the DOS command line that invokes
the Smalltalk environment. There are five possible configuration parameters: three deal
with memory configurations and two deal with hardware and BIOS configuration. Briefly,
these parameters are (they are described in more detail in the following sections):

/d:nnn — Reserve nnn Kbytes (decimal) of memory for DOS shell and primitives in the address space of DOS.

/x:nnn — Reserve nnn Kbytes (decimal) of memory in the beginning of extended memory for other protected mode programs to use.

/u:nnn — Use a maximum of nnn Kbytes (decimal) of extended memory for Smalltalk.

/s:x where x is either s or h — Use hardware (h) or software (s) shutdown logic to switch to real mode from protected mode.

/t:x where x is either p or s — Use either primary (p) or secondary (s) startup logic to start up in real mode after a shut down in protected mode.

When more than one parameter is specified they may be separated by blanks. Letters may be either upper or lower case. Numeric arguments are always decimal (base 10). There cannot be a space between the : and the argument in a parameter. The following are both valid command lines:

v /D:100 /s:h

V /t:P /U:2048

## Memory Configuration

Unless told otherwise, Smalltalk/V 286 will use all of available memory. Logically speaking there are two kinds of memory available when the interpreter is invoked, available DOS memory (memory accessible in real mode) and available extended memory (memory accessible in protected mode only).
## DOS Memory

If you are going to use the DOS shell or if you are going to load user primitive modules then you must reserve some of the DOS memory. The `/d:nnn` parameter specifies the amount of DOS memory to reserve in 1K (1024) byte increments. The `nnn` is in decimal.

When Smalltalk/V 286 is invoked, it allocates parts of itself in extended memory if needed to reserve the amount of space requested. However certain parts must be in real mode memory (approximately 100K).

## Extended Memory

Smalltalk/V 286 allocates its extended memory starting at the end of available extended memory (high physical address) and going forward (towards low physical address). There are two ways to control the amount of memory allocated in extended memory.

The `/u:nnn` parameter specifies the maximum amount of extended memory that Smalltalk/V 286 is to allocate in 1K byte increments. The `nnn` is in decimal. This sets an upper bound. If less memory is available, less will be allocated.

The `/x:nnn` parameter specifies the amount of extended memory not to allocate at the front (low physical address) of extended memory in 1K byte increments. The `nnn` is in decimal. This reserves a portion of extended memory for other protected mode programs to use.

Note that Smalltalk/V 286 detects the memory at the front of extended memory (low physical address) used by VDISK or multiple VDISKs and automatically treats the memory as not available. The parameters above only refer to available memory and not VDISK memory.

## An Example

As an example, let's take the following situation:

1. 150K of DOS memory needs to be reserved for user primitives.

2. Two VDISKs of 256K each were created when the system was booted up.

3. A one megabyte area of extended memory was reserved at the high end of extended memory when the system was booted up.

4. At least an additional one megabyte needs to be reserved for use after Smalltalk/V 286 is started up; more would be nice.

5. There are 8 megabytes of extended memory in the hardware.

6. The Smalltalk/V image we are going to run does not need more than two megabytes.
The command line would be:

v /d:150 /x:1024 /u:2048

And the memory map is given in figure A3-1.

<figure><img src="image_78.png" /><figcaption>Figure A3-1
Smalltalk/V 286
Memory Map</figcaption></figure>

DOS Memory

Extended Memory

## Hardware and BIOS Configuration

Smalltalk/V 286 dynamically determines the configuration of your hardware and the type of BIOS installed when it is invoked. Due to the variety of hardware and manufacturers available, we included the following two parameters in case we have overlooked something. See file read.me for latest information about configuring for specific machines.

### 80386 cpu vs 80286 cpu

Since Smalltalk/V 286 runs in protected mode, and all of the BIOS and DOS facilities are accessible only from real mode, switching from protected to real mode is necessary. If you have a 80386 cpu, this switching is done via 80386 software instructions. Smalltalk/V detects the presence of the 80386 cpu automatically.

If you have an 80286 cpu, then the switching between protected and real mode is accomplished by using the 80286 cpu to shutdown and restart in real mode. There are two issues, how to accomplish the shutdown and how the cpu is to start up.
## 80286 Shutdown

The /s: parameter specifies the type of shutdown to use. There are two choices: shutdown via hardware, /sh, and via software, /ss.

The hardware shutdown is done by intentionally causing what is commonly known as a triple fault condition in the 80286 cpu. This does require that the mother board cause an automatic restart condition when the 80286 enters the shutdown mode. All IBM PC/AT machines and most clones do this.

The software shutdown is done by requesting a cpu reset via software. This involves sending commands to the keyboard processor on AT class machines and issuing port I/O commands on some PS/2 machines.

## 80286 Restart

The /t: parameter specifies how the 80286 is to start up after a shutdown. This is done by writing a value into the CMOS memory (non-volatile mnemory) of the machine prior to the shutdown. The BIOS boot up code in the ROM looks at this value to determine the type of restart to do. There are two choices: primary start up, /tp, and secondary start up /ts.

The primary start up is done by using the documented BIOS function for starting up after switching from protected to real mode. For early PC/AT's and some clones, this function does not work properly. The secondary start up uses the BIOS block memory move function to cause the real mode start up.

## Speed vs Space

The system menu contains a selection, speed/space, which lets you optimize Smalltalk/V for either speed (performance) or space (memory utilization). In speed mode, every window maintains a backup bitmap of itself for use in redrawing. In space mode, when a window is redrawn, it regenerates its screen image.

You can tell which mode the system is in by looking at the system menu. If it says speed/space, you are in speed mode. If it says space/speed, you are in space mode.
# Appendix 4: METHOD INDEX

This appendix is an index into **Part 4: Encyclopedia of Classes**. It is a complete index of all the methods implemented in **Smalltalk/V 286**. The first column below contains the selectors of all methods in sorted order. For each selector, the second column contains the list of all classes that implement a method for that selector.

<table><thead><tr><td>Method Selector</td><td>Implementing Classes</td></tr></thead><tbody><tr><td>&amp;</td><td>False, True</td></tr><tr><td>*</td><td>Float, Fraction, Integer, Number, Point</td></tr><tr><td>+</td><td>Float, Fraction, Integer, Number, Point</td></tr><tr><td>,</td><td>IndexedCollection, OrderedCollection</td></tr><tr><td>./</td><td>Float, Fraction, Integer, Number, Point</td></tr><tr><td>//</td><td>Float, Fraction, Integer, Number, Point</td></tr><tr><td>&lt;</td><td>Association, Character, Date, Float, Fraction, Integer, Magnitude, Point, String, Time</td></tr><tr><td>&lt;=</td><td>Association, Character, Date, Float, Fraction, Integer, Magnitude, Point, String, Time</td></tr><tr><td>=</td><td>Association, Character, Date, Directory, Float, Fraction, IndexedCollection, Integer, Magnitude, Object, Point, String, Symbol, Time</td></tr><tr><td>= =</td><td>Object</td></tr><tr><td>&gt;</td><td>Association, Character, Date, Float, Fraction, Integer, Magnitude, Point, String, Time</td></tr><tr><td>&gt; =</td><td>Association, Character, Date, Float, Fraction, Integer, Magnitude, Point, String, Time</td></tr><tr><td>@</td><td>Number</td></tr><tr><td>\\</td><td>Float, Fraction, Integer, Number, Point</td></tr><tr><td>abs</td><td>Number, Point</td></tr><tr><td>accept</td><td>DiskBrowser, PromptEditor, TextEditor, TextPane</td></tr><tr><td>accept:from:</td><td>ClassBrowser, ClassHierarchyBrowser, Debugger, DictionaryInspector, Inspector, MethodBrowser</td></tr><tr><td>acceptClass:from:</td><td>ClassHierarchyBrowser</td></tr><tr><td>acceptPrompt</td><td>TextPane</td></tr><tr><td>acceptReply:from:</td><td>Prompter</td></tr><tr><td>accessEmptyCollection</td><td>IndexedCollection</td></tr><tr><td>activate</td><td>Dispatcher</td></tr><tr><td>activatePane</td><td>GraphPane, Pane</td></tr><tr><td>activateWindow</td><td>Dispatcher, ScreenDispatcher, SubPane, TopPane</td></tr><tr><td>active</td><td>Dispatcher</td></tr></tbody></table>
Method Selector

add

add:

add:after:

add:afterIndex:

add:before:

add:beforeIndex:

add:name:

add:withOccurrences:

addAll:

addAllFirst:

addAllLast:

addBreak

addClasses:at:

addClassVarName:

addDays:

addDependent:

addFirst:

addLast:

addPrimitive:withEntryPoint:

addSelector:withMethod:

addSharedPool:

addSubClass

addSubclass:

addSubpane:

addTime:

adjustBox

adjustPoint:

adjustSize

after:

after:ifNone:

again

allClasses

allClassVarNames

allDependents

allInstances

allInstancesPrim

allInstVarNames

allReferences

allReferencesPrim

Implementing Classes

DictionaryInspector

Bag, Collection, Dictionary, DispatchManager,

FixedSizeCollection, IdentityDictionary,

MethodDictionary, OrderedCollection, Set,

SortedCollection, SymbolSet, SystemDictionary

OrderedCollection, SortedCollection

OrderedCollection

OrderedCollection, SortedCollection

OrderedCollection

Animation

Bag

Collection, SortedCollection

OrderedCollection, SortedCollection

OrderedCollection, SortedCollection

Debugger

ClassHierarchyBrowser

Class

Date

Object

OrderedCollection, SortedCollection

OrderedCollection, SortedCollection

Compiler class

Behavior

Class

ClassHierarchyBrowser

Behavior

TopPane

Time

PointDispatcher

StringModel

IdentityDictionary, Set

OrderedCollection

OrderedCollection

TextEditor

Behavior

Behavior

Object

Behavior

Behavior

Behavior

Object

Object
Method Selector

allSubclasses
allSubdirectoriesOf:level:into:

allSuperclasses
amountToPageLeft
amountToPageUp
amountToScrollLeft
amountToScrollUp

and:

andRule

appendChar:

appendText:

arcCos

arcSin

arcTan

areaOnFormOf:

argumentCount

arguments

arguments:

asArray

as斋OfSubstrings

asaliZ

asBag

asCharacter

asciiValue

asDate

asFloat

asInteger

asLowerCase

asOrderedCollection

asPrinterErrorFlag

asSeconds

asSet

assignClassHash

associationAt:

associationAt:ifAbsent:

associationsDo:

asSortedCollection

asSortedCollection:

asStream

asString

asSymbol

asUppercase

Implementing Classes

Behavior

DiskBrowser

Behavior

ScrollDispatcher

ScrollDispatcher

ScrollDispatcher

ScrollDispatcher

False, True

Form class

StringModel, TextPane

StringModel, TextPane

Number

Number

Float, Number

TextPane

CompiledMethod

Message

Message

Collection

String

String

Collection

Integer

Character

String

Float, Fraction, Integer

String

Character, String

Collection

SmallInteger

Date, Time

Collection

Behavior

Dictionary

Dictionary, IdentityDictionary

Dictionary, IdentityDictionary

Collection

Collection

String

String, Symbol

String, Symbol

Character, String
Method Selector

at:

at:ifAbsent:

at:put:

atAll:put:

atAllPut:

atEnd

ATTmono

backColor

backColor:

background:

backgroundColor:

backspace

backspaceSelection

backup

backupWindow

baseDay

basePoint

basicAt:

basicAt:put:

basicHash

basicNew

basicNew:

basicSize

become:

before:

before:ifNone:

beginMenu

beginScroll

beginSelect

bell

between:and:

biColorForm

bitAnd:

bitAt:

bitBltError:

bitCoordinate:

bitInvert

bitmap

bitOr:

Implementing Classes

Bag, ColorForm, Dictionary, Form, IdentityDictionary,

Interval, Object, OrderedCollection, Set, String

Dictionary, IdentityDictionary

Bag, Dictionary, Form, IdentityDictionary, Interval,

MethodDictionary, Object, OrderedCollection, Set,

SortedCollection, String, Symbol, SystemDictionary

IndexedCollection

Bitmap, IndexedCollection

FileStream, Stream

DisplayScreen class

BiColorForm, Form, TopPane

BiColorForm, Form, TopPane

DisplayScreen

DisplayScreen class

TextEditor

TextPane

TopPane

TopPane

Date class

Font

Object, String

Object, String

Integer, Object, True

Behavior

Behavior

Object

Object

OrderedCollection

OrderedCollection

TerminalStream

TerminalStream

TerminalStream

TerminalStream

Magnitude, Point

Form class

Integer

Integer

BitBlt class

TextSelection

Integer

Form

Integer
Method Selector

bitShift:

bitXor:

black

black:

blank:width:

blankRestFrom:

boldLine:

border

border:

border:clippingBox:rule:mask:

border:rule:mask:

bottom

bounce:

bounceBall

boundingBox

boxOfSize:

breakpointInterrupt

broadcast:

broadcast:with:

broadcastChangesIn:

upTo:

withExcess:

browse

browseBreakpoints

browseBreakpoints:

browseWalkback

browseWalkback:

build:

buildDirectoryList

byteCodeArray

byteCodeArray:

byteValueAt:put:

byteValueAtX:Y:

calendarForMonth:year:

call:

cancel

cancelPrompter

cantReturn

canUnderstand:

ceiling

center

center:in:

Implementing Classes

Integer

Integer

BiColorForm class, DisplayMedium, Form class, Pen

DisplayMedium

CharacterScanner

CharacterScanner

ListPane

Pane

DisplayMedium, Pane

DisplayMedium

DisplayMedium

Rectangle

Pen

DemoClass

DisplayObject

Dispatcher

Process class

Object

Object

StringModel

ClassHierarchyBrowser

Debugger

Debugger

Debugger

Debugger

Pattern, WildPattern

DiskBrowser

CompiledMethod

CompiledMethod

Form

ColorForm, Form

Date class

Dos

TextEditor, TextPane

Prompter

Object

Behavior

Number

Rectangle

TopPane
Method Selector

centerText:font:
change
change:
change:from:to:
changeColor
changed
changed:
changed:with:
changed:with:with:
changeFileMode
changeModeOf:to:
changeNib:
changeTo:
characterInput
charsInColumn
charsInRow
charSize
charWidth:
checkArgument:
checkCharacter:
checkDay:month:year:
checkDay:year:
checkDosError:
checkIndex:
checkMode:withAspect:
checkMove
chkdsk
class
class:
classes
classField
classField:
classPool
classVariableString
classVarNames
classVarNames:
cleanHandles
clearScreen
clipRect
clipRect:
clipRectAll:
clipX

Implementing Classes

Pen
CursorManager, NoMouseCursor
SubPane
DisplayScreen
Form class
Object
Object
Object
Object
DiskBrowser
File class
Pen
NoMouseCursor
InputEvent, TerminalStream
GraphPane, SubPane
SubPane
Font
Font
Context
String
Date class
Date class
Dos class
IndexedCollection
DisplayScreen class
TopDispatcher
ScreenDispatcher
Object
ClassHierarchyBrowser
ClassHierarchyBrowser
CompiledMethod
CompiledMethod
Class, MetaClass
Behavior
Class, MetaClass
Class
FileHandle class
DispatchManager
BitBlt
BitBlt, CharacterScanner
Commander
BitBlt
Method Selector

<table><tr><td>clipY</td></tr><tr><td>clockOffPrimitive</td></tr><tr><td>clockTickPeriod:</td></tr><tr><td>clockTickPrimitive:</td></tr><tr><td>clockTicksOff</td></tr><tr><td>close</td></tr><tr><td>closeIt</td></tr><tr><td>closeWindow</td></tr><tr><td>collapse</td></tr><tr><td>collapsed</td></tr><tr><td>collapsedLabel</td></tr><tr><td>collect:</td></tr><tr><td>collection</td></tr><tr><td>color</td></tr><tr><td>color:</td></tr><tr><td>colorForm</td></tr><tr><td>coloring:</td></tr><tr><td>colors:</td></tr><tr><td>colors: selectors:</td></tr><tr><td>combinationRule:</td></tr><tr><td>compatibleForm</td></tr><tr><td>compatibleMask</td></tr><tr><td>compile:</td></tr><tr><td>compile:in:</td></tr><tr><td>compile:in: notifying: ifFail:</td></tr><tr><td>compile: notifying:</td></tr><tr><td>compile: notifying: in:</td></tr><tr><td>compileAll</td></tr><tr><td>compileAllSubclasses</td></tr><tr><td>compiledMethodAt:</td></tr><tr><td>compileLogic:</td></tr><tr><td>compileLogic: notifying:</td></tr><tr><td>compilerError: at: in: for:</td></tr><tr><td>compress:</td></tr><tr><td>compressChanges</td></tr><tr><td>compressChangesOf: into:</td></tr><tr><td>compressSources</td></tr><tr><td>compressSourcesOf: into:</td></tr><tr><td>computeInstSize</td></tr><tr><td>configureAs: withColor:</td></tr><tr><td>containsPoint:</td></tr></table>

Implementing Classes

<table><tr><td>BitBlt</td></tr><tr><td>Time class</td></tr><tr><td>Time class</td></tr><tr><td>Time class</td></tr><tr><td>Time class</td></tr><tr><td>File, FileHandle, FileStream, GraphPane, ListPane, Pane, Stream, TextPane, TopDispatcher, TopPane</td></tr><tr><td>Dispatcher</td></tr><tr><td>Dispatcher</td></tr><tr><td>TopDispatcher, TopPane</td></tr><tr><td>TopPane</td></tr><tr><td>ClassHierarchyBrowser, DiskBrowser</td></tr><tr><td>Collection, FixedSizeCollection</td></tr><tr><td>WriteStream</td></tr><tr><td>TopDispatcher</td></tr><tr><td>BiColorForm class, ColorForm class, Form class</td></tr><tr><td>Form class</td></tr><tr><td>TopDispatcher</td></tr><tr><td>Menu</td></tr><tr><td>Menu class</td></tr><tr><td>BitBlt</td></tr><tr><td>ColorForm, ColorScreen, Form</td></tr><tr><td>ColorForm, ColorScreen, Form</td></tr><tr><td>Behavior</td></tr><tr><td>Compiler class</td></tr><tr><td>Compiler class, LCompiler class</td></tr><tr><td>Behavior</td></tr><tr><td>ClassHierarchyBrowser</td></tr><tr><td>Behavior</td></tr><tr><td>Behavior</td></tr><tr><td>Behavior</td></tr><tr><td>Behavior</td></tr><tr><td>TextEditor, TextPane</td></tr><tr><td>CompiledMethod class</td></tr><tr><td>SystemDictionary</td></tr><tr><td>SystemDictionary</td></tr><tr><td>SystemDictionary</td></tr><tr><td>SystemDictionary</td></tr><tr><td>Behavior</td></tr><tr><td>DisplayScreen class</td></tr><tr><td>Icon, Menu, Rectangle</td></tr></table>
Method Selector

contents

contextFor:

continue

continueScroll

controlBreakInterrupt

convertToString:

copy

copy:from:to:rule:

copy:to:

copyBits

copyChars

copyFile

copyFrom:to:

copyFrom:to:into:

copyReplaceFrom:to:with:

copySelection

copyStack

copyWith:

copyWithout:

corner

corner:

cornerFromUserOfOrigin:

minExtent:

cos

countBlanks

cr

create

create:

createDirectory

createFile

createIcons:

crossHair

current

currentDateInto:

currentDisk

currentTimeInto:

cursorIn:

cursorKey:

cursorMoved

cursorOffset:

Implementing Classes

Directory, ReadStream, ReadWriteStream, Set, Stream, TextEditor, TextPane, WriteStream

Process

ScreenDispatcher

ScrollDispatcher, TerminalStream

Process class

StringModel

Object

Form

File class

BitBlt

CharacterScanner

DiskBrowser

FileStream, IndexedCollection, OrderedCollection, SortedCollection, Stream

FileStream

FixedSizeCollection, IndexedCollection

TextEditor

Process class, ProcessScheduler

IndexedCollection

IndexedCollection

CursorManager class, Rectangle, TextSelection

Point, Rectangle, TextSelection

PointDispatcher class

Float, Number

Stream

Debugger, FileStream, TextEditor, WriteStream

Directory

Directory class

DiskBrowser

DiskBrowser

TopPane

CursorManager class

Directory class

Date class

Directory class

Time class

SubPane

CursorManager

TerminalStream

PointDispatcher
Method Selector

Implementing Classes

<table><tr><td>cursorOut:</td><td>Dispatcher</td></tr><tr><td>cutSelection</td><td>TextEditor</td></tr><tr><td>cycle</td><td>Dispatcher, DispatchManager, ScreenDispatcher</td></tr><tr><td>cyclePane</td><td>Dispatcher, Pane, ScreenDispatcher</td></tr><tr><td>cyclePane:</td><td>TopPane</td></tr><tr><td>darkGray</td><td>BiColorForm class, Form class</td></tr><tr><td>dateAndTimeNow</td><td>Date class, Time class</td></tr><tr><td>day</td><td>Date</td></tr><tr><td>day:</td><td>Date</td></tr><tr><td>dayIndex</td><td>Date</td></tr><tr><td>dayName</td><td>Date</td></tr><tr><td>dayMonth</td><td>Date</td></tr><tr><td>dayOfWeek:</td><td>Date class</td></tr><tr><td>dayOfYear</td><td>Date</td></tr><tr><td>daysInMonth</td><td>Date</td></tr><tr><td>daysInMonth:forYear:</td><td>Date class</td></tr><tr><td>daysInYear</td><td>Date</td></tr><tr><td>daysInYear:</td><td>Date class</td></tr><tr><td>daysLeftInMonth</td><td>Date</td></tr><tr><td>daysLeftInYear</td><td>Date</td></tr><tr><td>deactivate</td><td>Dispatcher</td></tr><tr><td>deactivatePane</td><td>GraphPane, ListPane, Pane, TextPane, TopPane</td></tr><tr><td>deactivateWindow</td><td>Dispatcher, Pane</td></tr><tr><td>debug</td><td>Debugger</td></tr><tr><td>debugger</td><td>Process</td></tr><tr><td>debugger:</td><td>Process</td></tr><tr><td>decompress:</td><td>CompiledMethod class</td></tr><tr><td>deepCopy</td><td>Behavior, Boolean, Character, Collection, Dictionary, Float, Integer, Object, Symbol, UndefinedObject</td></tr><tr><td>defaultDispatcherClass</td><td>GraphPane, ListPane, TextPane, TopPane</td></tr><tr><td>defaultNib:</td><td>Pen</td></tr><tr><td>degreesToRadians</td><td>Float, Number</td></tr><tr><td>delay</td><td>TerminalStream</td></tr><tr><td>delete:</td><td>StringModel</td></tr><tr><td>deleteCharIn:</td><td>StringModel</td></tr><tr><td>demoMenu</td><td>DemoClass</td></tr><tr><td>denominator</td><td>Fraction, Number</td></tr><tr><td>dependents</td><td>Object</td></tr><tr><td>dependsOn:</td><td>Object</td></tr><tr><td>destForm</td><td>BitBlt</td></tr><tr><td>destForm:</td><td>BitBlt</td></tr><tr><td>destForm:sourceForm:</td><td>BitBlt, BitBlt class</td></tr></table>
Method Selector

destForm:

sourceForm:

halftone:

combinationRule:

destOrigin:

sourceOrigin:

extent:

clipRect:

destOrigin:

destRect:

destX

destX:

destY

destY:

detect:

detect:ifNone:

deviceType:

dictionaries

dictionary:

digitValue

digitValue:

dir

direction

direction:

directories

directory

directory:

directoryListMenu

directorySort

disappear

diskLabel

dispatcher

dispatcher:

dispatchers

display

display:

display:at:

display:from:at:

display:from:to:at:

display:reverseFrom:to:

Implementing Classes

BitBlt

BitBlt

BitBlt

BitBlt, Commander

BitBlt

BitBlt, Commander

BitBlt

Collection

Collection

Form

ClassBrowser

ClassBrowser

Character

Character class

ScreenDispatcher

Pen

Commander, Pen

DiskBrowser

DiskBrowser, File

DiskBrowser

DiskBrowser

DiskBrowser

Menu

ScreenDispatcher

Pane

Pane

DispatchManager

Animation, CursorManager, Dispatcher,

DispatchManager, DisplayObject, Icon, NoMouseCursor,

TextSelection

StringModel

CharacterScanner

CharacterScanner

CharacterScanner

TextPane
## Method Selector

displayAll
displayAll:from:to:at:
displayAt:
displayAt:clippingBox:
displayAt:font:
displayBox:
displayChanges
displayForm:at:rule:
displayGap
displayIn:
displayLabel
displayLabelIcons
displayOn:
at:
  clippingBox:
rule:
mask:
displayPage2
displayPatch:
displayScreen
displaySelection
displayWindow
do:

doesNotHandle
doesNotUnderstand:
doIt
DoIt
doIt:
doItResult:error:
dosError:
dosMenu
dosPrimitive:registers:value:
dotProduct:
down
downArrow
dragon
dragon:
drawBox:
drawFrom:to:
drawLoopX:Y:
drawRectangle

## Implementing Classes

DispatchManager, StringModel
CharacterScanner
DisplayObject, Menu, String
DisplayObject
String
PointDispatcher
TextPane
CharacterScanner
TextSelection
Dispatcher
TopPane
TopPane
DisplayObject

Form class
TextSelection
Form class
TextSelection
SubPane, TopPane
Bag, Collection, Dictionary, IdentityDictionary, IndexedCollection, OrderedCollection, Set, Stream
Dispatcher
Object
TextEditor, TextPane
UndefinedObject
Inspector, TextPane
Inspector
Dos class
ScreenDispatcher
Dos
Point
Commander, CursorManager, Pen
CursorManager class
DemoClass
DemoClass, Pen
PointDispatcher
BitBlt
BitBlt
Pen
Method Selector

drive

drive:

driveBPresent

dropFrame

dropSenderChain

dropTo:

edit

EGAcolor

EGAcolorLowRes

EGAlowRes

EGAmono

eightLine

elapsedDaysSince:

elapsedMonthsSince:

elapsedSecondsSince:

ellipse:aspect:

ellipsePrim:aspectX:Y:

enableInterrupts:

endByte

environmentVariable:

equals:

eqv:

erase

error:

errorAbsentElement

errorAbsentKey

errorAbsentObject

errorIn:label:

errorInBounds:

errorInDay

errorInMonth

errorNotIndexable

evaluate:

evaluate:in:to:notifying:ifFail:

evaluating:

even

exchangeColor

execute

execute:parameters:

executeCommands:

executeProgram:parameters:

exit

Implementing Classes

Directory

Directory

ScreenDispatcher

Process

Process class

Process

Class, String

DisplayScreen class

DisplayScreen class

DisplayScreen class

DisplayScreen class

Font class

Date

Date

Date

Commander, Pen

Pen

Process class

FileHandle

Dos class

String

False, True

Form class

Object

OrderedCollection

Dictionary

Collection

InputEvent

IndexedCollection

Date class

Date class

Behavior, Collection

Compiler class

Compiler class, LCompiler class

Prompter

Number

Form class

CursorManager class

ScreenDispatcher

ScreenDispatcher

ScreenDispatcher

ScreenDispatcher
Method Selector

Implementing Classes

<table><tr><td>exit:</td><td>SystemDictionary</td></tr><tr><td>exp</td><td>Float, Number</td></tr><tr><td>expandBy:</td><td>Rectangle</td></tr><tr><td>exponent</td><td>Float</td></tr><tr><td>extendOrigin:</td><td>TextSelection</td></tr><tr><td>extendSelect</td><td>TerminalStream</td></tr><tr><td>extendTo:</td><td>StringModel</td></tr><tr><td>extent</td><td>BitBlt, DisplayObject, Form, Rectangle, StringModel, TextSelection</td></tr><tr><td>extent:</td><td>BitBlt, Form, Point, Rectangle</td></tr><tr><td>extractDateTimeFrom:</td><td>Directory class</td></tr><tr><td>extractDirNameFrom:</td><td>Directory</td></tr><tr><td>extractFileNameFrom:</td><td>Directory class</td></tr><tr><td>extractFlagsFrom:</td><td>Directory class</td></tr><tr><td>extractSizeFrom:</td><td>Directory class</td></tr><tr><td>factorial</td><td>Integer</td></tr><tr><td>failAt:with:</td><td>Pattern</td></tr><tr><td>fanOut</td><td>Commander</td></tr><tr><td>file</td><td>DiskBrowser, FileStream</td></tr><tr><td>file:</td><td>Directory, DiskBrowser</td></tr><tr><td>fileExtension</td><td>String</td></tr><tr><td>fileId</td><td>File</td></tr><tr><td>fileId:</td><td>File</td></tr><tr><td>fileIn</td><td>Stream</td></tr><tr><td>fileInFrom:</td><td>ClassReader, StringModel, TextPane</td></tr><tr><td>fileItIn</td><td>TextEditor</td></tr><tr><td>fileListMenu</td><td>DiskBrowser</td></tr><tr><td>fileName</td><td>String</td></tr><tr><td>fileName:extension:</td><td>File class</td></tr><tr><td>fileOut</td><td>ClassHierarchyBrowser</td></tr><tr><td>fileOutOn:</td><td>Class, ClassReader, StringModel, TextPane</td></tr><tr><td>files</td><td>DiskBrowser</td></tr><tr><td>fill:</td><td>DisplayMedium</td></tr><tr><td>fill:clippingBox:rule:mask:</td><td>DisplayMedium</td></tr><tr><td>fill:rule:mask:</td><td>DisplayMedium</td></tr><tr><td>fillAt:</td><td>Pen</td></tr><tr><td>fillAtX:andY:</td><td>Pen</td></tr><tr><td>findCurrentLine</td><td>ListPane</td></tr><tr><td>findElementIndex:</td><td>Set, SymbolSet</td></tr><tr><td>findFirst:</td><td>IndexedCollection</td></tr><tr><td>findFirst:attribute:buffer:</td><td>Directory</td></tr><tr><td>findFrameIndexOf:</td><td>Process</td></tr></table>
Method Selector

<table><thead><tr><th></th><th>Implementing Classes</th></tr></thead><tbody><tr><td>findKeyIndex:</td><td>Dictionary, IdentityDictionary</td></tr><tr><td>findLast:</td><td>IndexedCollection</td></tr><tr><td>findNext:</td><td>Directory</td></tr><tr><td>first</td><td>IndexedCollection</td></tr><tr><td>firstDayInMonth</td><td>Date</td></tr><tr><td>firstDay Of Month</td><td>Date</td></tr><tr><td>fixedWidth</td><td>Font</td></tr><tr><td>floatError</td><td>Float class</td></tr><tr><td>floor</td><td>Number</td></tr><tr><td>flush</td><td>File, FileStream</td></tr><tr><td>flushFromCache:</td><td>MethodDictionary</td></tr><tr><td>font</td><td>CharacterScanner, Pane</td></tr><tr><td>for:</td><td>StringModel class</td></tr><tr><td>forceEndOntoDisplay</td><td>TextPane</td></tr><tr><td>forceSelectionOntoDisplay</td><td>TextPane</td></tr><tr><td>forClass:</td><td>ClassReader class</td></tr><tr><td>foreColor</td><td>BiColorForm, Form, TopPane</td></tr><tr><td>foreColor:</td><td>BiColorForm, Form, TopPane</td></tr><tr><td>foreColor:backColor:</td><td>BiColorForm, BiColorForm class, Form class</td></tr><tr><td>forgetImage</td><td>ScreenDispatcher</td></tr><tr><td>fork</td><td>Context</td></tr><tr><td>fork:</td><td>ProcessScheduler</td></tr><tr><td>fork:at:</td><td>ProcessScheduler</td></tr><tr><td>forkAt:</td><td>Context</td></tr><tr><td>form</td><td>GraphPane, Icon</td></tr><tr><td>form:</td><td>GraphPane, Icon</td></tr><tr><td>formatted</td><td>Directory</td></tr><tr><td>formCoordinates:</td><td>TextPane</td></tr><tr><td>formPrint</td><td>Date</td></tr><tr><td>fourteenLine</td><td>Font class</td></tr><tr><td>frame</td><td>CharacterScanner, Icon, Pane, Pen, TextPane, TopPane</td></tr><tr><td>frame:</td><td>Pen, StringModel</td></tr><tr><td>frameAt:offset:</td><td>Process</td></tr><tr><td>frameAt:offset:put:</td><td>Process</td></tr><tr><td>frameBiasUnit</td><td>Process class</td></tr><tr><td>frameIndexAt:</td><td>Process</td></tr><tr><td>frameOffset</td><td>HomeContext</td></tr><tr><td>frameOffset:</td><td>HomeContext</td></tr><tr><td>frameToProcessIndex:</td><td>Process</td></tr><tr><td>framingBlock:</td><td>SubPane</td></tr><tr><td>framingRatio:</td><td>SubPane</td></tr><tr><td>freeDiskSpace</td><td>Directory</td></tr></tbody></table>
<table><thead><tr><th>Method Selector</th><th>Implementing Classes</th></tr></thead><tbody><tr><td>from/to:</td><td>Interval class</td></tr><tr><td>from/to/by:</td><td>Interval class</td></tr><tr><td>fromDays:</td><td>Date class</td></tr><tr><td>fromDisplay</td><td>Form</td></tr><tr><td>fromDisplay:</td><td>BiColorForm, Form, Form class</td></tr><tr><td>fromInteger:</td><td>Float class</td></tr><tr><td>fromSeconds:</td><td>Time class</td></tr><tr><td>fromString:</td><td>Date class</td></tr><tr><td>fullDirName</td><td>Directory</td></tr><tr><td>functionInput</td><td>InputEvent, TerminalStream</td></tr><tr><td>gcd:</td><td>Integer</td></tr><tr><td>getBits:</td><td>ColorForm, Form</td></tr><tr><td> currentPen:</td><td>Animation</td></tr><tr><td> date</td><td>File</td></tr><tr><td> devices</td><td>ScreenDispatcher</td></tr><tr><td> environment: keyWord:</td><td>Dos class</td></tr><tr><td> index:</td><td>Font</td></tr><tr><td> pointAt:</td><td>StringModel</td></tr><tr><td> selectionFrom: to:</td><td>StringModel</td></tr><tr><td> sourceClasses</td><td>SystemDictionary</td></tr><tr><td> glyphs</td><td>Font</td></tr><tr><td> go:</td><td>Commander, Pen</td></tr><tr><td> goto:</td><td>Commander, Pen</td></tr><tr><td> gotoDos</td><td>ScreenDispatcher</td></tr><tr><td> gray</td><td>BiColorForm class, DisplayMedium, Form class, Pen, TextSelection</td></tr><tr><td> gray:</td><td>CharacterScanner, DisplayMedium</td></tr><tr><td> graySelection</td><td>GraphPane, ListPane, SubPane, TextPane, TopPane</td></tr><tr><td> grid:</td><td>Pen</td></tr><tr><td> grow</td><td>Dictionary, IdentityDictionary, IndexedCollection, OrderedCollection, Set, SortedCollection, SymbolSet, WriteStream</td></tr><tr><td> growSize</td><td>IndexedCollection</td></tr><tr><td> growSymbolHashArray</td><td>SymbolSet</td></tr><tr><td> growTo:</td><td>OrderedCollection</td></tr><tr><td> halt</td><td>Object</td></tr><tr><td> hand</td><td>CursorManager class</td></tr><tr><td> hasBlock</td><td>CompiledMethod</td></tr><tr><td> hasCursor</td><td>Pane, TopPane</td></tr><tr><td> hash</td><td>Association, Character, Date, Float, Fraction, Integer, Magnitude, Object, Point, String, Symbol, Time, True</td></tr><tr><td> hash:</td><td>Object</td></tr></tbody></table>
Method Selector

hasSignals
hasSubdirectory
hasZoomedPane
height
height:
hercules
hide
hideCursor
hideDirectory
hideGap
hideGapFlag
hideIconsExcept:
hideSelection
hideSelection:to:
hideShow
hideX:y:width:height:
hierarchy
hierarchy:
highlightLabel
highUserPriority
home
homeContext
homeCursor
homeFrameOf:
hop
hotSpot
hours
IBM3270
icAt:
iconsWidth:
ifFalse:
ifFalse:ifTrue:
ifTrue:
ifTrue:ifFalse:
image
implementedBySubclass
implementors
implementorsOf:
includes:

Implementing Classes

Semaphore
Directory
Pane
BitBlt, DisplayObject, Font, Form, Rectangle, TextSelection
BitBlt, Rectangle
DisplayScreen class
CursorManager, Icon, NoMouseCursor, TextSelection
BitBlt
DiskBrowser
SubPane, TextPane, TextSelection
SubPane, TextPane, TextSelection
TopPane
ListPane, TextPane, TextSelection
TextSelection
ClassHierarchyBrowser, DiskBrowser
NoMouseCursor
ClassHierarchyBrowser
ClassHierarchyBrowser
TopDispatcher, TopPane
ProcessScheduler
Pen
Context
Dispatcher, Pane, TopDispatcher
Process
Debugger
CursorManager
Time
DisplayScreen class
Process
TopPane
False, True
False, True
False, True
False, True
CursorManager
Object
ClassBrowser, ClassHierarchyBrowser, Debugger, MethodBrowser
Behavior, SystemDictionary
Bag, Collection, Dictionary, DispatchManager, IndexedCollection, OrderedCollection, Set
Method Selector

Implementing Classes

<table><tr><td>includes:with:</td><td>CompiledMethod</td></tr><tr><td>includesKey:</td><td>Dictionary, IdentityDictionary</td></tr><tr><td>includesSelector:</td><td>Behavior</td></tr><tr><td>increment</td><td>Interval</td></tr><tr><td>indexOf:</td><td>IndexedCollection</td></tr><tr><td>indexOf:ifAbsent:</td><td>IndexedCollection</td></tr><tr><td>indexOfMonth:</td><td>Date class</td></tr><tr><td>inheritsFrom:</td><td>Behavior</td></tr><tr><td>initBegin:end:incr:</td><td>Interval</td></tr><tr><td>initDependents</td><td>Object class</td></tr><tr><td>initFlags</td><td>TextSelection</td></tr><tr><td>initForm:hotSpot:</td><td>CursorManager</td></tr><tr><td>initHandles</td><td>FileHandle class</td></tr><tr><td>initialize</td><td>Bag, Behavior class, Class, Date class, Dispatcher, DispatchManager, DispatchManager class, Dos, GraphPane, Icon, InputEvent, ListPane, MethodDictionary class, NoMouseCursor, Object class, Pane, Pattern class, PointDispatcher, Process, ProcessScheduler, ScreenDispatcher class, Semaphore, TerminalStream, TextEditor, TextEditor class, TextPane, TextSelection, Time class, TopDispatcher class, TopPane</td></tr><tr><td>initialize:</td><td>Animation, Commander, Set</td></tr><tr><td>initialize:font:</td><td>CharacterScanner</td></tr><tr><td>initialize:font:dest:</td><td>CharacterScanner</td></tr><tr><td>initialize:hotSpot:</td><td>CursorManager</td></tr><tr><td>initializeClass</td><td>Class</td></tr><tr><td>initializeMouse</td><td>CursorManager, NoMouseCursor</td></tr><tr><td>initializeTranscript</td><td>TextEditor class</td></tr><tr><td>initialSize</td><td>IdentityDictionary class</td></tr><tr><td>initialState</td><td>TerminalStream</td></tr><tr><td>initLabelIcons</td><td>TopPane class</td></tr><tr><td>initPen:</td><td>Pen</td></tr><tr><td>initPositions:</td><td>OrderedCollection</td></tr><tr><td>initScanner</td><td>GraphPane</td></tr><tr><td>initSystem</td><td>DisplayScreen class</td></tr><tr><td>initTopCorner</td><td>GraphPane</td></tr><tr><td>initWindowClip</td><td>Pane class</td></tr><tr><td>initWindowSize</td><td>ClassHierarchyBrowser, Debugger, DiskBrowser, MethodBrowser, TopDispatcher</td></tr><tr><td>inject:into:</td><td>Collection</td></tr><tr><td>input</td><td>Pattern</td></tr></table>
Method Selector

<table><tr><td>insetBy:</td><td>Rectangle</td></tr><tr><td>inspect</td><td>Dictionary, Object</td></tr><tr><td>inspectMenu</td><td>DictionaryInspector, Inspector</td></tr><tr><td>inspectSelection</td><td>Debugger, DictionaryInspector, Inspector</td></tr><tr><td>installFixedSize:</td><td>Font</td></tr><tr><td>charSize:</td><td></td></tr><tr><td>startChar:</td><td></td></tr><tr><td>endChar:</td><td></td></tr><tr><td>basePoint:</td><td></td></tr><tr><td>instance</td><td>Debugger, DictionaryInspector, Inspector</td></tr><tr><td>instance:</td><td>ClassHierarchyBrowser</td></tr><tr><td>instanceClass</td><td>MetaClass</td></tr><tr><td>instanceHeaderOn:</td><td>ClassReader</td></tr><tr><td>instances</td><td>ClassHierarchyBrowser</td></tr><tr><td>instanceVariableString</td><td>Behavior</td></tr><tr><td>instSize</td><td>Behavior</td></tr><tr><td>instVarAt:</td><td>Object</td></tr><tr><td>instVarAt:put:</td><td>Object</td></tr><tr><td>instVarList</td><td>DictionaryInspector, Inspector</td></tr><tr><td>instVarNames</td><td>Behavior</td></tr><tr><td>instVarNames:</td><td>Behavior</td></tr><tr><td>integerCos</td><td>Number</td></tr><tr><td>integerSin</td><td>Number</td></tr><tr><td>intern:</td><td>Symbol class</td></tr><tr><td>internalForm</td><td>Form class</td></tr><tr><td>interrupt:</td><td>Dos, Process class</td></tr><tr><td>interruptFrame:</td><td>Process</td></tr><tr><td>intersect:</td><td>Rectangle, TextSelection</td></tr><tr><td>intersects:</td><td>Rectangle</td></tr><tr><td>invalidMessage</td><td>Object</td></tr><tr><td>ioErrorInterrupt</td><td>Process class</td></tr><tr><td>isAlphaNumeric</td><td>Character</td></tr><tr><td>isBefore:</td><td>Point</td></tr><tr><td>isBits</td><td>Behavior</td></tr><tr><td>isBytes</td><td>Behavior</td></tr><tr><td>isContext</td><td>Context, Object</td></tr><tr><td>isControlActive</td><td>Dispatcher, PromptEditor, TextEditor, TopDispatcher</td></tr><tr><td>isControlWanted</td><td>Dispatcher</td></tr><tr><td>isDigit</td><td>Character</td></tr><tr><td>isEmpty</td><td>Collection, Stream</td></tr><tr><td>isFixed</td><td>Behavior</td></tr><tr><td>isGap</td><td>TextSelection</td></tr></table>

Implementing Classes

<table><tr><td>Rectangle</td><td>Dictionary, Object</td></tr><tr><td>Dictionary, Object</td><td>DictionaryInspector, Inspector</td></tr><tr><td>DictionaryInspector, Inspector</td><td>Debugger, DictionaryInspector, Inspector</td></tr><tr><td>Font</td><td>Debugger, DictionaryInspector, Inspector</td></tr><tr><td>MetaClass</td><td>ClassHierarchyBrowser</td></tr><tr><td>ClassReader</td><td>ClassHierarchyBrowser</td></tr><tr><td>ClassReader</td><td>Behavior</td></tr><tr><td>ClassReader</td><td>Behavior</td></tr><tr><td>Behavior</td><td>Behavior</td></tr><tr><td>Behavior</td><td>Object</td></tr><tr><td>Behavior</td><td>Object</td></tr><tr><td>Behavior</td><td>DictionaryInspector, Inspector</td></tr><tr><td>Behavior</td><td>Behavior</td></tr><tr><td>Behavior</td><td>Number</td></tr><tr><td>Number</td><td>Number</td></tr><tr><td>Number</td><td>Symbol class</td></tr><tr><td>Number</td><td>Form class</td></tr><tr><td>Number</td><td>Dos, Process class</td></tr><tr><td>Number</td><td>Process</td></tr><tr><td>Number</td><td>Rectangle, TextSelection</td></tr><tr><td>Rectangle</td><td>Rectangle</td></tr><tr><td>Object</td><td>Object</td></tr><tr><td>Process class</td><td>Process class</td></tr><tr><td>Character</td><td>Character</td></tr><tr><td>Point</td><td>Behavior</td></tr><tr><td>Behavior</td><td>Behavior</td></tr><tr><td>Behavior</td><td>Context, Object</td></tr><tr><td>Context, Object</td><td>Dispatcher, PromptEditor, TextEditor, TopDispatcher</td></tr><tr><td>Dispatcher</td><td>Dispatcher</td></tr><tr><td>Character</td><td>Character</td></tr><tr><td>Collection, Stream</td><td>Collection, Stream</td></tr><tr><td>Behavior</td><td>Behavior</td></tr><tr><td>TextSelection</td><td>TextSelection</td></tr></table>
Method Selector

Implementing Classes

<table><tr><td>isGapSelection</td><td>TextPane</td></tr><tr><td>isHidden</td><td>Icon</td></tr><tr><td>isKindOf:</td><td>Object</td></tr><tr><td>isLetter</td><td>Character</td></tr><tr><td>isLowerCase</td><td>Character</td></tr><tr><td>isMemberOf:</td><td>Object</td></tr><tr><td>isNil</td><td>Object, UndefinedObject</td></tr><tr><td>isPointers</td><td>Behavior</td></tr><tr><td>isSeparator</td><td>Character</td></tr><tr><td>isThereInput</td><td>CursorManager</td></tr><tr><td>isUpperCase</td><td>Character</td></tr><tr><td>isUserIF</td><td>Process</td></tr><tr><td>isVariable</td><td>Behavior</td></tr><tr><td>isVowel</td><td>Character</td></tr><tr><td>isZoomed</td><td>TextPane</td></tr><tr><td>jump</td><td>Debugger</td></tr><tr><td>jumpDown</td><td>CursorManager</td></tr><tr><td>jumpLeft</td><td>CursorManager</td></tr><tr><td>jumpRight</td><td>CursorManager</td></tr><tr><td>jumpUp</td><td>CursorManager</td></tr><tr><td>key</td><td>Association</td></tr><tr><td>key:</td><td>Association, Association class</td></tr><tr><td>key:value:</td><td>Association class</td></tr><tr><td>keyAtValue:</td><td>Dictionary</td></tr><tr><td>keyAtValue:ifAbsent:</td><td>Dictionary, IdentityDictionary</td></tr><tr><td>keyboardInterrupt</td><td>Process class</td></tr><tr><td>keys</td><td>Dictionary, IdentityDictionary</td></tr><tr><td>keysDo:</td><td>Dictionary</td></tr><tr><td>kindOfSubclass</td><td>Behavior</td></tr><tr><td>label</td><td>ClassHierarchyBrowser, Debugger, DiskBrowser, MethodBrowser, TopDispatcher, TopPane</td></tr><tr><td>label:</td><td>Debugger, MethodBrowser, TopPane</td></tr><tr><td>labelArray:lines: selectors:</td><td>Menu class</td></tr><tr><td>labelFrame</td><td>TopPane</td></tr><tr><td>labels:lines:</td><td>Menu</td></tr><tr><td>labels:lines: selectors:</td><td>Menu class</td></tr><tr><td>last</td><td>IndexedCollection</td></tr><tr><td>launch</td><td>SystemDictionary</td></tr><tr><td>lcmlcm:</td><td>Integer</td></tr><tr><td>leapYear:</td><td>Date class</td></tr><tr><td>leapYearsTo:</td><td>Date class</td></tr><tr><td>left</td><td>CursorManager, Rectangle</td></tr></table>
Method Selector

<table><tr><td>leftArrow</td></tr><tr><td>leftButton:</td></tr><tr><td>leftIcons:</td></tr><tr><td>leftPartBefore:</td></tr><tr><td>lightGray</td></tr><tr><td>lineAt:</td></tr><tr><td>lineDelimiter</td></tr><tr><td>lineDelimiter:</td></tr><tr><td>lineInPane:</td></tr><tr><td>linesIn:</td></tr><tr><td>lineToRect:</td></tr><tr><td>lineUpFrom:to:</td></tr><tr><td>listMenu</td></tr><tr><td>listString:</td></tr><tr><td>literal:</td></tr><tr><td>ln</td></tr><tr><td>loadEntireFile</td></tr><tr><td>loadPrimitivesFrom:</td></tr><tr><td>location</td></tr><tr><td>log:</td></tr><tr><td>logEvaluate:</td></tr><tr><td>logSource:forClass:</td></tr><tr><td>logSource:forSelector:inClass:</td></tr><tr><td>lookUpKey:</td></tr><tr><td>lowRes</td></tr><tr><td>lowUserPriority</td></tr><tr><td>magnify:by:</td></tr><tr><td>magnifyBy:</td></tr><tr><td>makeCurrent</td></tr><tr><td>makeLabel:</td></tr><tr><td>makeSelectionVisible</td></tr><tr><td>makeUserIF</td></tr><tr><td>mandala</td></tr><tr><td>mandala:diameter:</td></tr><tr><td>mask</td></tr><tr><td>mask:</td></tr><tr><td>maskForm:</td></tr><tr><td>match:</td></tr><tr><td>match:index:</td></tr><tr><td>matchBlock:</td></tr><tr><td>max:</td></tr><tr><td>maxLineBetween:and:</td></tr></table>

Implementing Classes

<table><tr><td>CursorManager class</td></tr><tr><td>TerminalStream</td></tr><tr><td>TopPane</td></tr><tr><td>StringModel</td></tr><tr><td>BiColorForm class, Form class</td></tr><tr><td>ListPane, StringModel, TextPane</td></tr><tr><td>FileStream, Stream</td></tr><tr><td>FileStream, Stream</td></tr><tr><td>ListPane</td></tr><tr><td>StringModel</td></tr><tr><td>ListPane</td></tr><tr><td>Commander</td></tr><tr><td>MethodBrowser</td></tr><tr><td>MethodBrowser</td></tr><tr><td>CompiledMethod, MethodBrowser</td></tr><tr><td>Float, Number</td></tr><tr><td>DiskBrowser</td></tr><tr><td>SystemDictionary</td></tr><tr><td>Commander, Pen</td></tr><tr><td>Number</td></tr><tr><td>SystemDictionary</td></tr><tr><td>SystemDictionary</td></tr><tr><td>SystemDictionary</td></tr><tr><td>Dictionary</td></tr><tr><td>DisplayScreen class</td></tr><tr><td>ProcessScheduler</td></tr><tr><td>Form</td></tr><tr><td>String</td></tr><tr><td>Directory</td></tr><tr><td>Debugger</td></tr><tr><td>TextPane</td></tr><tr><td>Process</td></tr><tr><td>DemoClass</td></tr><tr><td>Pen</td></tr><tr><td>BitBlt</td></tr><tr><td>BitBlt</td></tr><tr><td>BiColorForm</td></tr><tr><td>Pattern, WildPattern</td></tr><tr><td>Pattern, WildPattern</td></tr><tr><td>Pattern</td></tr><tr><td>Magnitude, Point</td></tr><tr><td>ListPane, StringModel</td></tr></table>
Method Selector

Implementing Classes

menu

ClassHierarchyBrowser, Debugger, Prompter,

TextEditor class, TopDispatcher class

menu:

Pane

merge:

Rectangle, TextSelection

message:

Menu class

method

Debugger

method:

MethodBrowser

methodAt:

Process

methodAt:put:

Process

methodDictionaries

Behavior

methodDictionaries:

Behavior

methodDictionary

Behavior

methodList

MethodBrowser

methods

Behavior

millisecondClockValue

Time class

millisecondsToRun:

Time class

min:

Magnitude, Point

minBoxExtent:

PointDispatcher

minimumSize

TopPane

minimumSize:

TopPane

minutes

Time

misc

TextEditor

model

Pane

model:

Pane

modified

Dispatcher, TextEditor

modified:

TextEditor

monthIndex

Date

monthName

Date

monthNameFromString:

Date class

mouseButtonDown

InputEvent

mouseButtonUp

InputEvent, TerminalStream

mouseClockValue

InputEvent, TerminalStream

mouseMove

Time class

mouseOffset

InputEvent, TerminalStream

mousePrimWith:

TerminalStream

mousePrimWith:with:

CursorManager

mousePrimWith:with:with:

CursorManager

mousePrimWith:with:with:with:

CursorManager

mouseScroll

ScrollDispatcher

mouseSelectOn

TerminalStream

mouseStillDown

TerminalStream

move

TopDispatcher
Method Selector

move:

move.by:

moveBy:

moveCursor:

moveDownIn:

moveOrSizeBox:

moveTo:

moveUpIn:

multiEllipse

multiMandala

multiPentagon

multiPolygon:

multiSpiral

mustBeBoolean

mustBeSymbol:

name

name:

name:

environment:

subclassOf:

instanceVariableNames:

variable:

words:

pointers:

classVariableNames:

poolDictionaries:

comment:

changed:

nameOfDay:

nameOfMonth:

negated

negative

new

Implementing Classes

TopPane

Animation

Point, Rectangle

Menu

SubPane

PointDispatcher

Rectangle

SubPane

DemoClass

DemoClass

DemoClass

DemoClass

DemoClass

Object

Symbol class

Class, File, Icon, MetaClass, Process

Icon, Process, SubPane

MetaClass

Date class

Date class

Float, Fraction, Integer, Number, Point

Number

Bag class, Behavior, BiColorForm class, Boolean class, Character class, ColorForm class, Dispatcher class, DispatchManager class, DisplayScreen class, Dos class, Form class, Icon class, IdentityDictionary class, InputEvent class, NoMouseCursor class, Number class, OrderedCollection class, Pane class, Pen class, PointDispatcher class, Process class, Semaphore class, Set class, TextSelection class, UndefinedObject class
Method Selector

Implementing Classes

<table><tr><td>new:</td><td>Behavior, Boolean class, Commander class, IdentityDictionary class, Number class, OrderedCollection class, Pattern class, Pen class, Set class, SortedCollection class, Symbol class, UndefinedObject class, WildPattern class</td></tr><tr><td>newDay:month:year:</td><td>Date class</td></tr><tr><td>newDay:year:</td><td>Date class</td></tr><tr><td>newdropFrame</td><td>Process</td></tr><tr><td>newFile:</td><td>Directory</td></tr><tr><td>newLabel</td><td>TopDispatcher</td></tr><tr><td>newMethod</td><td>ClassHierarchyBrowser</td></tr><tr><td>newNameSymbol:</td><td>Behavior, MetaClass</td></tr><tr><td>newPage2</td><td>DisplayScreen class</td></tr><tr><td>newSize:</td><td>IdentityDictionary class</td></tr><tr><td>next</td><td>FileStream, ReadStream, ReadWriteStream, TerminalStream</td></tr><tr><td>next:</td><td>Stream</td></tr><tr><td>next:put:</td><td>Stream, TextEditor</td></tr><tr><td>nextByte</td><td>WriteStream</td></tr><tr><td>nextBytePut:</td><td>WriteStream</td></tr><tr><td>nextChunk</td><td>Stream</td></tr><tr><td>nextChunkPut:</td><td>Stream</td></tr><tr><td>nextEvent</td><td>InputEvent</td></tr><tr><td>nextFourBytesPut:</td><td>WriteStream</td></tr><tr><td>nextFrameAt:</td><td>Process</td></tr><tr><td>nextLine</td><td>FileStream, Stream</td></tr><tr><td>nextMatchFor:</td><td>Stream</td></tr><tr><td>nextPiece</td><td>Stream</td></tr><tr><td>nextPut:</td><td>Debugger, FileStream, ReadWriteStream, TerminalStream, TextEditor, WriteStream</td></tr><tr><td>nextPutAll:</td><td>Debugger, FileStream, ReadWriteStream, TerminalStream, TextEditor, WriteStream</td></tr><tr><td>nextTwoBytesPut:</td><td>WriteStream</td></tr><tr><td>nextWord</td><td>Stream</td></tr><tr><td>noChanges</td><td>TextPane</td></tr><tr><td>noGraphPane</td><td>TopPane</td></tr><tr><td>nonIntersections:</td><td>Rectangle</td></tr><tr><td>normal</td><td>CursorManager class</td></tr><tr><td>north</td><td>Pen</td></tr><tr><td>not</td><td>False, True</td></tr><tr><td>notEmpty</td><td>Collection</td></tr><tr><td>notifier:content:at:</td><td>GraphPane class</td></tr></table>
Method Selector

notifier:content:at:menu:

notNil

now

nullEvent

numerator

numerator:denominator:

occurrencesOf:

odd

offset

offset:

on:

open

open:in:

openChangeLogIn:

openClassBrowser

openDiskBrowser

openIn:

openOn:

openWindow

openWorkspace

or:

origin

origin:

origin:corner:

origin:extent:

orRule

orThru

other

outByte:toPort:

output:head:tail:

output:head:tail:headSize:

outputToPrinter

outputToPrinterUpright

outputToPrinterUpright:

over

overClickDelay

overrunInterrupt

pagesize

pagesize:

Implementing Classes

GraphPane class

Object, UndefinedObject

Time class

InputEvent, TerminalStream

Fraction, Number

Fraction, Fraction class

Bag, Collection, Dictionary, Set

Number

CursorManager, DisplayObject, Form

CursorManager, DisplayObject, Form, NoMouseCursor

Stream class

Dispatcher, File, ListPane, SubPane, TextPane,

TopPane

File class, FileHandle class

SystemDictionary

ScreenDispatcher

ScreenDispatcher

Dispatcher, FileHandle

ClassBrowser, ClassHierarchyBrowser, DiskBrowser,

Inspector, MethodBrowser

Dispatcher

ScreenDispatcher

False, True

CursorManager class, Rectangle, TextSelection

Icon, TextSelection

Rectangle, Rectangle class, TextSelection, TextSelection

class

Rectangle, Rectangle class

Form class

Form class

ScreenDispatcher

Dos

Form

Form

DisplayScreen, Form, String

DisplayScreen, Form

Form

Form class

TerminalStream

Process class

File class

File class
<table><thead><tr><th>Method Selector</th><th>Implementing Classes</th></tr></thead><tbody><tr><td>pane</td><td>Dispatcher</td></tr><tr><td>pane:</td><td>Dispatcher, TextSelection</td></tr><tr><td>paneScanner</td><td>Pane</td></tr><tr><td>pasteSelection</td><td>TextEditor</td></tr><tr><td> pathname</td><td>Directory, FileStream</td></tr><tr><td> pathname:</td><td>Directory, Directory class, File class</td></tr><tr><td> pathname:in:</td><td>File class</td></tr><tr><td> peek</td><td>Stream</td></tr><tr><td> peekFor:</td><td>Stream</td></tr><tr><td> peekFrom:</td><td>Dos</td></tr><tr><td> perform:</td><td>Object</td></tr><tr><td> perform:with:</td><td>Object</td></tr><tr><td> perform:with:with:</td><td>Object</td></tr><tr><td> perform:with:with:with:</td><td>Object</td></tr><tr><td> perform:withArguments:</td><td>Object</td></tr><tr><td> performMenu</td><td>SubPane, TextPane, TopPane</td></tr><tr><td> pi</td><td>Float class</td></tr><tr><td> place:</td><td>Commander, Pen</td></tr><tr><td> pointer:word:variable:</td><td>Class</td></tr><tr><td> pointFromUserDisplaying:offset:</td><td>PointDispatcher class</td></tr><tr><td> poke:to:</td><td>Dos</td></tr><tr><td> polygon:sides:</td><td>Pen</td></tr><tr><td> popUp:</td><td>Pane</td></tr><tr><td> popUp:at:</td><td>Pane</td></tr><tr><td> popUpAt:</td><td>Menu</td></tr><tr><td> popUpAt:for:</td><td>Menu</td></tr><tr><td> position</td><td>CursorManager, FileStream, Stream</td></tr><tr><td> position:</td><td>FileStream, Stream, WriteStream</td></tr><tr><td> positionsOf:in:</td><td>Compiler class</td></tr><tr><td> positionsOf:in:notifying:ifFail:</td><td>Compiler class</td></tr><tr><td> positive</td><td>Number</td></tr><tr><td> previousWeekday:</td><td>Date</td></tr><tr><td> primitive:</td><td>CompiledMethod</td></tr><tr><td> primitiveClose</td><td>FileHandle</td></tr><tr><td> primitiveFailed</td><td>Object</td></tr><tr><td> primitiveGetEvent</td><td>InputEvent</td></tr><tr><td> primitiveLoadModule:</td><td>SystemDictionary</td></tr><tr><td> primitiveNextPut:</td><td>FileStream</td></tr><tr><td> primitiveNumber</td><td>CompiledMethod</td></tr><tr><td> print</td><td>TextEditor, TextPane</td></tr><tr><td> printerMode:</td><td>Form class</td></tr><tr><td> printFile</td><td>DiskBrowser</td></tr></tbody></table>
<table><thead><tr><th>Method Selector</th><th>Implementing Classes</th></tr></thead><tbody><tr><td>printFraction:</td><td>Number</td></tr><tr><td>printIt</td><td>TextEditor</td></tr><tr><td>printLimit</td><td>Collection</td></tr><tr><td>printOn:</td><td>Array, Association, Behavior, Boolean, Character, Collection, Date, Float, Fraction, Integer, Number, Object, Point, Rectangle, SmallInteger, String, Symbol, Time, UndefinedObject</td></tr><tr><td>printOn:base:</td><td>Integer</td></tr><tr><td>printPaddedTo:</td><td>Integer</td></tr><tr><td>printRecursionOn:</td><td>Object</td></tr><tr><td>printRounded:</td><td>Number</td></tr><tr><td>printString</td><td>Object</td></tr><tr><td>priority</td><td>Process</td></tr><tr><td>priority:</td><td>Process</td></tr><tr><td>privateAdd:</td><td>SymbolSet</td></tr><tr><td>processControlKey:</td><td>Dispatcher, PromptEditor, TextEditor</td></tr><tr><td>processFunctionKey:</td><td>Dispatcher, GraphDispatcher, PointDispatcher, PromptEditor, ScreenDispatcher, ScrollDispatcher, TextEditor</td></tr><tr><td>processInput</td><td>Dispatcher, PointDispatcher, TextEditor, TopDispatcher</td></tr><tr><td>processInputKey:</td><td>Dispatcher, TextEditor</td></tr><tr><td>processKey:</td><td>Dispatcher, PointDispatcher</td></tr><tr><td>processLastInput:</td><td>Dispatcher</td></tr><tr><td>prompt:default:</td><td>Prompter, Prompter class</td></tr><tr><td>prompt:defaultExpression:</td><td>Prompter class</td></tr><tr><td>promptForPathName</td><td>DiskBrowser</td></tr><tr><td>promptWithBlanks:default:</td><td>Prompter class</td></tr><tr><td>purgeUnusedSymbols</td><td>Symbol class</td></tr><tr><td>putHeaderOf:into:</td><td>SystemDictionary</td></tr><tr><td>putMethod:withIndex:to:</td><td>SystemDictionary</td></tr><tr><td>putSpaceAfter:</td><td>OrderedCollection</td></tr><tr><td>putSpaceAtEnd</td><td>OrderedCollection</td></tr><tr><td>putSpaceAtStart</td><td>OrderedCollection</td></tr><tr><td>queueWalkback:</td><td>Process class</td></tr><tr><td>makeUserIF:</td><td></td></tr><tr><td>resumable:</td><td></td></tr><tr><td>quo:</td><td>Integer, Number</td></tr><tr><td>radiansToDegrees</td><td>Float, Number</td></tr><tr><td>radix:</td><td>Integer</td></tr><tr><td>raisedTo:</td><td>Number</td></tr><tr><td>raisedToInteger:</td><td>Number</td></tr><tr><td>read</td><td>TerminalStream</td></tr></tbody></table>
Method Selector

<table><tr><td>readBuffer:atPosition:</td><td>File</td></tr><tr><td>readInto:atPage:</td><td>FileHandle</td></tr><tr><td>readInto:atPage:pageSize:</td><td>FileHandle</td></tr><tr><td>readInto:atPosition:</td><td>FileHandle</td></tr><tr><td>readLimit</td><td>FileStream, Stream</td></tr><tr><td>receiverAt:</td><td>Process</td></tr><tr><td>reciprocal</td><td>Float, Fraction, Integer, Number</td></tr><tr><td>recompile:</td><td>Behavior</td></tr><tr><td>recover:</td><td>CharacterScanner</td></tr><tr><td>recoverLine:</td><td>Menu</td></tr><tr><td>redraw</td><td>ScreenDispatcher</td></tr><tr><td>reflectDrawX:Y:</td><td>Pen</td></tr><tr><td>reframe</td><td>TopPane</td></tr><tr><td>reframe:</td><td>CharacterScanner, GraphPane, SubPane, TextPane, TopPane</td></tr><tr><td>reframeLabel</td><td>TopPane</td></tr><tr><td>refreshAll</td><td>ListPane, TextPane</td></tr><tr><td>refreshColor</td><td>ColorScreen, DisplayScreen</td></tr><tr><td>refreshFrom:for:atX:Y:</td><td>ListPane</td></tr><tr><td>registers</td><td>Dos</td></tr><tr><td>rehash</td><td>Dictionary, IdentityDictionary, Set</td></tr><tr><td>rehashFrom:</td><td>Dictionary, IdentityDictionary, Set</td></tr><tr><td>reinitialize</td><td>DispatchManager</td></tr><tr><td>reject:</td><td>Collection</td></tr><tr><td>release</td><td>Object, Pane</td></tr><tr><td>rem:</td><td>Integer, Number</td></tr><tr><td>remove</td><td>DictionaryInspector, Directory</td></tr><tr><td>remove:</td><td>Collection, Directory class, DispatchManager, File class</td></tr><tr><td>remove:ifAbsent:</td><td>Bag, Collection, Dictionary, FixedSizeCollection, OrderedCollection, Set</td></tr><tr><td>removeAll:</td><td>Collection</td></tr><tr><td>removeAssociation:</td><td>Dictionary</td></tr><tr><td>removeBreak</td><td>Debugger</td></tr><tr><td>removeClassVarName:</td><td>Class</td></tr><tr><td>removeDirectory</td><td>DiskBrowser</td></tr><tr><td>removeFile</td><td>DiskBrowser</td></tr><tr><td>removeFirst</td><td>OrderedCollection</td></tr><tr><td>removeFromSystem</td><td>Class</td></tr><tr><td>removeIndex:</td><td>OrderedCollection</td></tr><tr><td>removeKey:</td><td>Dictionary</td></tr><tr><td>removeKey:ifAbsent:</td><td>Dictionary, IdentityDictionary, MethodDictionary</td></tr><tr><td>removeLast</td><td>OrderedCollection</td></tr></table>
Method Selector

<table><thead><tr><th>Method Selector</th><th>Implementing Classes</th></tr></thead><tbody><tr><td>removeSelector</td><td>ClassBrowser, ClassHierarchyBrowser, MethodBrowser</td></tr><tr><td>removeSelector:</td><td>Behavior</td></tr><tr><td>removeSharedPool:</td><td>Class</td></tr><tr><td>removeSubClass</td><td>ClassHierarchyBrowser</td></tr><tr><td>removeSubclass:</td><td>Behavior</td></tr><tr><td>rename:</td><td>Class</td></tr><tr><td>rename:in:</td><td>Class</td></tr><tr><td>rename:to:</td><td>File class</td></tr><tr><td>renameFile</td><td>DiskBrowser</td></tr><tr><td>replace:withChar:</td><td>StringModel</td></tr><tr><td>replace:withText:</td><td>StringModel</td></tr><tr><td>replaceAll</td><td>TextEditor</td></tr><tr><td>replaceAllOld</td><td>TextPane</td></tr><tr><td>replaceAtColumns:by:</td><td>TextPane</td></tr><tr><td>replaceAtColumns:by:startAt:</td><td>StringModel</td></tr><tr><td>replaceAtPattern:by:</td><td>TextPane</td></tr><tr><td>replaceCrsIn:</td><td>DiskBrowser</td></tr><tr><td>replaceFrom:to:with:</td><td>IndexedCollection, OrderedCollection</td></tr><tr><td>replaceFrom:to:with:startAt:</td><td>Bitmap, ByteArray, IndexedCollection, String</td></tr><tr><td>replaceFrom:to:withObject:</td><td>Bitmap, IndexedCollection, String</td></tr><tr><td>replaceGapBefore:withChar:</td><td>StringModel</td></tr><tr><td>replaceLinesIn:with:</td><td>StringModel</td></tr><tr><td>replaceString:</td><td>TextPane</td></tr><tr><td>replaceWithChar:</td><td>TextPane</td></tr><tr><td>replaceWithLf:</td><td>StringModel</td></tr><tr><td>replaceWithTab:</td><td>StringModel</td></tr><tr><td>replaceWithText:</td><td>TextPane</td></tr><tr><td>reply</td><td>Prompter</td></tr><tr><td>reply:</td><td>Prompter</td></tr><tr><td>reset</td><td>CursorManager, NoMouseCursor, Pattern, Stream, WildPattern</td></tr><tr><td>resetPrinter</td><td>DiskBrowser</td></tr><tr><td>resize</td><td>TopDispatcher</td></tr><tr><td>resize:</td><td>TopPane</td></tr><tr><td>reSort</td><td>SortedCollection</td></tr><tr><td>respondsTo:</td><td>Object</td></tr><tr><td>restart</td><td>Debugger</td></tr><tr><td>restartAt:</td><td>Process</td></tr><tr><td>restore</td><td>ListPane</td></tr><tr><td>restoreDirList</td><td>DiskBrowser</td></tr><tr><td>restoreMode</td><td>DisplayScreen class</td></tr><tr><td>restoreSelected</td><td>ListPane</td></tr></tbody></table>
Method Selector

Implementing Classes

<table><tr><td>restoreSelected:</td><td>ListPane</td></tr><tr><td>restoreWithRefresh:</td><td>ListPane</td></tr><tr><td>resumable:</td><td>Debugger</td></tr><tr><td>resume</td><td>Debugger, DispatchManager, Process</td></tr><tr><td>resume:</td><td>Process, ProcessScheduler</td></tr><tr><td>return:</td><td>PointDispatcher</td></tr><tr><td>returnIndex:</td><td>ListPane</td></tr><tr><td>reverse</td><td>Form, Form class</td></tr><tr><td>reverse:</td><td>CharacterScanner</td></tr><tr><td>reverseContents</td><td>Stream</td></tr><tr><td>reversed</td><td>IndexedCollection</td></tr><tr><td>reverseDo:</td><td>IndexedCollection</td></tr><tr><td>reverseLine:</td><td>Menu</td></tr><tr><td>right</td><td>CursorManager, Rectangle</td></tr><tr><td>rightArrow</td><td>CursorManager class</td></tr><tr><td>rightButton:</td><td>TerminalStream</td></tr><tr><td>rightIcons:</td><td>TopPane</td></tr><tr><td>rightPartAfter:</td><td>StringModel</td></tr><tr><td>rounded</td><td>Integer, Number, Point, Rectangle</td></tr><tr><td>roundTo:</td><td>Number</td></tr><tr><td>run</td><td>DemoClass, DispatchManager</td></tr><tr><td>runDemo</td><td>ScreenDispatcher</td></tr><tr><td>save</td><td>ScreenDispatcher, SystemDictionary</td></tr><tr><td>saveAs</td><td>DiskBrowser</td></tr><tr><td>saveExit</td><td>ScreenDispatcher</td></tr><tr><td>saveGraph</td><td>GraphPane</td></tr><tr><td>saveImage</td><td>ScreenDispatcher</td></tr><tr><td>scaleBy:</td><td>Rectangle</td></tr><tr><td>scaleTo:</td><td>Rectangle</td></tr><tr><td>scanForWordAt:</td><td>StringModel</td></tr><tr><td>scanner:</td><td>StringModel</td></tr><tr><td>scanZero:</td><td>Directory class</td></tr><tr><td>schedule</td><td>ProcessScheduler</td></tr><tr><td>schedule:</td><td>DispatchManager</td></tr><tr><td>scheduleWindow</td><td>Dispatcher</td></tr><tr><td>scroll</td><td>CursorManager class</td></tr><tr><td>scrollBarFini</td><td>SubPane</td></tr><tr><td>scrollBarIncludes:</td><td>SubPane</td></tr><tr><td>scrollBarInit</td><td>GraphPane, SubPane</td></tr><tr><td>scrollBarUpdate</td><td>SubPane</td></tr><tr><td>scrollDelay:</td><td>ScrollDispatcher</td></tr><tr><td>scrollDownAt:</td><td>ScrollDispatcher</td></tr></table>
Method Selector

scrollHand:to:
scrollLeft:
scrollTopCorner:
scrollUp:
scrollUpAt:
search
searchBack
searchBack:for:
searchBackOld
searchForActiveDispatcher
searchForActivePane
searchForLineToShow:
searchFrom:for:
searchInit
searchOld
seconds
seconds:
select
select:
selectAfter:
selectAll
selectAtCursor
selectAtEnd
selectBefore:
selectDirectory:
selectedString
selectFrom:to:
selectInstance:
selection
selection:
selectLineAtCurrentSelection
selectLines:height:
selector
selector:
selectorMenu
selectors
selectors:
selectTo:
selectToBit:
selectToCursor

Implementing Classes

ListPane, TextPane
ListPane, TextPane
ListPane, TextPane
ListPane, TextPane
ScrollDispatcher
Editor, TextPane
Editor, TextPane
StringModel
TextPane
DispatchManager
Dispatch, TopPane
ListPane
StringModel
TextPane
TextPane
Time
Time
Dispatcher, ListSelector, PointDispatcher,
ScreenDispatcher, TopDispatcher, TopPane
Collection, Dictionary, FixedSizeCollection
TextPane, TextSelection
TextPane
GraphPane, ListPane, TextPane
TextPane
TextPane, TextSelection
DiskBrowser
TextPane
TextPane
Inspector
ListPane, TextPane
GraphPane, ListPane
TextPane
TextPane
CompiledMethod, Message
ClassBrowser, ClassHierarchyBrowser, CompiledMethod,
Message
ClassBrowser, ClassHierarchyBrowser
Behavior, ClassBrowser, ClassHierarchyBrowser
Menu
TextPane, TextSelection
TextSelection
TextPane
<table><thead><tr><th>Method Selector</th><th>Implementing Classes</th></tr></thead><tbody><tr><td>selectToShifted</td><td>TextPane</td></tr><tr><td>selectWordAtCurrentSelection</td><td>TextPane</td></tr><tr><td>selfCopyToX:Y:</td><td>CharacterScanner</td></tr><tr><td>senders</td><td>ClassBrowser, ClassHierarchyBrowser, Debugger, MethodBrowser</td></tr><tr><td>sendersOf:</td><td>Behavior, SystemDictionary</td></tr><tr><td>sendFrame</td><td>Process</td></tr><tr><td>sendFrame:</td><td>Process</td></tr><tr><td>setBackground</td><td>Animation</td></tr><tr><td>setClass:</td><td>ClassReader</td></tr><tr><td>setCollection:</td><td>Stream</td></tr><tr><td>setDate:</td><td>File</td></tr><tr><td>setDispatchers</td><td>DispatchManager</td></tr><tr><td>setFont:</td><td>CharacterScanner</td></tr><tr><td>setbedColor:backColor:</td><td>CharacterScanner</td></tr><tr><td>setInstList</td><td>DictionaryInspector, Inspector</td></tr><tr><td>setLimits</td><td>FileStream, ReadStream, ReadWriteStream, WriteStream</td></tr><tr><td>setName: setDirectory:</td><td>File</td></tr><tr><td>setOffsetX:Y:</td><td>CursorManager</td></tr><tr><td>setPALETTEREGISTER:to:</td><td>Dos</td></tr><tr><td>setReg:to:</td><td>Dos</td></tr><tr><td>setRegHigh:to:</td><td>Dos</td></tr><tr><td>setRegLow:to:</td><td>Dos</td></tr><tr><td>setSysFont:</td><td>Font class</td></tr><tr><td>setToEnd</td><td>WriteStream, ReadWriteStream</td></tr><tr><td>setWidth:height:</td><td>DisplayScreen</td></tr><tr><td>shallowCopy</td><td>Behavior, Boolean, Character, Collection, Dictionary, Float, IndexedCollection, Integer, Object, Symbol, UndefinedObject</td></tr><tr><td>sharedPools</td><td>Class, MetaClass</td></tr><tr><td>sharedPools:</td><td>Class</td></tr><tr><td>sharedVariableString</td><td>Behavior</td></tr><tr><td>shiftRate:</td><td>Animation</td></tr><tr><td>show</td><td>Icon</td></tr><tr><td>show:</td><td>Stream, TextEditor</td></tr><tr><td>show:from:at:</td><td>CharacterScanner</td></tr><tr><td>showCurrentLine</td><td>Menu</td></tr><tr><td>showDirectory</td><td>DiskBrowser</td></tr><tr><td>showForm</td><td>GraphPane</td></tr><tr><td>showGap</td><td>SubPane, TextPane, TextSelection</td></tr><tr><td>showIcons</td><td>TopPane</td></tr></tbody></table>
Method Selector

showPartialFile

showSelection

showSelection/to:

showSelection/to:with:

showSelectionFrom/to:

showWindow

sign

signal

significand

sin

singleStep

sixteenLine

size

skip

skip:

skipTo:

solidEllipse:aspect:

sort:to:

sortBlock

sortBlock:

By:

sortByDate

sortByName

sortBySize

sortMenu

source

sourceCodeAt:

sourceForm

sourceForm:

sourceIndex

sourceIndex:sourcePosition:

sourceOrigin:

sourcePosition

sourceRect:

sourceString

sourceString:

sourceX

sourceX:

sourceY

sourceY:

Implementing Classes

DiskBrowser

ListPane, TextPane

TextSelection

TextSelection

TextPane

GraphPane, ListPane, TextPane

Number

Semaphore

Float

Float, Number

Debugger

Font class

Bag, File, FixedSizeCollection, IndexedCollection, Interval, Object, OrderedCollection, Set, Stream, String

Debugger

Stream

Stream

Pen

SortedCollection

Class class, SortedCollection

SortedCollection, SortedCollection class

DiskBrowser

DiskBrowser

DiskBrowser

DiskBrowser

DiskBrowser

CompiledMethod

Behavior

BitBlt

BitBlt

CompiledMethod

CompiledMethod

BitBlt

CompiledMethod

BitBlt

CompiledMethod

CompiledMethod

BitBlt

BitBlt

BitBlt

BitBlt
<table><thead><tr><th>Method Selector</th><th>Implementing Classes</th></tr></thead><tbody><tr><td>space</td><td>TextEditor, WriteStream</td></tr><tr><td>species</td><td>Interval, Object, Symbol, SymbolSet</td></tr><tr><td>speed:</td><td>Animation</td></tr><tr><td>speedSpace</td><td>ScreenDispatcher</td></tr><tr><td>spiral:angle:</td><td>Pen</td></tr><tr><td>splitPath:in:</td><td>File class</td></tr><tr><td>spread:from:by:spacing:direction:</td><td>Form</td></tr><tr><td>spreadFrom:</td><td>Form</td></tr><tr><td>to:</td><td></td></tr><tr><td>width:</td><td></td></tr><tr><td>startAt:</td><td></td></tr><tr><td>mask:</td><td></td></tr><tr><td>headSize:</td><td></td></tr><tr><td>sqrt</td><td>Float, Number</td></tr><tr><td>squared</td><td>Number</td></tr><tr><td>startPosition:endPosition:</td><td>OrderedCollection</td></tr><tr><td>startUp</td><td>SystemDictionary</td></tr><tr><td>status</td><td>Float class</td></tr><tr><td>stepInterrupt</td><td>Process class</td></tr><tr><td>storeOn:</td><td>Array, Association, Boolean, Character, Collection, Dictionary, FixedSizeCollection, Number, Object, String, Symbol, UndefinedObject</td></tr><tr><td>storeString</td><td>Object</td></tr><tr><td>strictlyPositive</td><td>Number</td></tr><tr><td>string</td><td>StringModel</td></tr><tr><td>string:</td><td>StringModel</td></tr><tr><td>stringCoordinate:</td><td>TextPane</td></tr><tr><td>stringHash</td><td>String</td></tr><tr><td>stringIn:</td><td>StringModel</td></tr><tr><td>stringWidth:</td><td>Font</td></tr><tr><td>structure</td><td>Behavior</td></tr><tr><td>structure:</td><td>Behavior</td></tr><tr><td>subclass:</td><td>Class, UndefinedObject</td></tr><tr><td>instanceVariableNames:</td><td></td></tr><tr><td>classVariableNames:</td><td></td></tr><tr><td>poolDictionaries:</td><td></td></tr><tr><td>subclasses</td><td>Behavior</td></tr><tr><td>subclasses:</td><td>Behavior</td></tr><tr><td>subclassOf:</td><td>MetaClass class</td></tr><tr><td>subdirectories</td><td>Directory</td></tr><tr><td>subtractDate:</td><td>Date</td></tr><tr><td>subtractDays:</td><td>Date</td></tr></tbody></table>
Method Selector

<table><tr><td>subtractTime:</td></tr><tr><td>superclass</td></tr><tr><td>superclass:</td></tr><tr><td>superpane:</td></tr><tr><td>suspendActive</td></tr><tr><td>symbol</td></tr><tr><td>symbolAt:</td></tr><tr><td>systemDispatcher</td></tr><tr><td>systemMenu</td></tr><tr><td>systemPrimFor:</td></tr><tr><td>tab</td></tr><tr><td>tabStringAt:</td></tr><tr><td>take:from:</td></tr><tr><td>tan</td></tr><tr><td>tell:bounce:</td></tr><tr><td>tell:direction:</td></tr><tr><td>tell:go:</td></tr><tr><td>tell:goto:</td></tr><tr><td>tell:place:</td></tr><tr><td>tell:turn:</td></tr><tr><td>tempAt: number:</td></tr><tr><td>tempAt: number: put:</td></tr><tr><td>tempCount</td></tr><tr><td>template</td></tr><tr><td>tempList</td></tr><tr><td>tempValue</td></tr><tr><td>text</td></tr><tr><td>textMenu</td></tr><tr><td>textMenuInit</td></tr><tr><td>textModified</td></tr><tr><td>textPane:</td></tr><tr><td>timerInterrupt</td></tr><tr><td>timesRepeat:</td></tr><tr><td>timesTwoPower:</td></tr><tr><td>to:</td></tr><tr><td>to:by:</td></tr><tr><td>to:by:do:</td></tr><tr><td>to:do:</td></tr><tr><td>today</td></tr><tr><td>top</td></tr><tr><td>topCorner</td></tr><tr><td>topCorner:</td></tr></table>

Implementing Classes

<table><tr><td>Time</td></tr><tr><td>Behavior</td></tr><tr><td>Behavior</td></tr><tr><td>Pane</td></tr><tr><td>ProcessScheduler</td></tr><tr><td>Behavior</td></tr><tr><td>SymbolSet</td></tr><tr><td>DispatchManager</td></tr><tr><td>ScreenDispatcher class</td></tr><tr><td>Compiler class</td></tr><tr><td>TextEditor, WriteStream</td></tr><tr><td>StringModel</td></tr><tr><td>Debugger</td></tr><tr><td>Float, Number</td></tr><tr><td>Animation</td></tr><tr><td>Animation</td></tr><tr><td>Animation</td></tr><tr><td>Animation</td></tr><tr><td>Animation</td></tr><tr><td>Process</td></tr><tr><td>Process</td></tr><tr><td>CompiledMethod</td></tr><tr><td>ClassHierarchyBrowser</td></tr><tr><td>Debugger</td></tr><tr><td>Debugger</td></tr><tr><td>ClassBrowser, ClassHierarchyBrowser, MethodBrowser</td></tr><tr><td>DiskBrowser</td></tr><tr><td>DiskBrowser</td></tr><tr><td>TopPane</td></tr><tr><td>StringModel</td></tr><tr><td>Process class</td></tr><tr><td>Integer</td></tr><tr><td>Float, Number</td></tr><tr><td>Number</td></tr><tr><td>Number</td></tr><tr><td>Number</td></tr><tr><td>Number</td></tr><tr><td>Date class</td></tr><tr><td>Rectangle, TextSelection</td></tr><tr><td>GraphPane, ListPane, TextPane</td></tr><tr><td>ListPane, StringModel, TextPane</td></tr></table>
Method Selector

Implementing Classes

<table><tr><td>topDispatcher</td><td>Dispatcher, DispatchManager</td></tr><tr><td>topPane</td><td>SubPane, TopPane</td></tr><tr><td>topPriority</td><td>ProcessScheduler</td></tr><tr><td>toshiba</td><td>DisplayScreen class</td></tr><tr><td>totalLength</td><td>GraphPane, ListPane, StringModel, TextPane</td></tr><tr><td>totalSeconds</td><td>Time class</td></tr><tr><td>transcriptMenu</td><td>TopDispatcher</td></tr><tr><td>transientWriteFini:</td><td>DispatchManager</td></tr><tr><td>transientWriteOn:</td><td>DispatchManager</td></tr><tr><td>translateBy:</td><td>Rectangle</td></tr><tr><td>transpose</td><td>Point</td></tr><tr><td>trimBlanks</td><td>String</td></tr><tr><td>truncate</td><td>ReadWriteStream</td></tr><tr><td>truncated</td><td>Float, Fraction, Integer, Point, Rectangle</td></tr><tr><td>truncateTo:</td><td>Number</td></tr><tr><td>turn:</td><td>Commander, Pen</td></tr><tr><td>type</td><td>InputEvent</td></tr><tr><td>type:</td><td>InputEvent</td></tr><tr><td>under</td><td>Form class</td></tr><tr><td>unusedMemory</td><td>SystemDictionary</td></tr><tr><td>unusedMemoryPrim</td><td>SystemDictionary</td></tr><tr><td>unzoom</td><td>Pane, TextPane class</td></tr><tr><td>up</td><td>Commander, CursorManager, Pen</td></tr><tr><td>upArrow</td><td>CursorManager class</td></tr><tr><td>update</td><td>ClassHierarchyBrowser, DiskBrowser, GraphPane, ListPane, SubPane, TextPane</td></tr><tr><td>update:</td><td>ClassHierarchyBrowser, Object, SubPane, TextPane, TopPane</td></tr><tr><td>update:with:</td><td>Object, SubPane</td></tr><tr><td>update:with:with:</td><td>Object, SubPane</td></tr><tr><td>updateBreaks</td><td>Debugger</td></tr><tr><td>updateLastByte</td><td>FileStream</td></tr><tr><td>updateSortPane</td><td>DiskBrowser</td></tr><tr><td>upTo:</td><td>Stream</td></tr><tr><td>userPrimFor:</td><td>Compiler class</td></tr><tr><td>userPriority</td><td>ProcessScheduler</td></tr><tr><td>validateClass:</td><td>Class</td></tr><tr><td>instanceVariableNames:</td><td></td></tr><tr><td>value</td><td>Association, Context, InputEvent</td></tr><tr><td>value:</td><td>Association, Character class, Context</td></tr><tr><td>value:value:</td><td>Context</td></tr><tr><td>values</td><td>Dictionary, IdentityDictionary</td></tr></table>
Method Selector

variableByteSubclass:
  classVariableNames:
  poolDictionaries:
variableSubclass:
  instanceVariableNames:
  classVariableNames:
  poolDictionaries:

VGA640x480

vmInterrupt:

volumeLabel

wait

walkback

walkback:

walkbackFor:label:

walkbackLabel:

walkbackMenu

walkbackOn:

walkLine

whileFalse:

whileTrue:

white

white:

width

width:

width:height:

width:height:initialByte:

width:height:initialColor:

wildcardChar

windowClip

windowClip:

windowFrame

windowLabeled:frame:

with:

with:do:

with:with:

with:with:with:

with:with:with:with:

withAllSubclasses

withBlank:

withCrs

workSpaceMenu

write:

Implementing Classes

Class

Class

DisplayScreen class

Object

Directory

Semaphore

Debugger

Debugger

Debugger

Debugger

Debugger

Process

DemoClass

Context

Context

BiColorForm class, DisplayMedium, Form class, Pen

DisplayMedium

BitBlt, DisplayObject, Font, Form, Icon, Rectangle

BitBlt, Rectangle

Form, Form class

ColorForm, Form

ColorForm

Pattern class

Pane class

Pane class

TopPane

TextEditor class

Collection class, FixedSizeCollection class

IndexedCollection

Collection class, FixedSizeCollection class

Collection class, FixedSizeCollection class

Collection class, FixedSizeCollection class

Behavior

Prompter

String

TopDispatcher

TerminalStream
Method Selector

writeBuffer:ofSize:atPosition:

writeFrom:toPage:for:

writeFrom:toPage:for:pagesize:

writeFrom:toPosition:for:

writeLimit

writePage

Wyse640x400

x

x:

xor:

y

y:

year

yield

yourself

zapBackup

zeroDivisor

zoom

|

≈ =

~~ =

Implementing Classes

File

FileHandle

FileHandle

FileHandle

WriteStream

FileStream

DisplayScreen class

Point

Point

False, True

Point

Point

Date

ProcessScheduler

Object

TopPane

Integer

TextEditor, TextPane, TopDispatcher, TopPane

False, True

Integer, Object

Object
<figure><img src="image_79.png" /></figure>
INDEX

abstract class, 79

abstract data types, 68

accept function, 139,277

access.usr file, 500-502

accessing,

files, 217

streams, 211,213

activating a window, 30,32,264

active process, 258-259,260

active window, 30,32,264

add breakpoint function, 307-308

add function, 304

add subclass function, 298,299

add: message, 95,225,229

addAll: message, 225

adding

breakpoints, 308

classes,

88,92-93,99,193-194,298-299

methods, 70,72,300,302-303

addSubPane: message, 141

allReferences message, 300

and rule, 125-126,128,247

and: message, 59,64-65,201

animal,

classes, 82-83,149-151

habitat, 99-102,141-154,164,166

hierarchy, 80-82

Animation, 136-138,146-154,254-255

application,

case study, 161-183

class, 230-237

model,

142,157-159,163-165,171-181,

231-232,233-237

states, 233

application development,

155-161,161-184

application development cycle,

155-160,161-184

describing object states of, 155,157

drawing window of,

155,156,163-164

identifying classes for, 155,157,165

implementing methods of,

155,159-160

listing object interfaces, 155,158

stating problem for,

155-156,162-163

application development tips,

164,172,174,175,178,179,181,183-184

arguments,

blocks as, 97,200,201,226

message, 7,8,46,47,48,68,195

method, 68,113,188-189

arguments of block, 61,188-189,199-200

arithmetic, 199,207-210

coprocessor, 48,210

floating point, 48,210

messages, 48,199,203,207

mixed mode, 207,208

point, 118,242

rational, 48,207,208-210

Array, 88,94,188,196,198,223,228

array, iterate, 62

array literals, 45,88,198,223,224

arrow key, 263

ASCII, 130,204,250,283,289

Aspect, 132-133,253-254,278

aspect ratio, 132-233,253-254,278

asSet message, 96

assignment expressions, 7,52,187

Association, 189,227

at: message, 88,94

at:put: message, 94,188,279

atEnd message, 60,212,213,215

automatic logging of changes,

282-283,284,285,299,300

available memory, 277

background color, 122,130,250

backing up Smalltalk/V, 284,285,286

backspace key, 39,41,271,273

Bag, 11,95,110,223,225,226-227

ball, 31

Bell, 280

BiColorForm,

120,122-123,124,244,247,248,255

binary expression, 199
binary message, 48-49,198-199,207

binary selector, 199

BitBlt, 121-129,241,243-249

creation, 248-249

defaults, 248-249

messages, 249

subclasses of, 130-138,230,251

BitEditor, 292

bitmap, 117,120,241,244

images, 250,289

bitmapped graphics, 117,241,245,289

black, 117,131

block, 51,58-65,97,195,199-200

arguments of, 61,188-189,199-200

as argument, 97,200,201,226

execution, 97,200

exit, 200

invoking, 189

sort, 230

blocked process, 258-259

Boolean, 79-80,201

expressions, 8,59,201

border, window 26,263

breakpoints, 115,307

adding, 308

removing, 308

browse classes function, 32,44,79

browse disk function, 32,43,293

browse function, 301

browsers, 43,164,178,268,293

browsing, 43-44

a class, 301-303

classes, 44,69,297-301

directories, 293,294-295

disk, 32,43,293-297

files, 295-296

lists, 43,231

methods, 300,302

Bs, 280

buffered files, 217

button, 26-27

close, 27,33,47,140,142,266

collapse, 27,267

hop, 115,307

jump, 115,307

resize, 27-28,32,33,267

skip, 115,307

zoom, 27,39,178,267

buttons, mouse, 25,263

byte instance variables, 188,193-194

BeanArray, 223,228

cancel function, 277

caret, 9,52,64,72,198,200

carriage return, 63

cascaded messages, 50,198,199

change log,

277,280,282-283,284,285,296,299,300

and saving the image, 282,286

compressing, 277,284,285

format of, 282-283,286,296

change: message,

159,178,233-234,235-236

changed: message, 149,236

changes, logging,

282-283,284,285,299,300

changing,

shape of pen, 131,252

system font, 298

the cursor, 144,291

Character, 196-197,204-205

character literals, 196,197,204

CharacterConstants, 278,280-281

CharacterScanner,

121,130-131,220,250-251,289

class, 13,67,69,75,189-194,278

abstract, 79

application, 230-237

changing definition, 179,299

definition,

69,89,99,193-194,296,299

hierarchy, 15-17,79-80,190-191,297

instances of, 13,67,187

messages, 192-193

methods, 89,194,298,300-301,302

names, 278

pane, 89

pool for, 189

protocol, 194
selecting, 298
variables, 75,189,192,193,299
inheritance of, 192
Class Browser window,
231-237,264,301-303
Class Hierarchy Browser,
32,35,44,69-70,72,79-80,171,193,293,
297-301
class message, 187
classes,
adding,
88,92-93,99,193-194,298-299
browsing, 44,69,297-301
defining, 14,81,172,193-194,299
filing out, 298
identifying application, 155,157
removing, 298,299-300
specifying, 193-194
classifying objects, 67
click, 264
double, 38,79,272,293,307
clipping rectangle, 129,245,247-248,250
cloning, 287
close button, 27,33,47,140,142,266
close message, 217
closing a window,
27,33,140,142,266,268
coprocessor, 48,210
code, recycling, 162,165-175
through borrowing existing code,
165-166,171-176
through inheritance, 165-170
collapse button, 27,267
collapsing a window, 27,267,268
collect: message, 64,96,226
collecting garbage,
9-10,17-18,287,299-300,499,502
Collection, 86,94-96,98-106,222-230
attributes of, 223
class hierarchy, 174
common protocol, 222,225-226
conversions, 224
creating instance of, 224
emulating messages, 226

fixed sized, 224,228-229
variable sized, 224,228,229-230
color, background, 122,130,250
color, foreground, 122,130,250
color of a pen, 131,132
ColorForm,
120,121-123,124,241,244,247,255
ColorScreen,
121,122-123,241,244,247,255
combination rule, 125-129,245,246,247
ComEvent, 165-170
comma, 49
command line, 500,505-508
command templates, 276
COMMAND.COM, 288-289
Commander, 135,254
comments, 53,174,197,276
comparing messages, 57,58,203,204,206
compatibleForm message, 255
compatibleMask message, 255
compilation errors, 40-41,276,300
compiling methods, 70,300,301
compressChanges message, 280,284
compressing,
the change log, 277,284,285
the source file, 280,284-285
compressSources message, 280,285
computing letter pair frequencies, 98
concatenation, 49
conditional execution, 8,58-59,201
conditional expressions, 57
configuring,
memory, 505-507
Smalltalk/V, 505-508
contents message, 92,212,213
continue function, 275
continuous scrolling, 38,270
control structures, 57-65,200-201
control-break, 111,305,306
converting files, 218
copy function, 295
copy text, 30,72,171,273-274
Cr, 218,281
cr message, 140,215
create function, 295
creating,
  cursor shape, 292
  directories, 218,295
  file streams, 217
  forms, 120,244-245
  instances, 89
  menus,
    143-144,175,233-234,236-237
  methods, 70,72,300,302-303
  objects, 70,192
  panes, 233-235
  points, 117,208,241-242
  processes, 256,258
  rectangles, 118,243
  streams, 91,212
CurrentEvent, 219,278
CurrentProcess, 278
Cursor, 278,291
cursor, 25,144,263,278,290-292
  arrow keys, 263
  changing, 144,291
  displaying, 291-292
  hiding, 291
  hot spot, 292
  hour glass, 144,290,291
  moving, 25,263
  shapes, 290-292
    creating, 292
    prebuilt, 291
CursorManager, 290-292
cut text, 30,273-274
cycle windows function, 30,265,268
cycling,
  panes, 265
  windows, 265,268
data abstraction, 14
data structures, 14,189,222
  recursive, 87
Date, 70-71,205-207
deactivating a window, 30,32,264
dead process, 258-259
debug function, 111,112,306

debugger window,
  36,111-115,293,304,306-308
  label bar, 115,306-307
debugging, 107-116,259,304-308
  adding breakpoints, 308
  removing breakpoints, 308
  restarting execution,
    113,114,307-308
  resuming execution,
    111,306,307-308
stepping through execution, 115,307
defining classes, 14,81,172,193-194,299
Del, 281
deleting text, 39,273
DemoClass, 74-75
demonstration program, 30-31,73-74
Dependents, 179
deselect text, 37,272
destination,
  bits, 246,247
  form, 121-123,129,245,247,248
  rectangle, 129,245,248
detect: message, 226
device driver interrupts, 261
Dictionary, 94-95,165,176-177,223,227
dictionary,
  pool, 167,189,193,227,280-281,299
  system, 189,277-281
dictionary inspector, 95,177,178,304
Directory, 216,217,218-219
directory,
  contents of, 296-297
  browsing, 293,294-295
  creating, 218,295
  selecting, 294
  Smalltalk, 11
disasters, 285-287
discrete event simulation, 257
Disk, 53,217,218,278
disk, free space, 294
Disk Browser, 32,34,43,44,293-297
  label bar, 294
disk devices, 218
DiskA, 218
DiskB, 218
Dispatcher,
129,221,230,231-232,236,237,238-239
classes, 231,238
DispatchManager, 141,239-240
Display, 121,244,250,252,255,278
displayable bitmapped shapes, 250
displaying,
forms, 120,168-170
strings, 250-251
the cursor, 291-292
DisplayMedium, 224
DisplayObject, 224
DisplayScreen,
120-121,123,241,244,255
do it, 30,40,276,295
do: message, 62-63,213
document retrieval system, 107
doesNotUnderstand: message,
114,181,285
doing, 276
DOS,
command processor, 288
exit command, 288
File System, 216-219
menu, 288
memory, 506
reserving space for, 288,500
shell, 288-289,500
dos shell function, 288
double click, 38,79,272,293,307
dragon, 135
drawing, 253
lines, 249
the window, 155,156
driver, mouse, 290
edit message, 301
editing,
files, 295-296
text, 271-274,276
eightLine message, 289
enableInterrupts: message, 260
encapsulation of code and data, 13-14,17
Encyclopedia of Classs, 178

environment, 18,21-44
equality, 57,87-88,228
equivalence, 87-88,228
erase rule, 125-126,247
error recovery, 285-287
errors,
compilation, 40-41,276,300
runtime, 6,41-42,304-308
Esc, 281
evaluating an expression, 40,275-277
evaluation order, 8,48,49,198,199,207
events, reading, 219-220
example.prm file, 503
executeCommands: message, 288
execution state, 115
exiting,
a block, 200
a menu, 29,265
Smalltalk/V, 24-25,67,275
expressions, 194,198-199
assignment, 7,52,187
binary, 199
boolean, 8,59,201
classes in, 189
conditional, 57
evaluation of, 40,275-277
keyword, 199
message, 194,198-199
nesting of, 59
return, 9,52,59,175
series of, 7,49-50,200
unary, 199
extend selection, 271
extended memory, 506
factorial message, 46,49
factorial method, 71
false, 57-60,63,201
far call, 503
Ff, 281
Fibonacci method, 72
Fibonacci number, 72
File, 216,217,219
file out function, 298
file streams, 109,216,217-218,219

accessing, 217

buffered, 217

converting, 218

creating, 217

iterating across, 62-63

FileHandle, 216,219,249

files,

browsing, 295-296

editing, 295-296

installing, 81-82

selecting, 295

FileStream, 91,216

filing out classes, 298

fixdptrs.usr file, 499

FixedSizeCollection, 223,228-229

Float, 196,207,210

floating point arithmetic, 48,210

flush message, 217

Font, 130,250,289-290

forget image function, 25,275,286

forgetting the image, 25,275,284,286

foreground color, 122,130,250

fork message, 256,257-258

forkAt: message, 256,257-258

creation, 120,244-245

device type, 244

displaying, 120,168-170

messages, 197-198

form,

destination,

121-123,129,245,247,248

mask, 124-125,245,247,248

source, 121-123,129,247-248

format a floppy disk, 288

formating of code, 50,51

fourteenLine message, 289

Fraction, 68,69-70,196,207-210

frame function 30,33,268

framing windows, 267,268

framingBlock: message, 233-234

framingRatio: message, 147-148,159

free space on disk, 294

function, 49

call, 46

definition, 68

name, 46

parameter 46

function keys, 220,221,278,281

FunctionKey, 220,221,278,281

FunctionPrefix, 281

garbage collection,

9-10,17-18,287,299-300,499,502

generalized iterators, 62-65

generic code, 79,85,96,204

global variables,

52-53,75,84-85,94,189,194,278,280

creating, 84-85,94

go file, 23,500

grab and pull, 270

graph panes, 147,268

graphic classes, 117-138,241-256

graphical program, 53-54

graphics, 103-138,241

graphics controllers supported, 2,22-23

GraphPane, 164,231,238

halftone form, 124-125,245,247,248

halt message, 111,303,304

hard disk, 21-23

hide/show function,

79-80,82,283,295,298

hiding a menu, 29,265

hiding the cursor, 291

hop button, 115,307

hot spot, 292

hourglass cursor, 144,290,291

I-beam, 25,37,39,271

identifier, 195

IdentityDictionary, 223,228

if statements, 8,58-59

if messages, 58-59,72,201

image, 274-275,283,286

file, 18,274,275,282-287

forgetting, 25,275,284,286

saving,

18,25,67,274-275,283-284,286,287
Image diskette, 2,21-22

implementors function, 301,302,307-308

implementors window, 308-309

implementorsOf: message, 280

includes: message, 95,225

includesKey: message, 94

indexed instance variables,
71,76,140,188,193-194,303

IndexedCollection, 87,223,228

indexOfCollection: method, 86,88

indexOfString: method, 72-73,86

information hiding, 13-14,68

inheritance, 17,79-90,165-170,190,192
  of class variables, 192
  of instance variables, 81-82,192
  of methods, 83-84,192

inject: message, 226

InputEvent, 219-220

inserting text, 39,271-272

insertion point, 25,37,39,271

inspect function, 177,304,307

inspect message, 75-76,178,303

inspecting dictionaries, 95,177,178,304

Inspector,

35,75-76,95,113,178,293,303-304

install function, 286-287,296

installation program, 23

installing,

a file, 81-82

methods, 286-287,296,300,301

Smalltalk/V, 21-23

instance, 13,67,187

instance pane, 89,99

instance methods, 194,300,301-302

instance variables,

13,67,68,71,81-82,157,187,188,192,
193,299,303

byte, 188,193-194

indexed,

71,76,140,188,193-194,303

inheritance of, 81-82,192

named, 71,76,188,193-194,303

pointer, 188,193-194

instances, creating, 188

instances, lost, 179

instances, removing, 179,300

Integer, 196,207,210

interrupt service routines, 502-503

interrupts, 260-261

device driver, 261

predefined events, 261

Interrupt Selectors, 261

Interval, 208,223,228,229

interval creation, 208

invoking user primitives, 504

, 214,215,225

iteration, 9,61-65,200,201

iterative statements, 9,61-65

iterators, generalized, 62-65

itertools, simple, 61

jump button, 115,307

keyboard,

input, 219,230,238

scan codes, 220

using the, 26,29,37-39,263

KeyboardSemaphore, 219,259,279

keypad, 25,27,28,29,263-264

keys message, 280

keyword expression, 199

keyword messages, 47,49,198-199

label bar,

26-28,32,33,39,40,47,115,238,263,264,
266-267,294,307

label bar, Disk Browser, 294

label function, 268

label: message, 233-234

LabelFont, 289

LargeNegativeInteger, 210
precision of, 210

LargePositiveInteger, 210
precision of, 210

letter pair frequencies, 98

Lf, 218,281

line delimiters, 217-218

line drawing, 249

line feed, 63

list panes, 112,147,268,294

ListFont, 289
ListPane, 164,178,231,238
lists,
  browsing, 43,231
  scrolling, 38-39,43,269-270
literals, 194,196-198,204
  arrays, 45,88,198,223,224
  characters, 196,197,204
  numbers, 196,207-210
  strings, 41,45,196,224
  symbols, 197-198,224
loadPrimitivesFrom: message, 500
loading primitives, 500
logging of changes,
  282-283,284,285,299,300
Logitech mouse, 290
looping messages, 50-51,60,201
lost instances, 179
macros, 500-502
Magnitude, 15,85,203-204
Magnitude class hierarchy, 203
magnitude classes, 15,203-210
maintaining Smalltalk/V, 281-287
mandala method, 132
mask bits, 246
mask form, 124-125,245,247,248
max: message, 85
memory,
  available, 277
  configuring, 505-507
  DOS, 506
  extended, 506
menu: message, 143,159,233-234
menus,
  28-31,143-144,164,175,236-237,
  265-266
  creating,
    143-144,175,233-234,236-237
  designing, 156,164
  DOS, 288
  exiting, 29,265
  hiding, 29,265
  modifying, 74
pane,
  28,29,30,143-144,159,236-237,266

pop-up, 26,29,265-266
selecting from, 24,29,265
system,
  24,29,30,32,34,43-44,74,265
window, 27,29,30,238,265-266,277
message, 13,45-55,194-195,198-201
  arguments, 7,8,46,47,48,68,195
  expressions, 194,198-199
lookup, 83,192
names, 8
pattern, 200
protocol, 85,189
result, 52,195
selector, 13,46,47,48,195,305
send, 115
separator, 50
messages, 13,45-55,194-195,198-201
  arithmetic, 48,199,203,207
  binary, 48-49,198-199,207
  cascaded, 50,198,199
  class, 192-193
  evaluation order, 8,48,198,199,207
  keyword, 47,49,198-199
looping, 50,51,60,201
  messages inside of, 49
  ordering, 57,58,203,204-207
  sending, 7,13,195
  simple, 46
  unary, 47,49,198-199
metaclass, 192-193
metalanguage definition, 195,491
Method Browser,
  280,293,300,301,308-309
Method Index, 178
method, 13,68-74,194-201
  arguments, 68,113,188-189
  implementation, 155,159-160
  inheritance, 83-84,192
  lookup, 83,192
  name, 68,195
  primitive, 200,495-504
  result, 9,52,59,72
  selector, 200
  source code, 69
specification, 200
template, 89,300
temporaries, 172,188,195
walkback, 112,113,305-306,307
methods, 13,68-74,189,194-201
adding, 70,72,300,302-303
browsing, 300,302
class, 89,194,298,300,301-302
compiling, 70,300,301
generic, 79,85,96,204
installing, 286-287,296,300,301
instance, 194,300,301-302
interim versions of, 175
modifying, 301,302-303
reinstalling, 282,284,286
removing, 300,302
selecting, 300,302
Microsoft mouse, 290
mixed mode arithmetic, 207,208
mode function, 295
model class,
142,157-159,163-165,171-181,231-232,
233-237

model,
pane, 142,159
state transition, 161-162
super, 140
model: message, 142,159,233-234

modifying methods, 301,302-303

MonitoredArray, 88-90

mouse,
buttons, 25,263
driver, 290
input, 219,230,238
using 2,24,25,29,37-39,272

MouseButton, 281

MouseEvent, 220,221

moving a window, 33,267

moving the cursor, 25,263

multi-pane windows,
145-154,171-176,178-181

multi-windowed application, 240

multiprocessing classes, 256-261

name: message, 142,159,178,233-234

named instance variable,
71,76,188,193-194,303

names,
class, 278
message, 8
method, 68,195
path, 216
user-primitive, 503
variable, 7,187,194,195
nested data structures, 88
nested expressions, 59
Network, 102-106,134,164,165,166
NetworkNodes,
102,104-106,133-134,164,166-170

new message, 192,224

new method function,
70,72,89,168,171,300
new: message, 188,192,224,228

next message, 60,212,213,215

next: message, 214

next:put: message, 215

nextPut: message,
60,92,212,213,215,221
nextPutAll: message, 92,213,218

nib, 252

nil, 70,138

nodes, network,
102,104-106,133-134,166

NoMouseCursor, 290

Number, 207-210,229

number radix, 196

numbers, 196,207-210

numeric,
classes, 196,207-210
functions, 209-210
keypad, 25,27,28,263-264
messages, 207-210
precision, 210

numerical methods, 207-210

Object, 15,79-80,83,190-191,236,297
object,

checking class of, 499

creation, 70,192

displaying, 71
header, 499
interface list construction, 155,158
pointers, 188-189,195,210,499
state, 51,155,157,188
state description, 155,157
object.usr file, 499
object-oriented development, 155-161
objects,
    13,14,45-46,51,187-189,274,287
classifying, 67
occurrencesOf: message, 225
on: message, 91,212
opaque rule, 127-128
opening a window, 32,266
operator precedence, 48,49,198,199,207
or: message, 59,201
or rule, 125-126,128,246,247
order of evaluation, 8,48,49,198,199,207
OrderedCollection, 223,229
ordering messages, 57,58,203,204-207
orThru rule, 125-127,247
over rule, 125-127,247
pane,
    26,28,140-143,145-148,230-237,238
changing contents of, 235-236,240
class hierarchy, 230,231,238
clean up, 149
creation, 233-235
cycling, 265
initialization, 142,235
menu,
    28,29,30,143-144,159,236-237,266
creating, 143,236-237
model, 142,159
position, 147-148,159
reinitialization, 149
size, 147-148,159
synchronization, 179,231,235-236
panes,
    263,268-270
defining new, 231
graph, 147,268
list, 112,147,268,294
text, 147,268,275,294
parallel processing, 256

parentheses, 8,48,57,199
Pascal, 6-11
pasting text, 30,39,72,171,273-274
path names, 216
path name messages, 216
Pattern, 97
pattern matching, 72-73,86,97
PC mouse, 290
peek message, 214-215
peekFor: message, 214-215
Pen,
    70-71,121,131-134,135-136,251-254
changing shape, 131,252
color of, 131,252
creation of, 70-71,252
drawing with, 253
messages, 252-253
PendingEvents, 259
period separator, 50,198
Point, 117-118,208,241-242
arithmetic, 118,242
comparing, 118
creation, 117,208,241-242
messages, 241-242
pointer instance variables, 188,193-194
pointers, object, 188-189,195,210,499
polygon flower, 53-54,73-74
polymorphism, 15,85-88
pool dictionaries,
    167,189,193,277,280-281,299
pool variables, 189
pop up menu, 26,29,265-266
position message, 92,213,215
position: message, 92,213
prebuilt cursor shapes, 291
precedence, operator, 8,48,198,199,207
precision, numeric, 210
primitive number, 200,495
primitive number assignments, 495-498
primitive methods, 200,495-504
accessing objects within, 499
invoking, 504
loading, 500
macros for writing, 500-502
names, 503
reserving space for, 500
Smalltalk/V 286,495-498
user-defined, 499-504
primitive modules,
  constructing, 503-504
primitive: message, 495
PrinterStream, 92-94
print function, 295
printOn: message, 216
printOn: method, 216
printString message, 15,211
printString method, 211-212
priority of processes, 256,258,260
private variables, 187,195
problem statement, 155-156,162
Process, 183,256,257,258,260
process priority, 256,258,260
process state transitions, 258-259
process,
  active, 258-259,260
  blocked, 258-259
  created, 256,258
  dead, 258-259
  forking, 256,258
  ready, 258-259,260
  signal, 257-258,259
  user interface, 259
  wait, 257-258
processing, parallel, 256
processFunctionKey: method, 221
Processor, 259,279
ProcessScheduler, 257,259-260
Prolog, 183
Prompter,
  11,42,74,139,239,276-277,299
prompting for input, 239
protocol, class 194
protocol, message 85,189
purging unused symbols, 287
queue operations, 229
Quick Tour-windows and menus, 33-36
radix, 196
random access, 216

rational arithmetic, 48,207,208-210
rational numbers, 210
read it function, 117,296
reading,
  events, 219-220
  streams, 213-215
reading streams, 213-215
ReadStream, 91-92,212-215
ReadWriteStream, 91,216,220
ready process, 258-259,260
recovery from crash, 281,285-287
Rectangle,
  117,118-119,216,241,242-243
  messages, 216,243
rectangle,
  destination, 129,245,248
  source, 121,129,245,247
rectangles, creation of, 118,243
recursion, 71-72,103-104
recursive data structures, 71,87-88
recycling code, 165-175
  through borrowing existing code,
  165-166,171-176
  through inheritance, 165-170
redraw screen function, 50,117
reinitialize message, 179
reinstalling methods, 282,284,286
reject: message, 63,64-65,96,226
relational operators, 58
remove breakpoint function, 307,308
remove class function, 298,299
remove function, 294,295,300,304
remove: message, 225
removeAll: message, 225
removing,
  breakpoints, 308
  classes, 299-300
  instances, 300
  methods, 300,302
removeKey: message, 280
rename function, 295
replacing text, 273
requesting input, 277
reserving space, 500
reset message, 213
resize button, 27-28,32,33,267
resizing a window,
15,27-28,30,33,267,268
restart cpu, 507-508
restart execution, 113,114,307-308
restore function, 273,304
restoring text, 273
resume execution, 111,306,307-308
return expressions, 9,52,59,175
return key, 21-22,42,139,271,277
reusing code, 162,165-170
reusing text, 37,43,276
reverse rule, 125-126,128-129,247
run demo function, 30-31
runtime errors, 6,41-42,304-308
SalesCom, 162-183
sample.sml file, 276
save function,
70,76,89,113,172,177,304,307
save as function, 296
save image function, 275
saving text, 273
saving the image,
18,25,67,274-275,283-284,286,287
scan codes, 220
scanning input, 211
Scheduler, 141,239,279
scheduling windows, 141,239
screen, 244,264
screen aspect ratio,
132-133,253-254,278
ScreenDispatcher, 288
scroll bar, 28,38,269,270
scroll cursor, 28,38,269,270
scrolling lists, 38-39,43,269-270
scrolling,
continuous, 38,270
grab and pull, 270
horizontal, 38,269
pause, 270
quick jump, 269,270

resume, 270
speed of, 264,270
terminate, 270
vertical, 38,269
with keyboard, 38,269-270
with mouse, 269,270
select: message, 63,64,96,226
select: method, 96
select key, 263,264,265,271
selecting,
a class, 298
a directory, 294
a file, 295
a menu item, 24,29,265
a window, 264
from a list, 43
large pieces of text, 39
methods, 300,302
selecting text, 37-38,271-273
draw through, 272
single characters, 272
single lines, 38,273
single words, 38,272
using the keyboard, 37-38,271-272
using the mouse, 37,272
selector,
message, 13,46,47,48,195,305
method, 200
self, 70,84,187,192,260,303,305,307
Semaphore, 183,219,256,257-258
semi-colon separator, 50,199
send, message, 115
senders function, 300,302,307-309
senders window, 308-309
sendersOf: message, 280
sending messages, 7,13,195
separator,
message, 50
period, 50
semi-colon, 50
series of expressions, 7,49-50,200
series of statements, 7,49-50
Set, 96,222,223,227
setLoc message, 281
shared variables,
  75,187,188,189,193,195
shell, DOS, 288-289
shift key, 263
show it function,
  30,40,46,53,139,276,295
showing, 276
shutdown, hardware 507-508
shutdown, software, 507-508
signal message, 257,260
signalling a process, 257-258,259
simple,
  iterators, 61
  loops, 50-51,60
  messages, 47
  objects, 45-46
simulation, discrete event, 257
single pane window, 140,141-145
size message, 188,228
skip button, 115,307
skip: message, 213,215
skipTo: message, 214-215
SmallInteger, 210,228
  range of, 210
Smalltalk, 189,277,278,279,500
  directory, 11
  expressions, 194,198-199
  methodology, 188
  vs conventional languages, 6-11
Smalltalk/V,
  backing up, 284,285,286
  configuring, 505-508
  exiting, 24-25,67,275
  installing, 21-23
  maintaining, 281-287
  starting up, 23-24
  syntax summary, 491-494
smaltalk.bat, 288
sort blocks, 230
SortedCollection, 17,98,223,230
sorting, 230
source bits, 246,247
Source diskette, 2,21-22

source file, 18,280,282,284-285
  compressing, 280,284-285
source form, 121-123,129,247-248
source rectangle, 121,129,245,247
Sources, 279
Space, 281
space/speed function, 508
space message, 215
space mode, 508
specifying classes, 193-194
speed/space function, 508
speed mode, 508
stack operations, 229
starting up Smalltalk/V, 23-24
state,
  execution, 115
  object, 51,155,157,158
state transition model, 161-162
statement separator, 7
statements,
  assignment, 7,52,53
  if, 8,58-59
  iterative, 9,61-65
  series of, 7,49-50
states, application, 233
stating the problem, 155-156
Stream, 91-94,212-216
  class hierarchy, 91,211
  protocol, 213-216
streams, 91-94,212-216
  accessing, 211,213
  creating, 91,212
  growing, 211
  positioning, 92,211,213-215
  random access, 211
  reading, 213-215
  testing for end of, 213
  writing, 215-216
String,
  72,94,196,211-212,222,223,224,228
string literals, 41,45,196,224
StringModel, 231
strings, displaying, 250-251
strings, iterate, 62
subclass, 17,79-81,88,190-193
subclass class type, 92,193-194
SubPane, 231,238
subscripted variable access, 8
super, 84,192
super model, 240
superclass,
  79-80,81,83,84,86,88,190-193,299,305
Symbol, 196,197-198,223,224,228,287
symbols, 197-198,224
symbols, unused, 287
syntax summary, Smalltalk, 491-494
SysFont, 279,289
system dictionary, 189,277-281
system menu, 24,29,30,32,34,43-44,265
SystemDictionary, 277,281,500
System Transcript,
  34,53,84,94,179,216,264,279
Tab, 281
tab key, 271
tab message, 215
template, method, 89,300
temporary variables,
  51-52,113,172,188,195,200
Terminal, 220,279
terminal input and output, 219-222
TerminalStream, 91,219-221,264
testing messages,
  58,203,204-205,208-209
text,
  copying, 30,72,171,273-274
cutting, 30,273-274
deleting, 39,273
deselecting, 37,272
edit buffer, 273-274
editing, 271-274,276
editor, 69,76,271-274,277
inserting, 39,271-272
pasting, 30,39,72,171,273-274
replacing, 273
restoring, 273
reusing, 37,43,276
saving, 273
selecting, 37,38,271-273

text insertion point, 25,37,39,271
text pane zoom, 27,39-40,178,267
text panes, 147,268,275,294
TextEditor, 140
TextFont, 289
TextPane, 140,164,177,178,231,238
Time, 70-71,205-207
timesRepeat: message, 60
tips, application development,
  164,172,174,175,178,179,181,183-184
to dos function, 288
TopDispatcher, 238,239
TopPane, 141,231,238
Transcript,
  34,53,84,94,179,216,264,279
true, 57-60,63,201
Turtle, 50-51,53,55,60
turtle graphics, 131,251-253
tutorial files, 44
unary expression, 199
unary message, 47,49,198-199
UndefinedObject, 70
under rule, 125-126,247
unused symbols, 287
unusedMemory method, 280
update function, 82,93,108,294,298
UpperToLower, 281
upTo: message, 214-215,218
user-defined primitives,
  user interface process, 259
  and debugging, 259
value messages, 97,188-189,200,201
variable names, 7,187,194,195
variableByteSubclass class type, 193-194
variableSubclass class type, 89,193-194
variable types, 187-188
variables, 15,187-189,195
class, 75,189,192,193,299
global,
  52-53,75,84-85,94,189,194,278,
  280
indexed instance,
  71,76,140,188,193-194,303
instance,
13,67,68,71,81,82,157,187,188,
192,193,299,303
kinds of, 187-188
named instance,
71,76,188,193-194,303
pool, 189
private, 187,195
self,
70,84,187,192,260,303,305,307
shared, 75,187,188,189,193,195
super, 84,192
temporary,
51-52,113,172,188,195,200
video adapters supported, 22-23
wait message, 257,259
walkback list, 112,113,305-306
walkback window,
36,41-42,46-48,51,83,110-112,173,179,
293,304-306
walkback, method, 112,113,305-306,307
while messages, 9,60,73,201
white, 117,131
window,
26-28,230-240
border, 26,263
button, 26-27
classes, 230-240
default size, 146,148
label bar,
26-28,32,33,39,40,47,115,238,
263,264,266-267,294,307
menu, 27,29,30,238,265-266,277
size, 146,148
windows,
26-28,139-154
activating, 30,32,264
active, 30,32,264
closing of, 27,33,140,142,266,268
collapsing, 27,267,268
cycling of, 265,268
deactivating, 30,32,264
debugger,
36,112-115,293,304,306-308
drawing, 155,156
framing, 267,268

labeling, 268
moving, 33,267
multi-pane,
145-154,171-176,178-181
multiple in application, 240
opening, 32,266
resizing, 15,27-28,30,33,267,268
scheduling, 141,239
selecting, 264
single-pane, 140,141-145
walkback,
36,41-42,46-48,51,83,110-112,
173,179,293,304
WordIndex, 107-110
Workspace, 263,266
WriteStream, 91-93,211-213,215
writing streams, 215-216
zoom button, 27,39,178,267
zooming of text pane, 27,39-40,178,267