All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vaadin.ui.ProgressBar Maven / Gradle / Ivy

There is a newer version: 8.27.3
Show newest version
/*
 * Copyright (C) 2000-2024 Vaadin Ltd
 *
 * This program is available under Vaadin Commercial License and Service Terms.
 *
 * See  for the full
 * license.
 */
package com.vaadin.ui;

import org.jsoup.nodes.Element;

import com.vaadin.shared.ui.progressindicator.ProgressBarState;
import com.vaadin.ui.declarative.DesignAttributeHandler;
import com.vaadin.ui.declarative.DesignContext;

/**
 * A component for displaying progress.
 * 

* The default mode is to show the current progress internally represented by a * floating point value between 0 and 1 (inclusive). The progress bar can also * be in an indeterminate mode showing an animation indicating that the task is * running but without providing any information about the current progress. * * @since 8.0 * @author Vaadin Ltd */ public class ProgressBar extends AbstractComponent { private static final float DEFAULT_VALUE = 0f; /** * Creates a new progress bar initially set to 0% progress. */ public ProgressBar() { this(DEFAULT_VALUE); } /** * Creates a new progress bar with the given initial value. * * @param progress * the initial progress value */ public ProgressBar(float progress) { setValue(Float.valueOf(progress)); } /** * Gets the value of this progress bar. The value is a float * between 0 and 1 where 0 represents no progress at all and 1 represents * fully completed. * * @return the current progress value */ public float getValue() { return getState(false).state; } /** * Sets the value of this progress bar. The value is a float * between 0 and 1 where 0 represents no progress at all and 1 represents * fully completed. * * @param newValue * the current progress value * @since 8.0 */ public void setValue(float newValue) { getState().state = newValue; } @Override protected ProgressBarState getState() { return (ProgressBarState) super.getState(); } @Override protected ProgressBarState getState(boolean markAsDirty) { return (ProgressBarState) super.getState(markAsDirty); } /** * Sets whether or not this progress indicator is indeterminate. In * indeterminate mode there is an animation indicating that the task is * running but without providing any information about the current progress. * * @param indeterminate * true to set to indeterminate mode; otherwise * false */ public void setIndeterminate(boolean indeterminate) { getState().indeterminate = indeterminate; } /** * Gets whether or not this progress indicator is indeterminate. In * indeterminate mode there is an animation indicating that the task is * running but without providing any information about the current progress. * * @return true if set to indeterminate mode; otherwise * false */ public boolean isIndeterminate() { return getState(false).indeterminate; } @Override public void readDesign(Element design, DesignContext designContext) { super.readDesign(design, designContext); if (design.hasAttr("value") && !design.attr("value").isEmpty()) { setValue(DesignAttributeHandler.readAttribute("value", design.attributes(), Float.class)); } } @Override public void writeDesign(Element design, DesignContext designContext) { super.writeDesign(design, designContext); Float defaultValue = ((ProgressBar) designContext .getDefaultInstance(this)).getValue(); DesignAttributeHandler.writeAttribute("value", design.attributes(), getValue(), defaultValue, Float.class, designContext); } /** * Resets the value of this component, effectively displaying zero progress. * * @since 8.0 */ public void reset() { setValue(DEFAULT_VALUE); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy