The Undiscoverable/Squeak/Object Viewer

Object Viewers in Squeak and Etoys all have a very similar structure, with differences in detail depending on the particular properties of the object. An object viewer for a Workspace (a window for editing and executing text) might look like this image.



The viewer has a tab on it at the top right. If the user opens more than one viewer, the ones not in use are minimized to an icon of the tab so that any of them can be opened with one mouse click.

The toolbar at the top contains a circle icon for removing the viewer. This usage conflicts with that on regular windows, where the X icon is at the top left and is used for removing the window, and the O icon is at the top right, for minimizing it.

There are four other items on the toolbar.


 * A button for adding another section to the viewer panel below, for viewing another of the objects menus.


 * A menu of object and viewer options.


 * A button for adding a variable which will be internal to the object.


 * The name of the object. Click to rename it.

Below the toolbar may appear a search box. This is optional. It can be closed, and it can be reopened from the menu.

The rest of the viewer consists of panes with menus on top and elements of the object definition following. There are three kinds of elements.


 * Scripts that can be executed. Dragging one out onto the desktop allows the user to edit it.


 * Variables with their values.


 * Conditional tiles that can be used in programming (Etoys).

Programming with a viewer
TBD