10.6. Every Menu Item in the Programming Environment

This table only covers the middle-button menus, the right-button (morph) menu is described elsewhere. It merges items from several menus: the background menu, the outliner whole-object menu, the outliner category menu, the outliner slot menu, the text editor menu, the debugger stack menu, the iterator object menus, and the changed module morph menu.

Table 10.1 Menu Items

Label

Function

Add Category

Adds a category to an object or category.

Add Slot

Adds a slot to an object or category.

Added or Changed Slots

On a module morph, enumerates slots added/changed since last save.

All Modules

Summons a hierarchical list of all modules from the changed modules morph.

All Slots

On a module morph, enumerates its slots.

Changed Modules

Summons a list of changed modules.

Children

Enumerate an object’s children.

Clean Up

Clean up the screen: collapse outliners and stack them on the left of the window.

Clean Up Memory

Manually initiate a garbage collection. Can help when you know you have just freed up a bunch of space. Self also does this automatically.

Collapse All

Collapses all outliners, or all categories within an outliner or category.

Copy Down Children

Enumerate an object’s copy-down children.

Copy Down Parent

Show an object’s copy-down parent.

Copy

Copies slots, categories or text.

Core Sampler

Summons an object for manipulating morphs.

Create Button

For a slot, create a button to send the message to the object. The receiver may be set by carrying the button on top of the receiver and using the middle-button on the button. (The button is grabbed with either the car-pet-morph or with the grab right-menu item. Bug: buttons do not mani-fest their results.)

Cut

Copies text to the text buffer.

Do Selection

Evaluate the selected text, do not show the result.

Do it

Evaluate the text in the editor, do not show the result.

Edit

On a slot, open an editor to change its name, slot type, or contents.

Evaluator

Adds an evaluator window to an object outliner.

Expand All

Expand all subcategories.

Expatriate Slots

On the changed module morph; shows a list of slots not included in any module.

(Don’t) Filter Frames

On a debugger stack, enable (or disable) filtering.

Find Slot

Searches an object and its ancestors for slot names matching a pattern.

Find Slot of :

For an assignable slot x, show all slots named x: in the object and its ancestors.

Flush

Discards cached state, e.g. the result of an enumeration.

Forget I was changed

On a module morph, removes it from the list of changed modules and clears out its record of added, changed & removed slots.

Get Module Object

On a module morph summons the object outliner for the module. Useful for editing its postFileIn method, or its revision.

Get Selection

Evaluate the selected text & show the result.

Get it

Evaluate the text in the editor, show the result.

Hide Annotation

Hides the object or slot annotation.

Hide Comment

Hides the object or slot comment.

Implementors

Searches for slots of a given name.

Implementors of :

For an assignable slot x, show all implementors of x:.

Load Morph From File

Reads in a file created with the right-menu item “Save Morph to File”

Make Creator

On a slot, set the creator annotation of its contents to be the slot.

Make Private

Change the style of the slot to show that it is intended to be private (not enforced).

Make Public

Change the style of the slot to show that it is intended to be public (not enforced). Adds a comment for posterity.

Make Undeclared

Change the style of the slot to show that no clear intention exists as to its visibility. (A Self exclusive!)

Methods Containing

Searches for all methods containing a string.

Move

Moves slots or categories.

New Shell

Summon a new shell object.

Open Factory Win-dow

Open a new window containing handy morphs (such as a radar-view) you can tear-off and drag to other Self windows.

Palette

Summons an object for obtaining morphs for building.

Paste

Pastes text from the buffer.

Quit

Leave job and ride boxcars.

Radar View

Summons an object for moving the current viewport around in space.

Read Module

On a module morph, rereads the source file.

References

Enumerate references to an object.

Removed Slots

On a module morph, lists removed slot paths.

Restore Window State

Restores the saved state of the screen.

Save snapshot

Saves an image of all objects in a snapshot file. Overwrites the snapshot file that was opened originally. Saves the previous version with a “.old” suffix.

Save snapshot as …

Lets you set the file name and other parameters of the saved snapshot. For example, if you have a lot of memory, you can increase the code cache size.

Save Window State

Saves the state of the screen.

Send

For a method in a concrete object, send the message to the object.

Senders

Searches for methods sending a given message.

Senders of :

For an assignable slot x, show all senders of x:, i.e. methods that might assign to x.

Senders in family

Searches for methods sending a given message in the selected object, its ancestors, and it descendants.

Senders of : in family

For an assignable slot x, show all senders of x:, i.e. methods that might assign to x in the selected object, its ancestors, and it descendants.

Set Module

Sets the module of a slot or group of slots.

Shell

Summons an outliner on the shell. Used for evaluating expressions.

Show All Frame

On a debugger stack, disable filtering.

Show Annotation

Shows the object or slot annotation.

Show Comment

Shows the object or slot comment.

Show Morph

For morph object outliners, summons the morph that the object imple-ments.

“Subclass” Me

Appears on the object menu. Automates several steps equivalent to sub-classing in Smalltalk: Creates a copy-down child of the selected object and makes a new parent object for the new child that inherits from the selected object’s parents. It also sets some of the annotations for transport.

The box at the top.

Pins up the menu.

Toggle Spy

Toggles an X Window spying on the Virtual Machine. A nice source of reassurance.

Traits Family

Show an inheritance hierarchy textually. Only works on certain objects on alternate Thursdays.

Write Snapshot

Saves all the objects in the Self world to a (fairly large) file.