source: josm/trunk/src/org/openstreetmap/josm/gui/progress/SwingRenderingProgressMonitor.java@ 8510

Last change on this file since 8510 was 8510, checked in by Don-vip, 9 years ago

checkstyle: enable relevant whitespace checks and fix them

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.progress;
3
4import java.awt.Component;
5
6import org.openstreetmap.josm.Main;
7import org.openstreetmap.josm.gui.util.GuiHelper;
8import org.openstreetmap.josm.tools.CheckParameterUtil;
9
10/**
11 * SwingRenderingProgressMonitor is progress monitor which delegates the rendering
12 * of progress information to a {@link ProgressRenderer}.
13 * Methods of the progress renderer are always called on the Swing EDT.
14 *
15 */
16public class SwingRenderingProgressMonitor extends AbstractProgressMonitor {
17 private static final int PROGRESS_BAR_MAX = 100;
18 private int currentProgressValue = 0;
19 private ProgressRenderer delegate;
20
21 /**
22 *
23 * @param delegate the delegate which renders the progress information. Must not be null.
24 * @throws IllegalArgumentException if delegate is null
25 */
26 public SwingRenderingProgressMonitor(ProgressRenderer delegate) {
27 super(new CancelHandler());
28 CheckParameterUtil.ensureParameterNotNull(delegate, "delegate");
29 this.delegate = delegate;
30 }
31
32 @Override
33 public void doBeginTask() {
34 GuiHelper.runInEDT(new Runnable() {
35 @Override
36 public void run() {
37 delegate.setCustomText("");
38 delegate.setMaximum(PROGRESS_BAR_MAX);
39 }
40 });
41 }
42
43 @Override
44 public void doFinishTask() {
45 // do nothing
46 }
47
48 @Override
49 protected void updateProgress(double progressValue) {
50 final int newValue = (int) (progressValue * PROGRESS_BAR_MAX);
51 if (newValue != currentProgressValue) {
52 currentProgressValue = newValue;
53 GuiHelper.runInEDT(new Runnable() {
54 @Override
55 public void run() {
56 delegate.setValue(currentProgressValue);
57 }
58 });
59 }
60 }
61
62 @Override
63 protected void doSetCustomText(final String title) {
64 checkState(State.IN_TASK, State.IN_SUBTASK);
65 GuiHelper.runInEDT(new Runnable() {
66 @Override
67 public void run() {
68 delegate.setCustomText(title);
69 }
70 });
71 }
72
73 @Override
74 protected void doSetTitle(final String title) {
75 checkState(State.IN_TASK, State.IN_SUBTASK);
76 GuiHelper.runInEDT(new Runnable() {
77 @Override
78 public void run() {
79 delegate.setTaskTitle(title);
80 }
81 });
82 }
83
84 @Override
85 protected void doSetIntermediate(final boolean value) {
86 GuiHelper.runInEDT(new Runnable() {
87 @Override
88 public void run() {
89 delegate.setIndeterminate(value);
90 }
91 });
92 }
93
94 @Override
95 public void setProgressTaskId(ProgressTaskId taskId) {
96 }
97
98 @Override
99 public ProgressTaskId getProgressTaskId() {
100 return null;
101 }
102
103 @Override
104 public Component getWindowParent() {
105 return Main.parent;
106 }
107}
Note: See TracBrowser for help on using the repository browser.