X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2Fsrtm%2FLookupSrtmFunction.java;h=4d13348d3c4be742656f3b3690c7a9db09609ca8;hb=7f5ed2be62905bd37717376dc22d09e5ea7edb4d;hp=1bf26cd8646c9b36ad8761f07b74c55f0636a978;hpb=140e9d165f85c3d4f0435a311e091209313faa2a;p=GpsPrune.git diff --git a/tim/prune/function/srtm/LookupSrtmFunction.java b/tim/prune/function/srtm/LookupSrtmFunction.java index 1bf26cd..4d13348 100644 --- a/tim/prune/function/srtm/LookupSrtmFunction.java +++ b/tim/prune/function/srtm/LookupSrtmFunction.java @@ -1,23 +1,12 @@ package tim.prune.function.srtm; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.io.IOException; import java.net.URL; import java.util.ArrayList; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JLabel; import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JProgressBar; import tim.prune.App; import tim.prune.DataSubscriber; @@ -27,6 +16,7 @@ import tim.prune.UpdateMessageBroker; import tim.prune.data.DataPoint; import tim.prune.data.Field; import tim.prune.data.Track; +import tim.prune.gui.ProgressDialog; import tim.prune.undo.UndoLookupSrtm; /** @@ -37,12 +27,8 @@ import tim.prune.undo.UndoLookupSrtm; */ public class LookupSrtmFunction extends GenericFunction implements Runnable { - /** function dialog */ - private JDialog _dialog = null; - /** Progress bar for function */ - private JProgressBar _progressBar = null; - /** Cancel flag */ - private boolean _cancelled = false; + /** Progress dialog */ + ProgressDialog _progress = null; /** Expected size of hgt file in bytes */ private static final long HGT_SIZE = 2884802L; @@ -69,48 +55,16 @@ public class LookupSrtmFunction extends GenericFunction implements Runnable */ public void begin() { - if (_dialog == null) + if (_progress == null) { - _dialog = new JDialog(_parentFrame, I18nManager.getText(getNameKey()), false); - _dialog.setLocationRelativeTo(_parentFrame); - _dialog.getContentPane().add(makeDialogComponents()); - _dialog.pack(); + _progress = new ProgressDialog(_parentFrame, getNameKey()); } - _progressBar.setMinimum(0); - _progressBar.setMaximum(100); - _progressBar.setValue(20); - _cancelled = false; + _progress.show(); // start new thread for time-consuming part new Thread(this).start(); } - /** - * Make the dialog components - * @return the GUI components for the dialog - */ - private Component makeDialogComponents() - { - JPanel dialogPanel = new JPanel(); - dialogPanel.setLayout(new BorderLayout()); - dialogPanel.add(new JLabel(I18nManager.getText("confirm.running")), BorderLayout.NORTH); - _progressBar = new JProgressBar(); - _progressBar.setPreferredSize(new Dimension(250, 30)); - dialogPanel.add(_progressBar, BorderLayout.CENTER); - // Cancel button at the bottom - JPanel buttonPanel = new JPanel(); - buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); - JButton cancelButton = new JButton(I18nManager.getText("button.cancel")); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - _cancelled = true; - } - }); - buttonPanel.add(cancelButton); - dialogPanel.add(buttonPanel, BorderLayout.SOUTH); - return dialogPanel; - } - /** * Run method using separate thread */ @@ -144,7 +98,6 @@ public class LookupSrtmFunction extends GenericFunction implements Runnable overwriteZeros = true; } - _dialog.setVisible(true); // Now loop again to extract the required tiles for (int i=0; i 0) { // Inform app including undo information @@ -260,6 +214,9 @@ public class LookupSrtmFunction extends GenericFunction implements Runnable _app.completeFunction(undo, I18nManager.getText("confirm.lookupsrtm1") + " " + numAltitudesFound + " " + I18nManager.getText("confirm.lookupsrtm2")); } + else if (errorMessage != null) { + _app.showErrorMessageNoLookup(getNameKey(), errorMessage); + } else if (inTileList.size() > 0) { _app.showErrorMessage(getNameKey(), "error.lookupsrtm.nonefound"); }