This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: How To Build A GUI With Pollock - Prologue
Feed Title: Pollock
Feed URL: http://www.cincomsmalltalk.com/rssBlog/pollock-rss.xml
Feed Description: Pollock - the next VW GUI
Well, I'm back again after a bit of an absence. I've been hard at work getting the MacOSX and Motif looks done for all the widgets in Pollock. This spring when the interim 7.2.1 release is made, we'll refresh the Pollock preview, as well as publish that on the Cincom repository. You'll be able to then see all of the changes since the 7.2 release
But that is not what this post is about. I was on the #smalltalk IRC channel yesterday, and was asked when I would post here again. I admitted that I didn't know what to write about, and asked for suggestions. What I didn't admit is that I'm so deep into working on Pollock that it hurts my brain to even think of getting out of the code. But that's almost beside the point. One of the suggestions was a "How To" on build a UI with Pollock. I liked that, and later in the day, I had a brainstorm. Why not make a Tool? Why not make a Class Hierarchy Browser in Pollock, and take my readers through the step by step in doing it? Why not also take long looping wandering tangents like I always do?
Why not indeed!
So, here's what I propose. Starting with my next post (probably tomorrow), I'll start build a Class Hierarchy Browser with Pollock, step by step, with all the gritty details so even a VisualWorks beginner might understand it.
Being a peculiar person, I have to do this in my own peculiar way. This is not just going to be a "How To Write Code" in a workspace. I'm going to go though the steps, one by one, that a developer should use when using the Pollock framework.
That presents a problem though. Because the Pollock framework is more complete today than the version available on the 7.2 preview, and features a developer needs are not in the old version, I've published the current version (bundle named Pollock, and bundle named PollockTesting) on the Cincom Repository.
So, if you're planning to follow along, you want version 5.23. (For me, it doesn't seem to be the top most listed version, so you may have to scroll down to see it)
Now that's out of the way, let me tell you what the features of our little project will be:
It will allow you to browse the Smalltalk class hierarchy
It will have a simple menu
It will have a pretty simple toolbar
It will have resizable panes
It will allow you to search for a class
It will allow you to open a new Class Hierarchy Browser on a given class
When a class is selected, it will show you all protocols for that class
When a protocol is selected, it will show you all methods for that class
When a method is selected, it will show you the code for that method
If you select multiple protocols, it will show all the methods in the combined protocols
Here is what it won't do:
While the protocol list and the method list will have menus that say things like "Senders" and other standard browser like menu items, pretty much none of them will do anything.
It won't show Store packages, or Parcels or Class Categories or Namespaces.
You can edit your code, but... it won't be saved. That means, no new methods, protocols or class
Thus, the point of this exercise is to show you how to use the Pollock framework, not how to write the guts of a real browser. What we will implement along the way, are those things that show how the Pollock framework can be used to interact with a domain... And Smalltalk being a ready at hand complete and complex domain, it makes an easy target