Web controls for Seaside

Burella Juan M. juan.burella at gmail.com
Fri Jun 15 17:59:37 UTC 2007

In order to ease the work with our web application  we have added component
support for Seaside. It's what is called "AJAX Framework" out there,
although we preferred not to call it "framework" nor toolkit by now. Much of
the ideas of this package are based on WindowBuilder Pro, a commercial
window builder that enables visual programming.

Right now we have support for most common web controls (TextField, Panel,
RadioButton, TextArea, Label, Button, Anchor, CheckBoxGroup,
RadioButtonGroup, ListBox, FieldSet) and we are working on a builder tool
for generate Seaside components (pages) dinamically. We call it

Using our package, for example, if you want to specify a ListBox of
countries you have to (without the builder):

    "Private - Answer a ListBox with the countries. If panes not includes it
then this is added"

        paneNamed: #countryList
        ifNonePut: [ (SFListBox new)
                        printSelector: #viewerString;
                        styleClass: 'large';
                        items: self countries;
                        label: 'País';
                        layout: self layout;
                        addItem: nil labelFrom: 'Ninguno';
                        when: #selectedChanged
                             send: #selectedItem
                            to: self;

and it's rendered with:

>>renderContentOn: html
    "Private - Render the receiver"

    html render: self countryControl

With the builder you'll have to pick the control you want, configure
properties, preview if you want it, and finally add to a page layout tree.
When the tree is already configured properly, code for the rendering and
controls is compiled into the class, along with tree support for future
editing with the tool, although this is under heavy developement.

Maybe this work could be interesting for someone out there. If so,  we'd
have to ask our institution for permission to release a public version under
an appropiate licensing (GPL, LGPL, BSD, etc).

Juan M. Burella, Hernán Morales and Norberto Manzanos, CAICYT
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070615/b4b7cc3e/attachment.htm

More information about the Squeak-dev mailing list