### <== Previous | Contents | Next ==>

## The Programming Environment (cont.)

### Class Browsers

A Class Browser for HTMLView (spawn)

Once again, note the outline format of the class. The idea is to give the more of the feel of a direct-manipulation environment, where each class has its own browser, and its methods and other attributes appear in context. If you click on the first button, next to "Subclass of ...", you can see the class header.

Note that the superclass is View[URL], which looks a bit different than the syntax for a normal Smalltalk class name. To the type system, View is a generic class, and needs to be parameterized by the type of the model; in this case that is a URL. The clause in brackets is invisible to the VM, so you can ignore all this and refer to the superclass in the untyped way if you want. But if you use the typed version, not only can you typecheck your class, but it is a lot easier to read, as well: anyone looking at it can see exactly what kind of model we are dealing with. To see the superclass chain for HTMLView, press the button on the toolbar. This opens a hierarchy browser, which is just filtering on HTMLView, so we see its superclass chain in a convenient form.

Other important buttons on the class browser toolbar are:

- : Open a browser on the superclass.
- : Open a browser on the subclass hierarchy (Although followed by is probably more useful, as it shows the subclasses and superclasses at the same time).
- : Expand the public interface.
- : Expand the entire interface, including private methods (which are just methods in categories whose name contains the string 'private').

Make sure you have spawned a class browser on HTMLView, and then proceed to the next page.

### Programming Environment, cont. ==>