November 1999 - mWaba has been updated for Waba Beta 9.
The toolkit includes versions of the standard Waba controls but adds Choices, Text Areas, Lists, Scrollbars, Cascadable Menus and Menu Bars, Image Controls, and Buttons capable of showing icons. It also includes Frames(Windows), Dialog boxes and Message Boxes.
Advanced control containers are also implemented. This includes a Tabbed Panel which can hold an effectively limitless number of tabs without concern for screen size. Scollable holders are also implemented allowing you to place as many controls as necessary within a container and the user can scroll within the container. In fact a number of the controls in the toolkit (including the Menus) will automatically take account of the space allowed by their containing frame and provide scrollbars if needed.
The windowing system implements Frames(Windows) which can be modal (taking exclusive control of pen events) or non-modal (multiple sibling Frames each capable of accepting inputs). The frames can be set to look like standard Window-like frames with title bars, buttons and menu bars embedded within the top bar. They are moveable (by dragging the title bar) and can be set to be resizable (by dragging the bottom bar).
Perhaps one of the most powerful features of the toolkit is a system for component placement which does not use absolute co-ordinates or sizes. It is comparable to the GridBag layout manager in the Java AWT but is considerably easier to use. I guarantee you will never have to use setRect() again!
All of the features above are shown in a demo, mWabaDemo, which you can download. Please read the disclaimers on the download page before running the demo. There are a number of options and factors which will affect the look, feel and performance of the toolkit, some of which are configurable within the demo itself.
Another optional feature of the toolkit is an InteractivePanel. This allows you to place a number of images (which can be animated if necessary) on a scrollable panel. These images can then be clicked, or dragged around the screen, generating events when images are clicked, picked up, dragged, dragged over or off other images and dropped. By catching and handling these events fairly complex graphics based applications and games can be developed. A very simple demo of this is shown in the Solitaire program which is also downloadable from the site. Using the InteractivePanel it took less than two hours to produce the solitaire program. Again, please read the disclaimer; due to a limitation of the Java Waba platform (specifically non-support of DRAW_AND and DRAW_OR) the images look different on Java and on the target system (luckily, though, it looks better on the target system).
To download these files go to the mWaba Home Page at www.pobox.com/~brereton/mWaba and follow the link to the demos page.
Although the toolkit is code compatible with Palm Waba VMs the memory requirements of the toolkit does not make it feasible for use on these devices since it would leave little room for an application to run. Palm developers would be better served by the Waba Extras toolkit by Rob Nielsen available for download from the Waba Top 10 download list at www.wabasoft.com