X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureSettings.java;h=a3a23964579116ad01f4bb1881014106f729d703;hb=ad35f232acd499d9457056ca24b663866a09edd2;hp=0398c710bd70f968fa4b36d43d5ba07033709d66;hpb=00fac2b7864f28867a1bb4c5f8ccb60c225d80a9;p=jalview.git diff --git a/src/jalview/gui/FeatureSettings.java b/src/jalview/gui/FeatureSettings.java index 0398c71..a3a2396 100755 --- a/src/jalview/gui/FeatureSettings.java +++ b/src/jalview/gui/FeatureSettings.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -35,11 +35,12 @@ import java.awt.Color; public class FeatureSettings extends JPanel { DasSourceBrowser dassourceBrowser; + jalview.io.DasSequenceFeatureFetcher dasFeatureFetcher; JPanel settingsPane = new JPanel(); JPanel dasSettingsPane = new JPanel(); final FeatureRenderer fr; - final AlignFrame af; + public final AlignFrame af; Object [][] originalData; final JInternalFrame frame; JScrollPane scrollPane = new JScrollPane(); @@ -217,8 +218,8 @@ public class FeatureSettings extends JPanel } resetTable(false); - if (groupPanel != null) - groupPanel.validate(); + + validate(); } @@ -293,6 +294,13 @@ public class FeatureSettings extends JPanel data[dataIndex][0] = type; data[dataIndex][1] = fr.getColour(type); + if (data[dataIndex][1] == null) + { + //"Colour has been updated in another view!!" + fr.renderOrder = null; + return; + } + data[dataIndex][2] = new Boolean(true); dataIndex++; } @@ -450,6 +458,7 @@ public class FeatureSettings extends JPanel JPanel dasButtonPanel = new JPanel(); JButton fetchDAS = new JButton(); JButton saveDAS = new JButton(); + JButton cancelDAS = new JButton(); private void jbInit() throws Exception { @@ -532,8 +541,17 @@ public class FeatureSettings extends JPanel }); dasButtonPanel.setBorder(BorderFactory.createEtchedBorder()); dasSettingsPane.setBorder(null); + cancelDAS.setEnabled(false); + cancelDAS.setText("Cancel Fetch"); + cancelDAS.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + cancelDAS_actionPerformed(e); + } + }); this.add(tabbedPane, java.awt.BorderLayout.CENTER); - tabbedPane.addTab("Display Settings", settingsPane ); + tabbedPane.addTab("Feature Settings", settingsPane ); tabbedPane.addTab("DAS Settings", dasSettingsPane); bigPanel.add(transPanel, java.awt.BorderLayout.SOUTH); transPanel.add(transparency); @@ -545,6 +563,7 @@ public class FeatureSettings extends JPanel bigPanel.add(scrollPane, java.awt.BorderLayout.CENTER); dasSettingsPane.add(dasButtonPanel, java.awt.BorderLayout.SOUTH); dasButtonPanel.add(fetchDAS); + dasButtonPanel.add(cancelDAS); dasButtonPanel.add(saveDAS); settingsPane.add(bigPanel, java.awt.BorderLayout.CENTER); settingsPane.add(buttonPanel, java.awt.BorderLayout.SOUTH); @@ -552,15 +571,17 @@ public class FeatureSettings extends JPanel public void fetchDAS_actionPerformed(ActionEvent e) { + fetchDAS.setEnabled(false); + cancelDAS.setEnabled(true); Vector selectedSources = dassourceBrowser.getSelectedSources(); SequenceI [] dataset, seqs ; int iSize; if(af.getViewport().getSelectionGroup()!=null - && af.getViewport().getSelectionGroup().getSize(false)>0) + && af.getViewport().getSelectionGroup().getSize()>0) { - iSize = af.getViewport().getSelectionGroup().getSize(false); + iSize = af.getViewport().getSelectionGroup().getSize(); dataset = new SequenceI[iSize]; seqs = af.getViewport().getSelectionGroup(). getSequencesInOrder( @@ -578,9 +599,10 @@ public class FeatureSettings extends JPanel dataset[i] = seqs[i].getDatasetSequence(); } - new jalview.io.DasSequenceFeatureFetcher( + dasFeatureFetcher = + new jalview.io.DasSequenceFeatureFetcher( dataset, - af, + this, selectedSources); af.getViewport().setShowSequenceFeatures(true); @@ -592,6 +614,19 @@ public class FeatureSettings extends JPanel dassourceBrowser.saveProperties(jalview.bin.Cache.applicationProperties); } + public void complete() + { + fetchDAS.setEnabled(true); + cancelDAS.setEnabled(false); + } + + public void cancelDAS_actionPerformed(ActionEvent e) + { + dasFeatureFetcher.cancel(); + fetchDAS.setEnabled(true); + cancelDAS.setEnabled(false); + } + ///////////////////////////////////////////////////////////////////////// // http://java.sun.com/docs/books/tutorial/uiswing/components/table.html /////////////////////////////////////////////////////////////////////////