java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
org.apache.wicket.extensions.wizard.Wizard
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, IWizard, IWizardModelListener, org.apache.wicket.feedback.IFeedbackContributor, org.apache.wicket.IConverterLocator, org.apache.wicket.IMetadataContext<Serializable,org.apache.wicket.Component>, org.apache.wicket.IQueueRegion, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable

public class Wizard extends org.apache.wicket.markup.html.panel.Panel implements IWizardModelListener, IWizard
A wizard is a dialog component that takes users through a number of steps to complete a task. It has common functionality like a next, previous, finish and cancel button, and it uses a IWizardModel to navigate through the steps.

Before you can use the wizard component, it needs to be initialized with a model. You do this by calling init(IWizardModel) with the wizard model you intent to use.

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 using methods like newButtonBar(String) et-cetera.

Author:
Eelco Hillenius
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Component id of the buttons panel as used by the default wizard panel.
    static final String
    Component id of the feedback panel as used by the default wizard panel.
    static final String
    Component id of the form as used by the default wizard panel.
    static final String
    Component id of the header panel as used by the default wizard panel.
    static final String
    Component id of the overview panel as used by the default wizard panel.
    static final String
    Component id of the view panel (where the main wizard contents go) as used by the default wizard panel.

    Fields inherited from class org.apache.wicket.markup.html.panel.Panel

    PANEL

    Fields inherited from class org.apache.wicket.Component

    ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct.
    Wizard(String id, IWizardModel wizardModel)
    Construct with a transition model.
  • Method Summary

    Modifier and Type
    Method
    Description
    Convenience method to get the active step from the model.
    org.apache.wicket.markup.html.form.Form<?>
    Gets the form in which the view is nested, and on which the wizard buttons work.
    Gets the model this wizard is using.
    protected void
    init(IWizardModel wizardModel)
    Initialize this wizard with a transition model.
    boolean
    Turn versioning off for wizards.
    protected org.apache.wicket.Component
    Create a new button bar.
    protected org.apache.wicket.Component
    Create a new feedback panel.
    protected <E> org.apache.wicket.markup.html.form.Form<E>
    Create a new form.
    protected org.apache.wicket.Component
    Create a new overview bar.
    void
    Called when the active step of this model changed.
    void
    Called when the wizard is canceled.
    void
    Called when the wizard is finished.

    Methods inherited from class org.apache.wicket.markup.html.panel.Panel

    getRegionMarkup, newMarkupSourcingStrategy

    Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

    getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession

    Methods inherited from class org.apache.wicket.MarkupContainer

    add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onDetach, onInitialize, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren

    Methods inherited from class org.apache.wicket.Component

    add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.wicket.IQueueRegion

    dequeue, newDequeueContext

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Field Details

  • Constructor Details

    • Wizard

      public Wizard(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(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
  • Method Details

    • getActiveStep

      public final IWizardStep getActiveStep()
      Convenience method to get the active step from the model.
      Returns:
      The active step
    • getForm

      public org.apache.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:
    • 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.
      Overrides:
      isVersioned in class org.apache.wicket.Component
      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:
    • onCancel

      public void onCancel()
      Called when the wizard is canceled.
      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 org.apache.wicket.Component newButtonBar(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 org.apache.wicket.Component newFeedbackPanel(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
    • newForm

      protected <E> org.apache.wicket.markup.html.form.Form<E> newForm(String id)
      Create a new form. Clients can override this method to provide a custom Form.
      Type Parameters:
      E - The form's model object type
      Parameters:
      id - The id to be used to construct the component
      Returns:
      a new form
    • newOverviewBar

      protected org.apache.wicket.Component newOverviewBar(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 overview bar