org.openide.dialogs 6.5.22

org.openide
Class WizardDescriptor

java.lang.Object
  extended by org.openide.NotifyDescriptor
      extended by org.openide.DialogDescriptor
          extended by org.openide.WizardDescriptor
All Implemented Interfaces:
HelpCtx.Provider

public class WizardDescriptor
extends DialogDescriptor

Implements a basic "wizard" GUI system. A list of wizard panels may be specified and these may be traversed at the proper times using the "Previous" and "Next" buttons (or "Finish" on the last one).

See Also:
DialogDisplayer.createDialog(org.openide.DialogDescriptor), Wizard Guidebook (describes the set of properties controlling the display of wizard panels)

Nested Class Summary
static class WizardDescriptor.ArrayIterator
          Special iterator that works on an array of Panels.
static interface WizardDescriptor.AsynchronousInstantiatingIterator
          Iterator for a wizard that needs to somehow instantiate new objects outside ATW queue.
static interface WizardDescriptor.AsynchronousValidatingPanel
          A special interface for panels that need to do additional asynchronous validation when Next or Finish button is clicked.
static interface WizardDescriptor.FinishablePanel
          A special interface for panel that needs to dynamically enabled Finish button.
static interface WizardDescriptor.FinishPanel
          Deprecated. 4.28 Use FinishablePanel instead.
static interface WizardDescriptor.InstantiatingIterator
          Iterator for a wizard that needs to somehow instantiate new objects.
static interface WizardDescriptor.Iterator
          Iterator on the sequence of panels.
static interface WizardDescriptor.Panel
          One wizard panel with a component on it.
static interface WizardDescriptor.ValidatingPanel
          A special interface for panels that need to do additional validation when Next or Finish button is clicked.
 
Nested classes/interfaces inherited from class org.openide.NotifyDescriptor
NotifyDescriptor.Confirmation, NotifyDescriptor.Exception, NotifyDescriptor.InputLine, NotifyDescriptor.Message
 
Field Summary
static Object FINISH_OPTION
          "Finish" button option.
static Object NEXT_OPTION
          "Next" button option.
static Object PREVIOUS_OPTION
          "Previous" button option.
 
Fields inherited from class org.openide.DialogDescriptor
BOTTOM_ALIGN, DEFAULT_ALIGN, PROP_BUTTON_LISTENER, PROP_CLOSING_OPTIONS, PROP_HELP_CTX, PROP_LEAF, PROP_MODAL, PROP_OPTIONS_ALIGN, RIGHT_ALIGN
 
Fields inherited from class org.openide.NotifyDescriptor
CANCEL_OPTION, CLOSED_OPTION, DEFAULT_OPTION, ERROR_MESSAGE, INFORMATION_MESSAGE, NO_OPTION, OK_CANCEL_OPTION, OK_OPTION, PLAIN_MESSAGE, PROP_DETAIL, PROP_MESSAGE, PROP_MESSAGE_TYPE, PROP_OPTION_TYPE, PROP_OPTIONS, PROP_TITLE, PROP_VALID, PROP_VALUE, QUESTION_MESSAGE, WARNING_MESSAGE, YES_NO_CANCEL_OPTION, YES_NO_OPTION, YES_OPTION
 
Constructor Summary
WizardDescriptor(WizardDescriptor.Iterator panels)
          Create wizard for a sequence of panels, with settings defaulted to this.
WizardDescriptor(WizardDescriptor.Iterator panels, Object settings)
          Create wizard for a sequence of panels, passing some settings to the panels.
WizardDescriptor(WizardDescriptor.Panel[] wizardPanels)
          Create a new wizard from a fixed list of panels with settings defaulted to this.
WizardDescriptor(WizardDescriptor.Panel[] wizardPanels, Object settings)
          Create a new wizard from a fixed list of panels, passing some settings to the panels.
 
Method Summary
 Set getInstantiatedObjects()
          Returns set of newly instantiated objects if the wizard has been correctly finished.
 Object getProperty(String name)
          Getter for stored property.
 MessageFormat getTitleFormat()
          Getter for current format to be used to format title.
 Object getValue()
          Overriden to ensure that returned value is one of the XXX_OPTION constants.
protected  void initialize()
          Initializes settings.
 void putProperty(String name, Object value)
          Allows Panels that use WizardDescriptor as settings object to store additional settings into it.
 void setAdditionalOptions(Object[] options)
          Define an explicit description of the set of additional user-selectable options.
 void setClosingOptions(Object[] options)
          Setter for list of options that close the dialog.
 void setHelpCtx(HelpCtx helpCtx)
          Set new help context for this dialog descriptor.
 void setOptions(Object[] options)
          Set options permitted by the wizard considered as a DialogDescriptor.
 void setPanels(WizardDescriptor.Iterator panels)
          Set a different list of panels.
 void setTitleFormat(MessageFormat format)
          Sets the message format to create title of the wizard.
 void setValue(Object value)
          Overrides superclass method.
protected  void updateState()
          Updates buttons to reflect the current state of the panels.
 
Methods inherited from class org.openide.DialogDescriptor
getButtonListener, getClosingOptions, getHelpCtx, getOptionsAlign, isLeaf, isModal, setButtonListener, setLeaf, setModal, setOptionsAlign
 
Methods inherited from class org.openide.NotifyDescriptor
addPropertyChangeListener, firePropertyChange, getAdditionalOptions, getDefaultValue, getMessage, getMessageType, getOptions, getOptionType, getTitle, getTitleForType, isValid, removePropertyChangeListener, setMessage, setMessageType, setOptionType, setTitle, setValid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NEXT_OPTION

public static final Object NEXT_OPTION
"Next" button option.

See Also:
setOptions(java.lang.Object[])

FINISH_OPTION

public static final Object FINISH_OPTION
"Finish" button option.

See Also:
setOptions(java.lang.Object[])

PREVIOUS_OPTION

public static final Object PREVIOUS_OPTION
"Previous" button option.

See Also:
setOptions(java.lang.Object[])
Constructor Detail

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Panel[] wizardPanels,
                        Object settings)
Create a new wizard from a fixed list of panels, passing some settings to the panels.

Parameters:
wizardPanels - the panels to use
settings - the settings to pass to panels, or null
See Also:
WizardDescriptor(WizardDescriptor.Iterator, Object)

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Panel[] wizardPanels)
Create a new wizard from a fixed list of panels with settings defaulted to this.

Parameters:
wizardPanels - the panels to use
See Also:
WizardDescriptor(WizardDescriptor.Iterator, Object)

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Iterator panels,
                        Object settings)
Create wizard for a sequence of panels, passing some settings to the panels.

Parameters:
panels - iterator over all WizardDescriptor.Panels that can appear in the wizard
settings - the settings to provide to the panels (may be any data understood by them)
See Also:
WizardDescriptor.Panel.readSettings(java.lang.Object), WizardDescriptor.Panel.storeSettings(java.lang.Object)

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Iterator panels)
Create wizard for a sequence of panels, with settings defaulted to this.

Parameters:
panels - iterator over all WizardDescriptor.Panels that can appear in the wizard
Method Detail

initialize

protected void initialize()
Initializes settings.

Overrides:
initialize in class NotifyDescriptor

setPanels

public final void setPanels(WizardDescriptor.Iterator panels)
Set a different list of panels. Correctly updates the buttons.

Parameters:
panels - the new list of WizardDescriptor.Panels

setOptions

public void setOptions(Object[] options)
Set options permitted by the wizard considered as a DialogDescriptor. Substitutes tokens such as NEXT_OPTION with the actual button.

Overrides:
setOptions in class NotifyDescriptor
Parameters:
options - the options to set
See Also:
NotifyDescriptor.getOptions()

setAdditionalOptions

public void setAdditionalOptions(Object[] options)
Description copied from class: NotifyDescriptor
Define an explicit description of the set of additional user-selectable options. Additional options are supposed to be used for help button, etc.

The usual value for the options parameter is an array of Strings. But the parameter type is an array of Objects. Its interpretation depends on its type:

Component
The component is added to the button row directly.
Icon
A JButton is created with this icon as its label.
anything else
The Object is converted to a string and the result is used to label a JButton.

Overrides:
setAdditionalOptions in class NotifyDescriptor
Parameters:
options - the options to set
See Also:
NotifyDescriptor.getOptions()

setClosingOptions

public void setClosingOptions(Object[] options)
Description copied from class: DialogDescriptor
Setter for list of options that close the dialog. Special values are:

Overrides:
setClosingOptions in class DialogDescriptor
Parameters:
options - the options to set

getValue

public Object getValue()
Overriden to ensure that returned value is one of the XXX_OPTION constants.

Overrides:
getValue in class NotifyDescriptor
Returns:
an Object indicating the option selected by the user
See Also:
NotifyDescriptor.setValue(java.lang.Object)

setTitleFormat

public void setTitleFormat(MessageFormat format)
Sets the message format to create title of the wizard. The format can take two parameters. The name of the current component and the name returned by the iterator that defines the order of panels. The default value is something like
   {0} wizard {1}
 
That can be expanded to something like this
   EJB wizard (1 of 8)
 
This method allows anybody to provide own title format.

Parameters:
format - message format to the title

getTitleFormat

public MessageFormat getTitleFormat()
Getter for current format to be used to format title.

Returns:
the format
See Also:
setTitleFormat(java.text.MessageFormat)

putProperty

public void putProperty(String name,
                        Object value)
Allows Panels that use WizardDescriptor as settings object to store additional settings into it.

Parameters:
name - name of the property
value - value of property

getProperty

public Object getProperty(String name)
Getter for stored property.

Parameters:
name - name of the property
Returns:
the value

setHelpCtx

public void setHelpCtx(HelpCtx helpCtx)
Description copied from class: DialogDescriptor
Set new help context for this dialog descriptor. Fires property change event if successful.

The implementation should automatically display a help button among the secondary options, without your needing to specify it, if the help context on the descriptor is neither null nor HelpCtx.DEFAULT_HELP. If the descriptor is null, this feature will be disabled (you can still add your own help button manually if you wish, of course). If DEFAULT_HELP (the default), normally the button will also be disabled, however if the inner pane is a component and this component has an associated help ID, that will be used automatically. So most users should never need to manually add a help button: call this method with the correct context, or associate an ID with the displayed component. Note that to set it to null you must explicitly call this method; passing null in the constructor actually sets it to DEFAULT_HELP.

Overrides:
setHelpCtx in class DialogDescriptor
Parameters:
helpCtx - new help context, can be null (no help)
See Also:
DialogDescriptor.getHelpCtx()

getInstantiatedObjects

public Set getInstantiatedObjects()
Returns set of newly instantiated objects if the wizard has been correctly finished. Returns the empty set as default. If the wizard uses the InstantiatingIterator then WizardDescriptor returns a set of Object as same as InstantiatingIterator.instantiate().

Returns:
a set of Objects created
Throws:
IllegalStateException - if this method is called on the unfinished wizard
Since:
4.41

updateState

protected void updateState()
Updates buttons to reflect the current state of the panels. Can be overridden by subclasses to change the options to special values. In such a case use:

   super.updateState ();
   setOptions (...);
 


setValue

public void setValue(Object value)
Overrides superclass method. Adds reseting of wizard for CLOSED_OPTION.

Overrides:
setValue in class NotifyDescriptor
Parameters:
value - the chosen value
See Also:
NotifyDescriptor.getValue()

org.openide.dialogs 6.5.22

Built on July 11 2007.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.