View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 3 - Stephen Rollyson

In detail, describe a feature of Squeak that you have found particularly useful. What is the feature? Why is it useful? How do you envoke it?
I found the Message Finder a very useful feature in Squeak. Here is an example of how to use it to find all the classes that contain the message doButtonAction (if you wanted to find all of the classes that behaved like buttons, for example):

Step 1: Select the Message Finder from the Tools Pane on the right of the screen.
Uploaded Image: message_finder_1.jpg
Step 2: Click and drag the Message Finder from the Tools Pane to your project.
Uploaded Image: message_finder_2.jpg
Step 3: Type a fragment of the message name that you're looking for into the top-left panel of the Message Finder, then select the desired message name from the middle left right panel. You will be presented with a list of classes with messages that match that message name.
Uploaded Image: message_finder_3.jpg
Step 4: Click on your desired class message and a System Browser will open up with that class and method opened.
Uploaded Image: message_finder_4.jpg

Other Posts
Discussion 3 - Wes Floyd
Syntax highlighting is something very useful in Squeak due to the way that objects, classes, and messages are represented in a line of Squeak code. It can be easy to accidentally swap an object and a message and this technique helps you verify that what you coded matches what you wanted to code.

Discussion 3 - Trevor Bentley
The "Implementers Of..." command is also a useful tool that I didn't know about prior to reading this discussion. Even though most (if not all) of the built-in classes of Squeak call parameters things like "aBookMorph" to clarify what the variable represents, it is still possible to encounter code that does not follow this convention (like a teammate's). This "Implementers Of..." command expedites the process by replacing a Workspace/Transcript printout of the class name which would otherwise be necessary to determine a variable's type.

Links to this Page