X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2Fsrtm%2FLookupSrtmFunction.java;h=4d13348d3c4be742656f3b3690c7a9db09609ca8;hp=22ee8311a11c91222f58475dfdd2df6e0f750ca2;hb=7f5ed2be62905bd37717376dc22d09e5ea7edb4d;hpb=b361869e590bbca32664c16ac24d6296926594a5 diff --git a/tim/prune/function/srtm/LookupSrtmFunction.java b/tim/prune/function/srtm/LookupSrtmFunction.java index 22ee831..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,49 +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; - _dialog.dispose(); - } - }); - buttonPanel.add(cancelButton); - dialogPanel.add(buttonPanel, BorderLayout.SOUTH); - return dialogPanel; - } - /** * Run method using separate thread */ @@ -145,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