source: josm/trunk/src/org/openstreetmap/josm/gui/io/UploadAndSaveProgressRenderer.java@ 9996

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

sonar - use JLabel.setLabelFor where applicable + add/update unit tests

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.io;
3
4import java.awt.GridBagConstraints;
5import java.awt.GridBagLayout;
6import java.awt.Insets;
7import java.beans.PropertyChangeEvent;
8import java.beans.PropertyChangeListener;
9
10import javax.swing.JLabel;
11import javax.swing.JPanel;
12import javax.swing.JProgressBar;
13
14import org.openstreetmap.josm.gui.io.SaveLayersModel.Mode;
15import org.openstreetmap.josm.gui.progress.ProgressRenderer;
16
17class UploadAndSaveProgressRenderer extends JPanel implements ProgressRenderer, PropertyChangeListener {
18
19 private final JLabel lblTaskTitle = new JLabel("");
20 private final JLabel lblCustomText = new JLabel("");
21 private final JProgressBar progressBar = new JProgressBar(JProgressBar.HORIZONTAL);
22
23 /**
24 * Constructs a new {@code UploadAndSaveProgressRenderer}.
25 */
26 UploadAndSaveProgressRenderer() {
27 build();
28 // initially not visible
29 setVisible(false);
30 }
31
32 protected void build() {
33 setLayout(new GridBagLayout());
34 GridBagConstraints gc = new GridBagConstraints();
35 gc.gridx = 0;
36 gc.gridy = 0;
37 gc.fill = GridBagConstraints.HORIZONTAL;
38 gc.weightx = 1.0;
39 gc.weighty = 0.0;
40 gc.insets = new Insets(5, 0, 0, 5);
41 add(lblTaskTitle, gc);
42 lblTaskTitle.setLabelFor(lblCustomText);
43
44 gc.gridy = 1;
45 add(lblCustomText, gc);
46 lblCustomText.setLabelFor(progressBar);
47
48 gc.gridy = 2;
49 add(progressBar, gc);
50 }
51
52 @Override
53 public void setCustomText(String message) {
54 lblCustomText.setText(message);
55 repaint();
56 }
57
58 @Override
59 public void setIndeterminate(boolean indeterminate) {
60 progressBar.setIndeterminate(indeterminate);
61 repaint();
62 }
63
64 @Override
65 public void setMaximum(int maximum) {
66 progressBar.setMaximum(maximum);
67 repaint();
68 }
69
70 @Override
71 public void setTaskTitle(String taskTitle) {
72 lblTaskTitle.setText(taskTitle);
73 repaint();
74 }
75
76 @Override
77 public void setValue(int value) {
78 progressBar.setValue(value);
79 repaint();
80 }
81
82 @Override
83 public void propertyChange(PropertyChangeEvent evt) {
84 if (evt.getPropertyName().equals(SaveLayersModel.MODE_PROP)) {
85 setVisible(Mode.UPLOADING_AND_SAVING.equals(evt.getNewValue()));
86 }
87 getParent().validate();
88 }
89}
Note: See TracBrowser for help on using the repository browser.