[ANN] wxSqueak 0.4

Rob Gayvert rtg at rochester.rr.com
Mon May 23 00:42:31 UTC 2005


An update of my interface to wxWidgets is available at

           http://homepage.mac.com/rgayvert/wxsqueak.html

Below are some notes on what has changed in this version.

Any comments or suggestions are appreciated.


.. Rob


---------------------------------------------------------------------

1. Uses the latest Squeak (3.8) and wxWidgets (2.6.0) releases.

2. Virtual method callbacks. It is now possible to create Squeak subclasses of
   wx classes such as wxGrid and wxListCtrl (and many others) that redefine parts of
   the default wx behavior. For example, renderers and editors written in Squeak can
   be assigned to cells of a wxGrid. About 90 methods for 18 classes have been added so
   far.
   
3. Client data may be added to items in list and tree controls.

4. More demos. Most of the wxPython demos that involve non-custom controls (around 75 
   or so) have been reproduced.

5. All ordinal arguments and return values have been converted to be 1-based instead of 
   0-based. This applies to list indexes, grid coordinates, pages in book controls, 
   menu items, etc.
   
6. More assertions have been added to primitives.  The short term goal is to intercept all
   of the assertions that may appear when using a debug build. Long term, the
   goal is to prevent any primitive from causing a crash because of bad arguments.
   
7. A VM linked with a debug build of wxWidgets is now provided. Using this avoids 
   crashes caused by assertions in the wxWidget library code.
   
8. More support for XRC. Most components built with an XRC editor (e.g., DialogBlocks, 
   wxDesigner, wxGlade, XRCed) can be instantiated now in wxSqueak. This will be the
   basis for a future GUI builder.
   
9. Monticello packaging. The Squeak source code is now organized into 5 Monticello
   packages. The Bootstrap package must be loaded first, followed by the WxWidgets 
   package. The Tools, CodeGeneration, and Tests packages are all optional.   
   

Issues:

1. In wxMac, a few demos don't work, and there are display problems with some
   controls. wxMac is less mature than other platforms, but is catching up quickly.

2. Errors in virtual callbacks are sometimes fatal.

3. Memory leaks are less common, but still an issue.

4. Under Win32, the executable compiled with Visual C++ is only 50% as fast 
  (as measured with tinyBenchmarks)


Tentative Roadmap:

0.5 Unicode, Linux (GTK) version, custom controls, GCC build for Win32

0.6 API complete

0.7 Memory leaks fixed, more efficient event handling

0.8 GUI builder

0.9 Shrinking/modularization, app builder

1.0 Squeak 4.0




More information about the Squeak-dev mailing list