Class ProgressBar
- 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.wicketstuff.progressbar.ProgressBar
-
- All Implemented Interfaces:
Serializable,Iterable<Component>,IEventSink,IEventSource,IFeedbackContributor,IConverterLocator,IMetadataContext<Serializable,Component>,IQueueRegion,IHeaderContributor,IRequestableComponent,IHierarchical<Component>,IClusterable
public class ProgressBar extends Panel
The
ProgressBarcomponent displays a horizontal progress bar that is updatable via AJAX and displays the progress of some task. The current progress is given with aProgressionvalue object.This is a small example of a static
ProgressBarwithout 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
Progressionis 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
ProgressBaris automatically stopped (including AJAX updates) when theisDone()method of theProgressobject returns true. The bar can be stopped anytime using thestop()method.- Author:
- Christopher Hlubek (hlubek)
- See Also:
- Serialized Form
-
-
Field Summary
-
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 ProgressBar(String id, ProgressionModel model)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IModel<String>getLabelModel(ProgressionModel model)Create the model for the label on the bar.protected IModel<String>getMessageModel(ProgressionModel model)Create the model for the message label on the bar.intgetWidth()protected voidonFinished(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 voidonInitialize()voidrenderHead(IHeaderResponse response)voidsetWidth(int width)Set the width of the progress bar.voidstart(AjaxRequestTarget target)Start the progress bar.-
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, 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, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, 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
-
-
-
-
Constructor Detail
-
ProgressBar
public ProgressBar(String id, ProgressionModel model)
-
-
Method Detail
-
renderHead
public void renderHead(IHeaderResponse response)
- Specified by:
renderHeadin interfaceIHeaderContributor- Overrides:
renderHeadin classComponent
-
onInitialize
protected void onInitialize()
- Overrides:
onInitializein classMarkupContainer
-
getLabelModel
protected IModel<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 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(AjaxRequestTarget target)
Start the progress bar. This must happen in an AJAX request.- Parameters:
target-
-
onFinished
protected void onFinished(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
-
-