Bowser Pro

Bowser Pro is a class and source code browser designed exclusively for use with Magic Cap. Bowser Pro borrows technology from ObjectMaker to parse a set of class definition and C source files and presents a browsing window of the classes, methods and fields defined there.

Bowser Pro has a preprocessing phase during which it reads in and parses the definitions for a group of classes and saves them in a browsing document. Most of the time you'll use Bowser Pro to browse the classes in your package together with Magic Cap's class definitions. To do that you'll develop a browsing documents for the Magic Cap classes and for your packages classes. The next section describes the mechanics of creating a browsing document.

How to Use Bowser Pro

Here are five steps for using Bowser Pro.

  1. Start the Bowser Pro application.
  2. Select the folder containing the source code you want to browse. In the example below, the folder "GM" is about to be selected.

  3. Wait. Parsing Magic Cap classes may take several minutes.
  4. Save the resulting document. This is another area where patience is necessary. Saving a large browsing document may take several minutes.
  5. Try clicking on the various lists to see what happens.

Below is a screen shot of Bowser Pro in action, with annotations that describe the major features of Bowser Pro.

The Browse Window

You can use the keyboard to select classes, methods, and fields. Type tab to move from one pane to the next. When the class, method, or field pane is selected, you can type alphabetical characters to make a selection. You can also use the up arrow and down arrow keys to move through the selected pane.

Menu Commands

This section describes the commands available in Bowser Pro's menus.

Find Menu

The first three items in the Find menu work like the first three items in MPW's find menu. These items let you search the text pane for text that you specify, repeat the previous search, or search for the selected text. The search is always case sensitive and does not wrap around when it reaches the end of the text in the text pane.

Here are the rest of the items in the Find menu:

Find Inherited
Show the current method as implemented by the current class's superclass. If the method has no inherited implementation, Bowser Pro beeps.
Find Class
This item prompts for the name of a class, then selects and displays that class. This is especially useful when viewing classes hierarchically.
Find Method
This item prompts for the name of a method, then selects and displays the first implementation of that method, searching all classes in alphabetical order.
Find Field
This item prompts for the name of a field, then selects and displays the first implementation of that field, searching all classes in alphabetical order.
Go To Next
This item finds the next class, if any, that implements a method with the same name as the selected method. Classes are searched in alphabetical order.
Go Back
Use this item to see the class that was displayed immediately before the currently displayed class.

Parser Menu

Parse More
Use this item to begin parsing to create another Bowser Pro document.
Reparse
If any source files change after creating the browse document, use this item to update the browse document without having to reparse everything.

Class Menu

Hierarchical Classes
This item displays classes according to their hierarchy.
Alphabetical Classes
This item displays classes according in alphabetical order.
Ancestry of Class
This item displays all the superclasses (except mixins) of the selected class. This list appears in the pane just above the text pane.
All Methods of Class
This item opens a new window that lists all the methods available in the selected class, including inherited methods. Select a method in this new window to see its source, if available.
All Fields of Class
This item opens a new window that lists all the fields available in the selected class, including inherited fields. Select a field in this new window to see its declaration.
Implementors of Class
This item opens a new window that lists all classes that implement the selected class anywhere in their ancestry.
Create Template
Use this item to create a instance definition for an Objects.Def file. A new window will open with a template for an object of the selected class.
Source File of Class
This item displays the name of the class definition file that contains the definition for the selected class. If you hold down the shift key while selecting this menu item, the class definition file will be opened in the MPW Shell.
Show Class Definition
If this item is checked, the text pane will automatically show the definition of a newly selected class.

Member Menu

Implementations of
This item opens a new window that lists all the implementations of the selected method. Select a method in this new window to see its source, if available.
Source File of Method
This item displays the name of the source file that contains the code for the selected method. If you hold down the shift key while selecting this item, the source file will be opened in the MPW Shell.
Interface of Method
This item shows the interface for the selected method, as defined in the class definition file.
Source File of Field
This item displays the name of the class definition file that contains the definition for the selected field. If you hold down the shift key while selecting this item, the class definition file will be opened in the MPW Shell. Totally cool!

Known Bugs And Limitations