Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
GUI Building Tools
Last updated at 11:21 am UTC on 11 November 2006
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:










See also:



Wouldn't it be possible to build a window with the standard morphic manipulation tools (halos etc.) and then store and delete it? One could then make a veryDeepCopy openInWorld of the window whenever one wants to put an instance on the screen.

Here is a screenshot of the Rolodex example included with BobsUI:

   Uploaded Image: bobsuiexample.gif.
Also, if you're looking for a more "standard" UI feel to go with one of these tools, see Customizing the Squeak UI.

Some other miscellaneous examples:

Rolodex example using a BookMorph: Rolodex Tutorial

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

TableMorph widget for spreadsheets, tables.

Q: Why isn't there a GUI building widget kit already built into Squeak?

A: Because none of the above widget kits have achieved critical mass, yet. (as of early 2005) However, what we should do now is offer to include any widget kit in the Basic release which comes with a modest promise of maintenance as defined in this squeak-dev post:

I agree, Brad, that a better widget set and general UI tools would be
nice, and I've argued in the past that we should put one into the
standard basic image for people like you.

We actually have several widget sets on SqueakMap (have you tried
BobsUI or Prefab?), and so I suggested that we should put the first one
into the main image that someone would volunteer to actually maintain.
To prove they actually have some time available to maintain it, I think
they should have some requirement, e.g. to make a Play With Me project
which introduces you to the toolkit. I think we should tell them their
toolkit will get put into basic (GUI's are part of basic development!), so
that they will have incentive to do the work.

No one has really volunteered, but I still think it's a good idea. For
application developers using Squeak, it would be very valuable to not
only have a great framework like Morphic, but to have a good set of
widgets implemented in the framework.

Lex Spoon
(original post)

Mostly likely, any adequate GUI toolkit which is added to Basic and is maintained by its owner for a few releases, will be adopted by a number of people, and may even become self-maintained by its community. So if you offered up your toolkit according to Lex's guidelines above, you probably wouldn't have to worry about maintaining it yourself forever. (dew)