[squeak-dev] widget sets/GUI builders

Javier Diaz-Reinoso javier_diaz_r at mac.com
Mon Apr 19 16:27:02 UTC 2010

On 17/04/2010, at 12:00, Ross Boylan wrote:

> Which, if any of the GUI builders (e.g.,
> http://wiki.squeak.org/squeak/1576) work in 3.10.2 and are likely to
> work in 4.x?
I was not aware of this page, I create the BobsUI repository in squeaksource (BobsUI was created by Bob Arning many years ago) and I have committed some updates in the past, but I am not working with BobsUI for the last one and half year (after I lost the last client who dont' care I was using Smalltalk in their applications).

Anyway, I tried to load the code in the trunk and was easy, the only real problem was the in the trunk TextMorph use the SmalltalkEditor by default and BobsUI needs the old SmalltalkEditor, I tested the examples and a little application of mine an looks is working OK. I updated the repository with this changes (I see this Dr.GeoII-HilaireFernandez.76.mcz filename in the BobsUI runtime repository, I suppose is some kind of mistake).

By the way in the page 1576 says:
> It does not include a "GUI builder"... you must specify the widget layout in the source code.
this is not really true, sure dont' have some "Interface Builder" thing, but you create the windows (or frames) using drag&drop from the bobs ui menu (apropos the "pin lock" icon is broken in the trunk, an "Error: Not implemented for depth 8" in Form>>collectPixels:).

> Even though I've built squeak GUIs before, I'm finding that making a
> basic data entry form is quite a project.  Among the problems:
> * no standard one line text entry widget (PluggableTextMorph can be
> adopted, but needs lots of tweaks and doesn't include a label)
> * no grouping boxes for sets of related widgets (I suppose a
> RectangleMorph would server)
> * layout not obvious, and not well documented.  There was a nice
> tutorial on the the SuperSwiki, but that's gone and the the layout logic
> may have moved on a bit.
This is all implemented in BobsUI, some screenshots:


> For example, I tried
> | w m |
> w := SystemWindow labelled: 'Test'.
> w layoutPolicy: TableLayout new.
> m := PluggableTextMorph on: w text: #label accept: #label:.
> w addMorph: m.
> w openInHand.
> The window border decorations appear individually below the text field,
> rather than around the edge of the window.  I've since noticed that
> SystemWindow has a ProportionalLayout by default.
> I suppose I should put some morph  (what?) insider the SystemWindow and
> do the layout in the inner morph.
> It's not clear if some of the layout related methods (e.g., about
> frames) are only for TableLayout or only for ProportionalLayout.
> Ross

More information about the Squeak-dev mailing list