summaryrefslogtreecommitdiffstats
path: root/documentation/components/components-progressbar.asciidoc
diff options
context:
space:
mode:
authorPekka Hyvönen <pekka@vaadin.com>2017-01-05 18:09:32 +0200
committerIlia Motornyi <elmot@vaadin.com>2017-01-05 18:09:32 +0200
commit4130f1d87d6ab387a363a4e44e8746eddc049d13 (patch)
tree0a6cb8b997f95c710dbac269bfba3615eb74df6a /documentation/components/components-progressbar.asciidoc
parent11f10b827e92ed7c07d6584a181f7f1374e8109b (diff)
downloadvaadin-framework-4130f1d87d6ab387a363a4e44e8746eddc049d13.tar.gz
vaadin-framework-4130f1d87d6ab387a363a4e44e8746eddc049d13.zip
Update component docs for 8 except Grid
Diffstat (limited to 'documentation/components/components-progressbar.asciidoc')
-rw-r--r--documentation/components/components-progressbar.asciidoc102
1 files changed, 0 insertions, 102 deletions
diff --git a/documentation/components/components-progressbar.asciidoc b/documentation/components/components-progressbar.asciidoc
index fa443d1b47..753dd0f735 100644
--- a/documentation/components/components-progressbar.asciidoc
+++ b/documentation/components/components-progressbar.asciidoc
@@ -62,7 +62,6 @@ bar.setIndeterminate(true);
.Indeterminate progress bar
image::img/progressbar-indeterminate.png[width=15%, scaledwidth=40%]
-ifdef::web[]
[[components.progressbar.thread]]
== Doing Heavy Computation
@@ -75,107 +74,6 @@ updating the UI inside a [methodname]#UI.access()# call in a
<<dummy/../../../framework/advanced/advanced-push#advanced.push.running,"Accessing
UI from Another Thread">>.
-In the following example, we create a thread in the server to do some "heavy
-work" and use polling to update the UI. All the thread needs to do is to set the
-value of the progress bar with [methodname]#setValue()# and the current progress
-is displayed automatically when the browser polls the server.
-
-
-[source, java]
-----
-HorizontalLayout barbar = new HorizontalLayout();
-layout.addComponent(barbar);
-
-// Create the bar, disabled until progress is started
-final ProgressBar progress = new ProgressBar(new Float(0.0));
-progress.setEnabled(false);
-barbar.addComponent(progress);
-
-final Label status = new Label("not running");
-barbar.addComponent(status);
-
-// A button to start progress
-final Button button = new Button("Click to start");
-layout.addComponent(button);
-
-// A thread to do some work
-class WorkThread extends Thread {
- // Volatile because read in another thread in access()
- volatile double current = 0.0;
-
- @Override
- public void run() {
- // Count up until 1.0 is reached
- while (current < 1.0) {
- current += 0.01;
-
- // Do some "heavy work"
- try {
- sleep(50); // Sleep for 50 milliseconds
- } catch (InterruptedException e) {}
-
- // Update the UI thread-safely
- UI.getCurrent().access(new Runnable() {
- @Override
- public void run() {
- progress.setValue(new Float(current));
- if (current < 1.0)
- status.setValue("" +
- ((int)(current*100)) + "% done");
- else
- status.setValue("all done");
- }
- });
- }
-
- // Show the "all done" for a while
- try {
- sleep(2000); // Sleep for 2 seconds
- } catch (InterruptedException e) {}
-
- // Update the UI thread-safely
- UI.getCurrent().access(new Runnable() {
- @Override
- public void run() {
- // Restore the state to initial
- progress.setValue(new Float(0.0));
- progress.setEnabled(false);
-
- // Stop polling
- UI.getCurrent().setPollInterval(-1);
-
- button.setEnabled(true);
- status.setValue("not running");
- }
- });
- }
-}
-
-// Clicking the button creates and runs a work thread
-button.addClickListener(new Button.ClickListener() {
- public void buttonClick(ClickEvent event) {
- final WorkThread thread = new WorkThread();
- thread.start();
-
- // Enable polling and set frequency to 0.5 seconds
- UI.getCurrent().setPollInterval(500);
-
- // Disable the button until the work is done
- progress.setEnabled(true);
- button.setEnabled(false);
-
- status.setValue("running...");
- }
-});
-----
-
-The example is illustrated in <<figure.components.progressbar.thread>>.
-
-[[figure.components.progressbar.thread]]
-.Doing heavy work
-image::img/progressbar-thread.png[width=40%, scaledwidth=70%]
-
-endif::web[]
[[components.progressbar.css]]
== CSS Style Rules