org.wicketstuff.progressbar
Class ProgressBar

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.panel.Panel
                  extended by org.wicketstuff.progressbar.ProgressBar
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.IConverterLocator, 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 ProgressBar
extends org.apache.wicket.markup.html.panel.Panel

The ProgressBar component displays a horizontal progress bar that is updatable via AJAX and displays the progress of some task. The current progress is given with a Progression value object.

This is a small example of a static ProgressBar without AJAX updates:

 
 final ProgressBar bar;
 add(bar = new ProgressBar("progress", new ProgressionModel() {
        protected Progression getProgression() {
                // progress is an int instance variable defined somewhere else
                return new Progression(progress);
        }
 }));
 
 

If the model for getting the Progression is not known at the time of construction, it could be injected later.

The progress bar can be used both actively or passively (e.g. to show progress in a wizard). The active progress bar must be started from within an ajax request (e.g. AjaxButton), as shown below:

 
 form.add(new AjaxButton("button") {
     protected void onSubmit(AjaxRequestTarget target, Form form) {
         bar.start(target);
         // start some task
     }
 }
 
 

The ProgressBar is automatically stopped (including AJAX updates) when the isDone() method of the Progress object returns true. The bar can be stopped anytime using the stop() method.

Author:
Christopher Hlubek (hlubek)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.wicket.markup.html.panel.Panel
PANEL
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
ProgressBar(String id, ProgressionModel model)
           
 
Method Summary
protected  org.apache.wicket.model.AbstractReadOnlyModel<String> getLabelModel(ProgressionModel model)
          Create the model for the label on the bar.
protected  org.apache.wicket.model.IModel<String> getMessageModel(ProgressionModel model)
          Create the model for the message label on the bar.
 int getWidth()
           
protected  void onFinished(org.apache.wicket.ajax.AjaxRequestTarget target)
          Override this method for custom action on finish of the task when progression.isDone() This could be cleaning up or hiding the ProgressBar for example.
protected  void onInitialize()
           
 void renderHead(org.apache.wicket.markup.head.IHeaderResponse response)
           
 void setWidth(int width)
          Set the width of the progress bar.
 void start(org.apache.wicket.ajax.AjaxRequestTarget target)
          Start the progress bar.
 
Methods inherited from class org.apache.wicket.markup.html.panel.Panel
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, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, 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, 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, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onDetach, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProgressBar

public ProgressBar(String id,
                   ProgressionModel model)
Method Detail

renderHead

public void renderHead(org.apache.wicket.markup.head.IHeaderResponse response)
Specified by:
renderHead in interface org.apache.wicket.markup.html.IHeaderContributor
Overrides:
renderHead in class org.apache.wicket.Component

onInitialize

protected void onInitialize()
Overrides:
onInitialize in class org.apache.wicket.Component

getLabelModel

protected org.apache.wicket.model.AbstractReadOnlyModel<String> getLabelModel(ProgressionModel model)
Create the model for the label on the bar. This could be overridden for a custom label

Parameters:
model - the ProgressionModel
Returns:
A model for the bar label

getMessageModel

protected org.apache.wicket.model.IModel<String> getMessageModel(ProgressionModel model)
Create the model for the message label on the bar. This could be overridden for a custom message label

Parameters:
model - the ProgressionModel
Returns:
A model for the bar message label

start

public void start(org.apache.wicket.ajax.AjaxRequestTarget target)
Start the progress bar. This must happen in an AJAX request.

Parameters:
target -

onFinished

protected void onFinished(org.apache.wicket.ajax.AjaxRequestTarget target)
Override this method for custom action on finish of the task when progression.isDone() This could be cleaning up or hiding the ProgressBar for example.

Parameters:
target -

getWidth

public int getWidth()
Returns:
the width of the ProgressBar

setWidth

public void setWidth(int width)
Set the width of the progress bar.

Parameters:
width - the width of the ProgressBar in px


Copyright © 2007–2016. All rights reserved.