On Mon, Mar 23, 2009 at 12:45 AM, Kevin Polston <khwp.01@googlemail.com> wrote:
Hi

I'm just beginning to learn Smalltalk.  I've been using Cincom's VisualWorks and have been writing a small GUI application (Text boxes, radio buttons, action buttons - that kind of thing) using MVC.  I've now come across Squeak and have been looking for a similar set of classes (or a package) to help me do a similar GUI application in Squeak but I can't seem to find anything.  Can anybody help me here - some pointers to a tutorial would be fantastic.


The GUI components in the base Squeak image are mostly implemented in Morphic. The classes are:

Text boxes: PluggableTextMorph, TextFieldMorph.
Radio buttons: UpdatingThreePhaseButtonMorph, ThreePhaseButtonMorph, ButtonMorph, ...
Normal buttons: SimpleButtonMorph, UpdatingSimpleButtonMorph.
Windows: SystemWindow

I dislike Morphic and I don't hide the fact. It's a huge time-waster when you're trying to get things to work right. Instead, I use ToolBuilder (Google it), which gives a simplified API that has most of what I need. ToolBuilder is available in standard Squeak images, although I have updated packages lying around somewhere. There's no documentation (afaik) and you'll need to rely on example code. One day I plan to fix that.

If you want your user interface to actually look respectable, then these are your options:

* Go back to VisualWorks.
* Try Pharo where a lot of UI work has been done.
* Try Seaside for web-based applications.
* Use WxSqueak or GtkSqueak which use native widgets. I've found WxSqueak to work okay and look quite nice, although you'll be working with old and experimental software.

Gulik.

--
http://gulik.pbwiki.com/