/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
\r
package jalview.gui;\r
\r
+import java.util.*;\r
+\r
+import java.awt.*;\r
+import java.awt.event.*;\r
import javax.swing.*;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.ActionEvent;\r
\r
+import jalview.datamodel.*;\r
import jalview.io.*;\r
-import jalview.datamodel.AlignmentAnnotation;\r
-\r
-import java.awt.Color;\r
-import java.awt.FlowLayout;\r
-import javax.swing.BorderFactory;\r
-\r
\r
public class AnnotationExporter\r
extends JPanel\r
JInternalFrame frame;\r
AlignmentPanel ap;\r
boolean features = true;\r
- AlignmentAnnotation [] annotations;\r
+ AlignmentAnnotation[] annotations;\r
+ Vector sequenceGroups;\r
\r
public AnnotationExporter()\r
{\r
}\r
\r
public void exportAnnotations(AlignmentPanel ap,\r
- AlignmentAnnotation [] annotations)\r
+ AlignmentAnnotation[] annotations,\r
+ Vector sequenceGroups)\r
{\r
this.ap = ap;\r
features = false;\r
GFFFormat.setVisible(false);\r
this.annotations = annotations;\r
+ this.sequenceGroups = sequenceGroups;\r
frame.setTitle("Export Annotations");\r
}\r
\r
public void toFile_actionPerformed(ActionEvent e)\r
{\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty( "LAST_DIRECTORY"));\r
+ JalviewFileChooser chooser = new JalviewFileChooser(\r
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
\r
- chooser.setFileView(new JalviewFileView());\r
- chooser.setDialogTitle(\r
- features ? "Save Features to File" : "Save Annotation to File");\r
- chooser.setToolTipText("Save");\r
+ chooser.setFileView(new JalviewFileView());\r
+ chooser.setDialogTitle(\r
+ features ? "Save Features to File" : "Save Annotation to File");\r
+ chooser.setToolTipText("Save");\r
\r
- int value = chooser.showSaveDialog(this);\r
+ int value = chooser.showSaveDialog(this);\r
\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ {\r
+ String text = "No features found on alignment";\r
+ if (features)\r
{\r
- String text = "No features found on alignment";\r
- if (features)\r
+ if (GFFFormat.isSelected())\r
{\r
- if (GFFFormat.isSelected())\r
- text = new FeaturesFile().printGFFFormat(\r
- ap.av.alignment.getDataset().getSequencesArray(),\r
- ap.av.featuresDisplayed);\r
- else\r
- text = new FeaturesFile().printJalviewFormat(\r
- ap.av.alignment.getDataset().getSequencesArray(),\r
- ap.av.featuresDisplayed);\r
+ text = new FeaturesFile().printGFFFormat(\r
+ ap.av.alignment.getDataset().getSequencesArray(),\r
+ ap.av.featuresDisplayed);\r
}\r
else\r
{\r
- text = new AnnotationFile().printAnnotations( annotations );\r
+ text = new FeaturesFile().printJalviewFormat(\r
+ ap.av.alignment.getDataset().getSequencesArray(),\r
+ ap.av.featuresDisplayed);\r
}\r
+ }\r
+ else\r
+ {\r
+ text = new AnnotationFile().printAnnotations(\r
+ annotations,\r
+ sequenceGroups);\r
+ }\r
\r
- try\r
- {\r
- java.io.PrintWriter out = new java.io.PrintWriter(\r
- new java.io.FileWriter(chooser.getSelectedFile()));\r
+ try\r
+ {\r
+ java.io.PrintWriter out = new java.io.PrintWriter(\r
+ new java.io.FileWriter(chooser.getSelectedFile()));\r
\r
- out.print(text);\r
- out.close();\r
- }\r
- catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
+ out.print(text);\r
+ out.close();\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
}\r
+ }\r
}\r
\r
public void toTextbox_actionPerformed(ActionEvent e)\r
{\r
String text = "No features found on alignment";\r
- if(features)\r
+ if (features)\r
{\r
if (GFFFormat.isSelected())\r
+ {\r
text = new FeaturesFile().printGFFFormat(\r
ap.av.alignment.getDataset().getSequencesArray(),\r
ap.av.featuresDisplayed);\r
+ }\r
else\r
+ {\r
text = new FeaturesFile().printJalviewFormat(\r
ap.av.alignment.getDataset().getSequencesArray(),\r
- ap.av.featuresDisplayed);\r
+ ap.av.featuresDisplayed);\r
+ }\r
}\r
- else if(!features)\r
+ else if (!features)\r
{\r
- text = new AnnotationFile().printAnnotations( annotations );\r
+ text = new AnnotationFile().printAnnotations(\r
+ annotations,\r
+ sequenceGroups);\r
}\r
\r
-\r
CutAndPasteTransfer cap = new CutAndPasteTransfer();\r
cap.setText(text);\r
Desktop.addInternalFrame(cap,\r
- (features ? "Features for - " : "Annotations for - ")\r
+ (features ? "Features for - " :\r
+ "Annotations for - ")\r
+ ap.alignFrame.getTitle(),\r
600,\r
500);\r
\r
-\r
}\r
\r
public void close_actionPerformed(ActionEvent e)\r
{\r
- try{\r
+ try\r
+ {\r
frame.setClosed(true);\r
- }catch(java.beans.PropertyVetoException ex)\r
+ }\r
+ catch (java.beans.PropertyVetoException ex)\r
{}\r
}\r
\r
-\r
-\r
private void jbInit()\r
throws Exception\r
{\r