In any event, the stating point is the main window of the Interface Builder , which carries representatives of all the windows, panels, and object definitions accessible to the program under construction. In Figure 3 we find an image of this main window, which will always be present during interface construction. Even subprograms get the same attention that a main program would, although naturally the meaning of ``File's Owner'' and a few other details would be different.
The .nib window normally sits inconspicuously at the lower left hand corner of the screen, out of the way of any panels or windows being constructed, which are always built full size. Sizing bars and header bars are available everywhere - on the .nib window as well as the on the items under construction - so that things can be made at one size and position, to be rescaled and relocated before closing the final on their final version.
Beginning with the .nib window as an index, let us examine the contents of the REC-R interface, an inspection which reveals six objects. Two of them, ``File's Owner'' and ``First Responder,'' are standard components of all constructions of the Interface Builder , while the other four comprise the material specific to REC-R.
Locating ``File's Owner'' is important for implementing delegated methods such as ``appDidInit'' from the level of the operating system, and for communicating with the main program at the level of subprograms. ``First Responder'' is less used but is handy for things like communicating with editors.
A user of REC-R will deal mostly with three windows, the main window and the two graphics display windows. The main window, labelled ``execute'' in Figure 3, comes with two alternative forms, which are kept in the panel ``Holding REC.'' The difference between them is that the browser panel can be exchanged for a text panel, into which programs can be read from disk storage, or composed on the spot. Traffic goes both ways, because the contents of the window can be transferred to the disk, either as a new file or as a correction to the existing file. The text handling variant is shown in Figure 4. The button at the bottom of the main panel, displaying either the title ``use external source,'' to load the text insert, or ``load internal source'' to load the browser insert, governs the transition between the two forms.
The window shown in Figure 4 is not the one to be encountered as ``execure'' while using the Interface Builder . The latter differs by having an empty box into which appropriate Views may be copied, which is a way of reducing congestion on a decidedly finite screen. The alternatives are kept in ``REC Holding'' which will never be shown to the user.
To eliminate the bother of opening disk files, it may be worthwhile to insert some REC programs in the source code for SERO, or preferably in REC-R itself, and recompile it. The result would be a local, nonstandard version of SERO, but could be amply justified for a potential or programming environment which was in extensive use. Another use of the browser option is to see the entire list of REC operators and predicates without having to go to the source code, or view then one by one on through the information buttons on the main panel.
The reason for having two graphics windows is mainly historical, since SERO itself has two different windows. In SERO, each has its own assortment of control buttons. The display of the solution as a function of the variable is long and rectangular because the solution may be of limited height but cover a long interval. The phase plane, on the other hand, wants to be mostly square.because of the similarity of the two components which it displays.
In REC-R, the phase window carries the optional resizing bar, so that it alone would probably suffice.