Chapter 13: The Wizard Control, from Enterprise Curl, by Prentice Hall | WebReference

Chapter 13: The Wizard Control, from Enterprise Curl, by Prentice Hall

Enterprise Curl: The Wizard Control

[The following is the conclusion of our series of excerpts from the Prentice Hall title, Enterprise Curl. This excerpt is from Chapter 13.]


A common requirement of enterprise applications is to provide an interface that enables users to enter search criteria and then obtain only the data that matches their interests. This interface has typically been presented to the user in the form of a wizard, where a modal window presents a number of pages, and each page asks the user for criteria on a particular piece of information.

The following chapter shows how to create the enterprise framework wizard control, and we will investigate the following design aspects:

  Creating a configurable, extendable, and functionally rich architecture
  Employing an alternate solution to the {getter} and {setter} design patterns
  Using the recommended approach for displaying popup questions in an application
  Utilizing classes contained in other enterprise framework packages
  Examining the code required to send return values from a modal window back to its calling process
  Packaging the wizard functionality for integration with other modules
  Using abstract methods

The wizard interface is frequently seen in our everyday use of business applications. For example, when creating pivot tables using Microsoft Excel, the program takes you through a series of questions that are used to format and build the specific table that you require. This design is highly intuitive and user-friendly, and it provides the impression of a sophisticated application. The architecture displayed in Figure 13–1 illustrates the object model for the COM.ENT-CURL.WIZARD package.

Wizard Control

The WizardControl is inherited from the COM.ENT-CURL.WINDOW. RESPONSE class, and acts as the container for the WizardForm pages. It provides functionality to maneuver between pages and pass

FIGURE 13–1 WIZARD object model.

back the user's chosen parameters to the calling process. The visual controls defined on the WizardControl are illustrated in Figure 13–2.

FIGURE 13–2 Wizard control design layout.

The WizardControl has an API that consists of {constructor}, {commit-return-message}, {set-wizard-form}, {check-buttons} and {create-window}, which all combine to display the wizard control and provide functionality to navigate between WizardForm pages. The specific processing in each of these methods will be discussed in the following sections.

Created: May 2, 2003
Revised: May 2, 2003