Widgetry

Welcome to Widgetry!

Widgetry is a User Interface framework for VisualWorks Smalltalk.

Widgetry is a UI framework with non-native widgets for different host graphics systems (Windows, Mac, X11). Widgetry was developed from ground up as a replacement of the old MVC framework which has come to age after not being further developed for about 15 years.

The basic concept in Widgetry is the decomposition of Widgets into Panes, Artists, Agents and Frames. These 4 objects together represent a widget where

  • the Pane offers the public API to data and attributes
  • the Artist draws the widget according to the current look
  • the Agent coordinates the user input according to the current feel
  • the Frame provides the layout inside the enclosing widget.

Any component of a Widget can be replaced during runtime, f.ex. to dynamically change the look-and-feel of an application or to provide dynamic layout.

Widgetry includes all common widgets found in modern UI frameworks (Buttons, InputFields, List- and TreeViews, TabControls, Grids etc.). It has Forms for hierarchically embedding groups of widgets or complete user interfaces for reuse.

Widgetry uses a new event mechanism, called Announcements, where real objects are broadcasted instead of simple Symbols. All attributes in Widgetry are dynamic so that any change is reflected and displayed immediately.

Widgetry is a powerful UI framework with a clear structure, concise naming and easy APIs to build modern user interfaces.

Cincom developed Widgetry for 6 years and released it on June, 19th 2007. On September, 11th 2007 Cincom announced that it will no longer support or further develop it. This decision was greeted with outrage by the VisualWorks community, because Widgetry is seen by many as a far superior UI framework than the old one.

This project is about keeping Widgetry alive by a community of volunteers who decided to use and enhance Widgetry. All development will be free for the public provided that Cincoms licence is respected (Cincom VisualWorks Smalltalk is free for non-commercial use. See http://www.cincomsmalltalk.com for details).