=== Top of the Swiki === Attachments ===

FAQ: Building a GUI

How do I create a basic GUI for something like a data-entry application, a la WindowBuilder, Visual Basic, etc.?

The base Squeak doesn't really include a GUI Builder or Widget Kit for data-entry applications, although it does have quite a few widgets. There are a few external Widget Kits/GUI Builders available which can be used with Squeak in Morphic:


Prefab is a Morphic UI widget kit by Chris Reuter, which lets you layout widgets on the screen and then generate Smalltalk source code from this layout. It includes various standard (data-entry) widgets, and is roughly based on Tk. See http://www.csclub.uwaterloo.ca/~cgreuter/prefab.html


SguiKit (Squeak GUI Contruction Kit) is a new Morphic widget contruction kit from Michael Rueger. It lets you layout widgets with a contruction tool, which then generates a gui spec. See http://www.squeaklet.com/sguikit/.


BobsUI is a data-entry UI widget set for Morphic which contains a Rolodex example. (It does not include a "GUI builder"... you must specify the widget layout in the source code.) The latest version (with enhancements by Doug Way) is available at http://www.mindspring.com/~dway/smalltalk/BobsUIv2.cs. Bob Arning's original version is at http://www.charm.net/~arning/BobsUI.13Jun624pm.cs.txt. Here is a screenshot of the included Rolodex example:
.



Some other miscellaneous examples:

Rolodex example using a BookMorph: http://guzdial.cc.gatech.edu:8080/squeakers.141

Simple spreadsheet that uses MVC to put up a spreadsheet display: http://pbl.cc.gatech.edu/cs2390/203

TableMorph widget for spreadsheets, tables.