wicket.extensions.wizard
Class Wizard

java.lang.Object
  extended bywicket.Component
      extended bywicket.MarkupContainer
          extended bywicket.markup.html.WebMarkupContainer
              extended bywicket.markup.html.WebMarkupContainerWithAssociatedMarkup
                  extended bywicket.markup.html.panel.Panel
                      extended bywicket.extensions.wizard.Wizard
All Implemented Interfaces:
IWizard, IWizardModelListener, java.io.Serializable

public class Wizard
extends wicket.markup.html.panel.Panel
implements IWizardModelListener, IWizard

A wizard is a dialog component that takes it's users through a number of predefined steps. It has common functionality like a next, previous, finish and cancel button, and it uses a IWizardModel to navigate through the steps.

This default implementation should be useful for basic cases, if the layout is exactly what you need. If you want to provide your own layout and/ or have more or less components (e.g. you want to additionally provide an overview component), you can override this class and add the components you want yourself.

If that's still not enough flexiblity for you, but you want to use the wizard model and wizard step functionality provided in this package, you can provde a custom wizard

Author:
Eelco Hillenius
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.HeaderPartContainer
 
Nested classes inherited from class wicket.Component
wicket.Component.ComponentModelChange, wicket.Component.EnabledChange, wicket.Component.IVisitor, wicket.Component.VisibilityChange
 
Field Summary
static java.lang.String BUTTONS_ID
          Component id of the buttons panel as used by the default wizard panel.
static java.lang.String FEEDBACK_ID
          Component id of the feedback panel as used by the default wizard panel.
static java.lang.String HEADER_ID
          Component id of the header panel as used by the default wizard panel.
static java.lang.String OVERVIEW_ID
          Component id of the overview panel as used by the default wizard panel.
static java.lang.String VIEW_ID
          Component id of the view panel (where the main wizard contents go) as used by the default wizard panel.
 
Fields inherited from class wicket.Component
ENABLE, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER
 
Constructor Summary
Wizard(java.lang.String id)
          Construct.
Wizard(java.lang.String id, boolean addDefaultCssStyle)
          Construct.
Wizard(java.lang.String id, IWizardModel wizardModel)
          Construct with a transition model.
Wizard(java.lang.String id, IWizardModel wizardModel, boolean addDefaultCssStyle)
          Construct with a transition model.
 
Method Summary
 void addDefaultCssStyle()
          Will let the wizard contribute a CSS include to the page's header.
 IWizardStep getActiveStep()
          Convenience method to get the active step from the model.
 wicket.markup.html.form.Form getForm()
          Gets the form in which the view is nested, and on which the wizard buttons work.
 IWizardModel getWizardModel()
          Gets the model this wizard is using.
protected  void init(IWizardModel wizardModel)
          Initialize this wizard with a transition model.
 boolean isVersioned()
          Turn versioning off for wizards.
protected  wicket.Component newButtonBar(java.lang.String id)
          Create a new button bar.
protected  wicket.markup.html.panel.FeedbackPanel newFeedbackPanel(java.lang.String id)
          Create a new feedback panel.
protected  wicket.Component newOverviewBar(java.lang.String id)
          Create a new overview bar.
 void onActiveStepChanged(IWizardStep newStep)
          Called when the active step of this model changed.
 void onCancel()
          Called when the wizard is cancelled.
 void onFinish()
          Called when the wizard is finished.
 
Methods inherited from class wicket.markup.html.panel.Panel
onComponentTag, onComponentTagBody, renderHead
 
Methods inherited from class wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
newHeaderPartContainer, renderHeadFromAssociatedMarkupFile
 
Methods inherited from class wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage
 
Methods inherited from class wicket.MarkupContainer
add, autoAdd, contains, findMarkupStream, get, getAssociatedMarkupStream, getMarkupStream, internalAdd, internalAttach, internalDetach, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, replace, setMarkupStream, setModel, size, toString, toString, visitChildren, visitChildren
 
Methods inherited from class wicket.Component
add, addStateChange, checkComponentTag, checkComponentTagAttribute, continueToOriginalDestination, debug, detachBehaviors, detachModel, detachModels, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getApplication, getApplicationPages, getApplicationSettings, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMetaData, getModel, getModelComparator, getModelObject, getModelObjectAsString, getOutputMarkupId, getPage, getPageFactory, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getString, getString, getString, getStyle, getVariation, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnAttach, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isBehaviorAccepted, isEnableAllowed, isEnabled, isHeadRendered, isIgnoreAttributeModifier, isRenderAllowed, isVisible, isVisibleInHierarchy, modelChanged, modelChanging, newPage, newPage, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onDetach, onEndRequest, onModelChanged, onModelChanging, onRender, redirectToInterceptPage, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderedBehaviors, replaceComponentTagBody, replaceWith, resetHeadRendered, sameRootModel, sameRootModel, setAuto, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMetaData, setModelObject, setOutputMarkupId, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BUTTONS_ID

public static final java.lang.String BUTTONS_ID
Component id of the buttons panel as used by the default wizard panel.

See Also:
Constant Field Values

FEEDBACK_ID

public static final java.lang.String FEEDBACK_ID
Component id of the feedback panel as used by the default wizard panel.

See Also:
Constant Field Values

HEADER_ID

public static final java.lang.String HEADER_ID
Component id of the header panel as used by the default wizard panel.

See Also:
Constant Field Values

OVERVIEW_ID

public static final java.lang.String OVERVIEW_ID
Component id of the overview panel as used by the default wizard panel.

See Also:
Constant Field Values

VIEW_ID

public static final java.lang.String VIEW_ID
Component id of the view panel (where the main wizard contents go) as used by the default wizard panel.

See Also:
Constant Field Values
Constructor Detail

Wizard

public Wizard(java.lang.String id)
Construct. Adds the default style.

If you override this class, it makes sense to call this constructor (super(id)), then - in your constructor - construct a transition model and then call init(IWizardModel) to initialize the wizard.

This constructor is not meant for normal clients of this class

Parameters:
id - The component model

Wizard

public Wizard(java.lang.String id,
              boolean addDefaultCssStyle)
Construct.

If you override this class, it makes sense to call this constructor (super(id)), then - in your constructor - construct a transition model and then call init(IWizardModel) to initialize the wizard.

This constructor is not meant for normal clients of this class

Parameters:
id - The component model
addDefaultCssStyle - Whether to add the default style

Wizard

public Wizard(java.lang.String id,
              IWizardModel wizardModel)
Construct with a transition model. Adds the default style.

For most clients, this is typically the right constructor to use.

Parameters:
id - The component id
wizardModel - The transitions model

Wizard

public Wizard(java.lang.String id,
              IWizardModel wizardModel,
              boolean addDefaultCssStyle)
Construct with a transition model.

For most clients, this is typically the right constructor to use.

Parameters:
id - The component id
wizardModel - The transitions model
addDefaultCssStyle - Whether to add the default style
Method Detail

addDefaultCssStyle

public final void addDefaultCssStyle()
Will let the wizard contribute a CSS include to the page's header. It will add Wizard.css from this package. This method is typically called by the class that creates the wizard.


getActiveStep

public final IWizardStep getActiveStep()
Convenience method to get the active step from the model.

Returns:
The active step

getForm

public final wicket.markup.html.form.Form getForm()
Gets the form in which the view is nested, and on which the wizard buttons work.

Returns:
The wizard form

getWizardModel

public final IWizardModel getWizardModel()
Description copied from interface: IWizard
Gets the model this wizard is using. This should never be null; a wizard is supposed to have a model.

Specified by:
getWizardModel in interface IWizard
Returns:
The wizard model.
See Also:
IWizard.getWizardModel()

isVersioned

public boolean isVersioned()
Turn versioning off for wizards. This works best when the wizard is not accessed from bookmarkable pages, so that the url doesn't change at all.

Returns:
False
See Also:
Component.isVersioned()

onActiveStepChanged

public void onActiveStepChanged(IWizardStep newStep)
Description copied from interface: IWizardModelListener
Called when the active step of this model changed.

Specified by:
onActiveStepChanged in interface IWizardModelListener
Parameters:
newStep - The new step
See Also:
IWizardModelListener.onActiveStepChanged(wicket.extensions.wizard.IWizardStep)

onCancel

public void onCancel()
Called when the wizard is cancelled.

Specified by:
onCancel in interface IWizardModelListener

onFinish

public void onFinish()
Called when the wizard is finished.

Specified by:
onFinish in interface IWizardModelListener

init

protected void init(IWizardModel wizardModel)
Initialize this wizard with a transition model.

If you constructed this wizard using a constructor without the transitions model argument, you must call this method prior to actually using it.

Parameters:
wizardModel -

newButtonBar

protected wicket.Component newButtonBar(java.lang.String id)
Create a new button bar. Clients can override this method to provide a custom button bar.

Parameters:
id - The id to be used to construct the component
Returns:
A new button bar

newFeedbackPanel

protected wicket.markup.html.panel.FeedbackPanel newFeedbackPanel(java.lang.String id)
Create a new feedback panel. Clients can override this method to provide a custom feedback panel.

Parameters:
id - The id to be used to construct the component
Returns:
A new feedback panel

newOverviewBar

protected wicket.Component newOverviewBar(java.lang.String id)
Create a new overview bar. Clients can override this method to provide a custom bar.

Parameters:
id - The id to be used to construct the component
Returns:
A new ovewview bar


Copyright © 2004-2008 Wicket developers. All Rights Reserved.