Changeset 4718 in josm for trunk/src/org/openstreetmap/josm/gui/MapStatus.java
- Timestamp:
- 2011-12-27T12:56:27+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/MapStatus.java
r4604 r4718 32 32 import javax.swing.JLabel; 33 33 import javax.swing.JPanel; 34 import javax.swing.JProgressBar; 34 35 import javax.swing.JScrollPane; 35 36 import javax.swing.JTextField; 36 37 import javax.swing.Popup; 37 38 import javax.swing.PopupFactory; 39 import javax.swing.UIManager; 38 40 39 41 import org.openstreetmap.josm.Main; … … 44 46 import org.openstreetmap.josm.data.osm.OsmPrimitiveType; 45 47 import org.openstreetmap.josm.gui.help.Helpful; 48 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor; 49 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor.ProgressMonitorDialog; 46 50 import org.openstreetmap.josm.tools.GBC; 47 51 import org.openstreetmap.josm.tools.ImageProvider; … … 95 99 } 96 100 101 public class BackgroundProgressMonitor implements ProgressMonitorDialog { 102 103 private String title; 104 private String customText; 105 106 private void updateText() { 107 if (customText != null && !customText.isEmpty()) { 108 progressBar.setToolTipText(tr("{0} ({1})", title, customText)); 109 } else { 110 progressBar.setToolTipText(title); 111 } 112 } 113 114 public void setVisible(boolean visible) { 115 progressBar.setVisible(visible); 116 } 117 118 public void updateProgress(int progress) { 119 progressBar.setValue(progress); 120 MapStatus.this.doLayout(); 121 } 122 123 public void setCustomText(String text) { 124 this.customText = text; 125 updateText(); 126 } 127 128 public void setTitle(String text) { 129 this.title = text; 130 updateText(); 131 } 132 133 public void setIndeterminate(boolean newValue) { 134 UIManager.put("ProgressBar.cycleTime", UIManager.getInt("ProgressBar.repaintInterval") * 100); 135 progressBar.setIndeterminate(newValue); 136 } 137 138 @Override 139 public void appendLogMessage(String message) { 140 if (message != null && !message.isEmpty()) { 141 System.out.println("appendLogMessage not implemented for background tasks. Message was: " + message); 142 } 143 } 144 145 } 146 97 147 final ImageLabel lonText = new ImageLabel("lon", tr("The geographic longitude at the mouse pointer."), 11); 98 148 final ImageLabel nameText = new ImageLabel("name", tr("The name of the object at the mouse pointer."), 20); … … 102 152 final ImageLabel headingText = new ImageLabel("heading", tr("The (compass) heading of the line segment being drawn."), 6); 103 153 final ImageLabel distText = new ImageLabel("dist", tr("The length of the new way segment being drawn."), 10); 154 final JProgressBar progressBar = new JProgressBar(); 155 public final BackgroundProgressMonitor progressMonitor = new BackgroundProgressMonitor(); 104 156 105 157 /** … … 658 710 helpText.setEditable(false); 659 711 add(nameText, GBC.std().insets(3,0,0,0)); 660 add(helpText, GBC.eol().insets(3,0,0,0).fill(GBC.HORIZONTAL)); 712 add(helpText, GBC.std().insets(3,0,0,0).fill(GBC.HORIZONTAL)); 713 714 progressBar.setMaximum(PleaseWaitProgressMonitor.PROGRESS_BAR_MAX); 715 { 716 GBC gbc = GBC.eol(); 717 gbc.ipadx = 100; 718 add(progressBar,gbc); 719 } 720 progressBar.addMouseListener(new MouseAdapter() { 721 @Override 722 public void mouseClicked(MouseEvent e) { 723 PleaseWaitProgressMonitor monitor = Main.currentProgressMonitor; 724 if (monitor != null) { 725 monitor.showForegroundDialog(); 726 } 727 } 728 }); 661 729 662 730 // The background thread
Note:
See TracChangeset
for help on using the changeset viewer.