A simple package for implementing a wizard GUI framework.

There isn't much on the Internet in the way of a free Wizard framework. JUMP's looks pretty good!

Creating a Wizard is pretty easy.

1. Create a `WizardDialog`, passing in a `Frame`, title, and an `ErrorHandler`.
2. Initialize the new `WizardDialog`, passing it an array of `WizardPanels`. The first element of the array is the panel which is first displayed.
3. Set the size of the dialog, and display it, allowing the user to interact with it. Check if the user has completed the task by hitting "finish".
4. Query the various `WizardPanels` to obtain the data that the user was prompted for.

## Example

There are several examples applying JUMP's Wizard framework in the package `com.vividsolutions.jump.workbench.ui.plugin.wms`. The following example is from `AddWMSQueryPlugIn.java`.

      // Creates a WizardDialog in the current context, with given title.

        WizardDialog d =
                new WizardDialog(context.getWorkbenchFrame(),
                                 "Connect To Web Map Server",
                                 context.getErrorHandler()
                                 );

      // Initializes the WizardDialog with four WizardPanels; the first is the first one to display.

        d.init(new WizardPanel[] {
                         new URLWizardPanel(cachedURL),
                         new MapLayerWizardPanel(),
                         new SRSWizardPanel(),
                         new OneSRSWizardPanel()
                 });

        // Sets the size and displays the dialog for the user to interact with it;
        // Set size after #init, because #init calls #pack. [Jon Aquino]

         d.setSize(500, 400);
         GUIUtil.centreOnWindow(d);
         d.setVisible(true);

         if (!d.wasFinishPressed())  {
               return false;
         }

        // Subsequently, one can query the components of the Wizard
            // for their data as follows:

         WMService wms = (WMService) d.getData(URLWizardPanel.SERVICE_KEY)).getServerUrl();

## Main Classes

Class | Package
--- | ---
`WizardPanel, WizardDialog` | `com.vividsolutions.jump.workbench.ui.wizard`

## To Do

[1] Another option to consider is JavaWizardComponent (http://jwizardcomponent.sourceforge.net/) We. haven't tried this yet.

## Related Documentation

For overviews, tutorials, examples, guides, and tool documentation, please see:

- JUMP Workbench User's Guide
- JUMP Developer's Guide
- JUMP Technical Report
- JUMP Data Sheet