Cancel DAS fetching
authoramwaterhouse <Andrew Waterhouse>
Mon, 20 Nov 2006 18:17:37 +0000 (18:17 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 20 Nov 2006 18:17:37 +0000 (18:17 +0000)
src/jalview/gui/FeatureSettings.java

index ef688f7..2405808 100755 (executable)
@@ -35,11 +35,12 @@ import java.awt.Color;
 public class FeatureSettings extends JPanel\r
 {\r
   DasSourceBrowser dassourceBrowser;\r
+  jalview.io.DasSequenceFeatureFetcher dasFeatureFetcher;\r
   JPanel settingsPane = new JPanel();\r
   JPanel dasSettingsPane = new JPanel();\r
 \r
   final FeatureRenderer fr;\r
-  final AlignFrame af;\r
+  public final AlignFrame af;\r
   Object [][] originalData;\r
   final JInternalFrame frame;\r
   JScrollPane scrollPane = new JScrollPane();\r
@@ -450,6 +451,7 @@ public class FeatureSettings extends JPanel
   JPanel dasButtonPanel = new JPanel();\r
   JButton fetchDAS = new JButton();\r
   JButton saveDAS = new JButton();\r
+  JButton cancelDAS = new JButton();\r
   private void jbInit()\r
       throws Exception\r
   {\r
@@ -532,6 +534,15 @@ public class FeatureSettings extends JPanel
     });\r
     dasButtonPanel.setBorder(BorderFactory.createEtchedBorder());\r
     dasSettingsPane.setBorder(null);\r
+    cancelDAS.setEnabled(false);\r
+    cancelDAS.setText("Cancel Fetch");\r
+    cancelDAS.addActionListener(new ActionListener()\r
+    {\r
+      public void actionPerformed(ActionEvent e)\r
+      {\r
+        cancelDAS_actionPerformed(e);\r
+      }\r
+    });\r
     this.add(tabbedPane, java.awt.BorderLayout.CENTER);\r
     tabbedPane.addTab("Feature Settings", settingsPane );\r
     tabbedPane.addTab("DAS Settings", dasSettingsPane);\r
@@ -545,6 +556,7 @@ public class FeatureSettings extends JPanel
     bigPanel.add(scrollPane, java.awt.BorderLayout.CENTER);\r
     dasSettingsPane.add(dasButtonPanel, java.awt.BorderLayout.SOUTH);\r
     dasButtonPanel.add(fetchDAS);\r
+    dasButtonPanel.add(cancelDAS);\r
     dasButtonPanel.add(saveDAS);\r
     settingsPane.add(bigPanel, java.awt.BorderLayout.CENTER);\r
     settingsPane.add(buttonPanel, java.awt.BorderLayout.SOUTH);\r
@@ -552,6 +564,8 @@ public class FeatureSettings extends JPanel
 \r
   public void fetchDAS_actionPerformed(ActionEvent e)\r
   {\r
+    fetchDAS.setEnabled(false);\r
+    cancelDAS.setEnabled(true);\r
     Vector selectedSources = dassourceBrowser.getSelectedSources();\r
 \r
     SequenceI [] dataset, seqs ;\r
@@ -578,9 +592,10 @@ public class FeatureSettings extends JPanel
       dataset[i] = seqs[i].getDatasetSequence();\r
     }\r
 \r
-    new jalview.io.DasSequenceFeatureFetcher(\r
+    dasFeatureFetcher =\r
+        new jalview.io.DasSequenceFeatureFetcher(\r
         dataset,\r
-        af,\r
+        this,\r
         selectedSources);\r
 \r
     af.getViewport().setShowSequenceFeatures(true);\r
@@ -592,6 +607,19 @@ public class FeatureSettings extends JPanel
     dassourceBrowser.saveProperties(jalview.bin.Cache.applicationProperties);\r
   }\r
 \r
+  public void complete()\r
+  {\r
+    fetchDAS.setEnabled(true);\r
+    cancelDAS.setEnabled(false);\r
+  }\r
+\r
+  public void cancelDAS_actionPerformed(ActionEvent e)\r
+  {\r
+    dasFeatureFetcher.cancel();\r
+    fetchDAS.setEnabled(true);\r
+    cancelDAS.setEnabled(false);\r
+  }\r
+\r
   /////////////////////////////////////////////////////////////////////////\r
   // http://java.sun.com/docs/books/tutorial/uiswing/components/table.html\r
   /////////////////////////////////////////////////////////////////////////\r