[Newbies] GUI (using MVC?) application writing advice
Michael van der Gulik
mikevdg at gmail.com
Sun Mar 22 20:58:02 UTC 2009
On Mon, Mar 23, 2009 at 12:45 AM, Kevin Polston <khwp.01 at 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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20090323/1f7d2d19/attachment.htm
More information about the Beginners
mailing list