An update of my interface to wxWidgets is available at
http://homepage.mac.com/rgayvert/wxsqueak.html
1. Works with Squeak 3.7 and wxWidgets 2.5.3 on Win32 and Mac OS X.
2. The API has been expanded and simplified.
- Wrapper methods are generated for all primitives.
- All conversions to wxWidget types are handled by primitives, so
the Smalltalk side is cleaner.
- The VM has a collection of helper routines that deal with the
more
difficult cases, such as passing/returning arrays or rectangles.
- wxStyledTextCtrl (based on Scintilla) is supported (but no lexer
for Smalltalk yet).
- XRC (wxWidgets XML resource format) is supported.
- Constants are maintained in a single pool dictionary.
- Primitives do more type checking, so there should be fewer VM
crashes.
- Generic callback mechanism allows methods in Smalltalk
subclasses to
be called from the wxWidgets framework.
3. Event handling has been improved.
- All events are handled synchronously, so veto and skip operations
work properly.
- Synchronous events can be nested (recursive calls to
interpret()).
- Handlers for synchronous events can be debugged.
4. Rudimentary Model-View-Presenter (MVP) framework
- Based on notions in Taligent/Dolphin design
- Combined with XRC,
- allows wx windows to be saved in the image;
- allows views to be specified in an external XML form; and
- provides a basis for a graphical interface builder.
- Pluggable wx components mimic pluggable morphs (e.g.,
PluggableTextWidget ~ PluggableTextMorph).
- wx versions of several standard tools (e.g., Browser, Debugger,
Inspector) are available.
5. Numerous new demos
- Styled text, splitters, HTML help, dragging images, tree
controls,
grid, etc.
- New demo framework parallels the wxPython demo.
6. Full source is available.