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
data[dataIndex][0] = type;\r
\r
data[dataIndex][1] = fr.getColour(type);\r
+ if (data[dataIndex][1] == null)\r
+ {\r
+ //"Colour has been updated in another view!!"\r
+ fr.renderOrder = null;\r
+ return;\r
+ }\r
+\r
data[dataIndex][2] = new Boolean(true);\r
dataIndex++;\r
}\r
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
});\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
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
\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
int iSize;\r
\r
if(af.getViewport().getSelectionGroup()!=null\r
- && af.getViewport().getSelectionGroup().getSize(false)>0)\r
+ && af.getViewport().getSelectionGroup().getSize()>0)\r
{\r
- iSize = af.getViewport().getSelectionGroup().getSize(false);\r
+ iSize = af.getViewport().getSelectionGroup().getSize();\r
dataset = new SequenceI[iSize];\r
seqs = af.getViewport().getSelectionGroup().\r
getSequencesInOrder(\r
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
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