The Super Widget Package(SWP) is designed to make it really easy to build a GUI front end to your Mathematica code. It was originally designed using the GUIKit, but is now written in Mathematica and (compiled) Java code. It is designed for use with Mathematica 6.0, 7.0 or later versions. Contact me by email if you need the last version that will work with Mathematica 5.2. The current version has been tested with both Mathematica 6.0 and 7.0. As usual, at some point I will cease to test against the previous version of Mathematica (6.0), but unlike the transition from 5.2 to 6.0, I do not expect compatibility problems if you continue to use 6.0.

Obtaining and installing the package

The SWP is free and Version 5.90 can be downloaded as a ZIP file containing all the files required in their appropriate directories.. It is vital that this directory structure is preserved. Copy the file to the $UserBaseDirectory or $BaseDirectory directory, e.g. "C:\Documents and Settings\All Users\Application Data\Mathematica". Note carefully that the package should not be placed in the Mathematica directory tree itself, as was recommended in previous versions of this package. If you have a previous version located there, please remove it completely. It is obviously vital that only one copy of the SWP should be visible to Mathematica! Unzip the file SuperWidgetPackage.ZIP using a tool that preserves the directory structure and handles long names correctly, e.g. PKZIP(R) Version 2.50, or WinZip(R). Finally, re-start Mathematica, and lookup "SuperWidgetPackage" in the Documentation Center to access the main user manual.

Here is a link to a substantial commercial package using the Super Widget Package for Business Modeling. The aim is to mirror a business as a multidimensional model here shown as the example. It is used to perform Customer Profitability Analysis and Improvement. Click to play a short movie of using this program.

Note in particular that this GUI uses a Multiple Document Interface (similar to Word for Windows) to display a number of tables and several palettes that float over the tables. The tables can be very large, with many thousands of rows. By selecting an appropriate palette (such as 'Times'), two tables can be combined to create a new table using a drag and drop mechanism.

Further enhancements

Version 6.25 adds facilities to register one or more data types for an application (analogous to the way .DOC files become associated with a word processing application) so that an application can be started by double clicking a data file on the desktop.

Version 5.90 is the current version. The documentation for this version has been integrated with the Mathematica Documentation Center (the primary help system since version 6.0). It also contains some bug fixes and extra features for my clients, but (at least for the time being) the documentation has not been updated since 5.36. It is, of course, tested with version Mathmeatica 8.0, and should also work with versions 7 and 6.

Version 5.36 fixes a major bug in the GraphicsRegion drag/drop mechanism that appeared at version 7.0. This version of Mathematica uses Java version 6, which contains a bug that causes XOR graphics operations to render extremely slowly.

You should also download and run the SWP examples .

Read the documentation for the latest version – 5.30 – here (PDF file, the notebook version is included as part of the package download).

Read about the history of this package here

Acknowledging the SWP

If you have a website that discusses work that you did using the SWP, please include a link to this page.

A glimpse of example 1

It is said that a picture is worth a thousand words, so this animated GIF should save me a lot of typing!

A dynamic tool tip in action

Here we explore the complex function sin(z) using the new dynamic tool tip feature.

User feedback

Please tell me your experiences with the SWP. I would like to know:

Any Problems that you have had installing or using the SWP.

SWP features that you found particularly useful.

Any aspect of the SWP that was unsatisfactory or hard to understand.

Suggestions for new features.

To avoid spam, I have supplied my e-mail address in graphical form – see the top of this page.