# Overview of Pocket Smalltalk

> The Pocket Smalltalk system, like other Smalltalks, consists of several tools that work together to provide an entire development environment. The tools include a Class Browser, Workspace, Constants Browser, Package Browser and Systrap Browser. The "launcher", the first window displayed upon starting PST is also a tool, since it provides project related services, and access to all of the main tools. Below is a brief description of each of the tools.

> Class Browser
>   The Class Browser is where most of your work will take place. It allows you to browse classes in the system, as well as create your own. You can modify any code in the system, including the system classes! It looks like this:
>   The top-left pane allows you to see all of the classes in the system, including your own. Right-clicking brings up a context menu with options like `Find class...` and `Make subclass...`. The top-right pane shows the methods defined in the class selected in the class pane. Notice it has two tabs, Class and Instance. With the Class tab selected, you will only see those messages that are defined on the class side of a class. The Instance tab only displays those defined on the Instance side of a class. The bottom pane is a multi-purpose pane. It is primarily used for editing methods, but it too is tabbed. The `Source` tab allows you to edit specific methods of a class. The `Class` tab shows the definition of a class, which is also editable. The `Disassembly` tab shows the bytecodes of the selected method, and the `Comment` tab shows the class comment, if there is one.
> Workspace
>   The Workspace is a kind of "scratchpad" for testing out Smalltalk code. It looks like this:
>   You can enter any reasonable Smalltalk expression, or series of expressions, in a workspace, and evaluate it/them, seeing the results. Use the right-click context menu to perform operations on the code you write in a workspace.
> Constants Browser
>   The Constants browser allows you to edit and define constants that are available to classes in the system. Some of the constants are pre-defined, and control aspects of the system. You will create some constants as one of the first steps in our project. It looks like this:
>   The top-left pane shows the categories of constants that are currently defined. Clicking on one of these categories populates the top-right pane with all of the constants from that category. Clicking on one of these constants will display the value in the bottom pane, which allows editing. Right-clicking in each of the panes brings up a context menu.
> Package Browser
>   The Package Browser allows you to include "packages" of Smalltalk code into your project. This permits you to include other people's work in your project. It looks like this:
>   The top pane shows the packages that have been included in the current project. Clicking on one of these packages will populate the bottom pane with information about the classes, methods and constants that exist in the package.
> Systrap Browser
>   The Systrap Browser allows you some level of editing of the traps that integrate with the Palm OS. I currently have no idea how to use this tool, so I won't be covering it here....

> The use of these tools will become more apparent as we work through the tutorial. So, if you're ready, let's move on.

> << Introduction | Section 1: Setting Up The Packages >>

Copyright © 2000 Joey Gibson