Changeset 1811 in josm for trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java
- Timestamp:
- 2009-07-19T17:38:55+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java
r1810 r1811 4 4 import static org.openstreetmap.josm.tools.I18n.tr; 5 5 6 import java.awt.EventQueue;7 6 import java.awt.event.ActionEvent; 8 7 import java.awt.event.KeyEvent; … … 23 22 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 24 23 import org.openstreetmap.josm.gui.layer.Layer.LayerChangeListener; 24 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 25 25 import org.openstreetmap.josm.io.OsmApi; 26 26 import org.openstreetmap.josm.io.OsmServerBackreferenceReader; … … 32 32 * This action loads the set of primitives referring to the current selection from the OSM 33 33 * server. 34 * 34 * 35 35 * 36 36 */ … … 49 49 * Downloads the primitives referring to the primitives in <code>primitives</code>. 50 50 * Does nothing if primitives is null or empty. 51 * 51 * 52 52 * @param primitives the collection of primitives. 53 53 */ … … 68 68 /** 69 69 * The asynchronous task for downloading referring primitives 70 * 70 * 71 71 */ 72 72 class DownloadReferrersTask extends PleaseWaitRunnable { … … 76 76 private Collection<OsmPrimitive> primitives; 77 77 private DataSet parents; 78 79 protected void setIndeterminateEnabled(final boolean enabled) {80 EventQueue.invokeLater(81 new Runnable() {82 public void run() {83 Main.pleaseWaitDlg.setIndeterminate(enabled);84 }85 }86 );87 }88 78 89 79 public DownloadReferrersTask(Collection<OsmPrimitive> primitives) { … … 140 130 JOptionPane.WARNING_MESSAGE 141 131 ); 142 JDialog dialog = op.createDialog( Main.pleaseWaitDlg, tr("Conflicts in data"));132 JDialog dialog = op.createDialog(null, tr("Conflicts in data")); 143 133 dialog.setAlwaysOnTop(true); 144 134 dialog.setModal(true); … … 147 137 } 148 138 149 protected void downloadParents(OsmPrimitive primitive ) throws OsmTransferException{139 protected void downloadParents(OsmPrimitive primitive, ProgressMonitor progressMonitor) throws OsmTransferException{ 150 140 OsmServerBackreferenceReader reader = new OsmServerBackreferenceReader(primitive); 151 DataSet ds = reader.parseOsm( );141 DataSet ds = reader.parseOsm(progressMonitor); 152 142 MergeVisitor visitor = new MergeVisitor(parents, ds); 153 143 visitor.merge(); … … 156 146 @Override 157 147 protected void realRun() throws SAXException, IOException, OsmTransferException { 158 setIndeterminateEnabled(true);159 148 try { 149 progressMonitor.setTicksCount(primitives.size()); 160 150 int i=1; 161 151 for (OsmPrimitive primitive: primitives) { 162 152 if (cancelled) 163 153 return; 164 String title = tr("({0}/{1}) Loading parents of primitive {2}", i+1,primitives.size(), primitive.getName()); 165 Main.pleaseWaitDlg.setTitle(title); 166 downloadParents(primitive); 154 progressMonitor.subTask(tr("({0}/{1}) Loading parents of primitive {2}", i+1,primitives.size(), primitive.getName())); 155 downloadParents(primitive, progressMonitor.createSubTaskMonitor(1, false)); 167 156 i++; 168 157 } … … 171 160 return; 172 161 lastException = e; 173 } finally {174 setIndeterminateEnabled(false);175 162 } 176 163 } … … 179 166 /** 180 167 * Refreshes the enabled state 181 * 168 * 182 169 */ 183 170 protected void refreshEnabled() {
Note:
See TracChangeset
for help on using the changeset viewer.