X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAnnotationExporter.java;h=df6f9eb271ebbe418da885b0e25cbc0f35837de1;hb=8d6b113f475c6b5916f7685cfd289e054d95a9ee;hp=e43c06b54bb1134f71e356220ada8f5526232280;hpb=24c13cae7ab462fb159be2daa62ef7e7c812e0e9;p=jalview.git diff --git a/src/jalview/gui/AnnotationExporter.java b/src/jalview/gui/AnnotationExporter.java index e43c06b..df6f9eb 100644 --- a/src/jalview/gui/AnnotationExporter.java +++ b/src/jalview/gui/AnnotationExporter.java @@ -21,7 +21,6 @@ package jalview.gui; import jalview.datamodel.AlignmentAnnotation; -import jalview.datamodel.SequenceGroup; import jalview.io.AnnotationFile; import jalview.io.FeaturesFile; import jalview.io.JalviewFileChooser; @@ -33,8 +32,6 @@ import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.Hashtable; -import java.util.List; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; @@ -62,11 +59,9 @@ public class AnnotationExporter extends JPanel boolean features = true; - AlignmentAnnotation[] annotations; + private AlignmentAnnotation[] annotations; - List sequenceGroups; - - Hashtable alignmentProperties; + private boolean wholeView; public AnnotationExporter() { @@ -93,17 +88,29 @@ public class AnnotationExporter extends JPanel frame.setTitle(MessageManager.getString("label.export_features")); } - public void exportAnnotations(AlignmentPanel ap, - AlignmentAnnotation[] annotations, List list, - Hashtable alProperties) + public void exportAnnotations(AlignmentPanel ap) { this.ap = ap; + annotations = ap.av.isShowAnnotation() ? null : ap.av.getAlignment() + .getAlignmentAnnotation(); + wholeView = true; + startExportAnnotation(); + } + + public void exportAnnotations(AlignmentPanel alp, + AlignmentAnnotation[] toExport) + { + ap = alp; + annotations = toExport; + wholeView = false; + startExportAnnotation(); + } + + private void startExportAnnotation() + { features = false; GFFFormat.setVisible(false); CSVFormat.setVisible(true); - this.annotations = annotations; - this.sequenceGroups = list; - this.alignmentProperties = alProperties; frame.setTitle(MessageManager.getString("label.export_annotations")); } @@ -121,36 +128,7 @@ public class AnnotationExporter extends JPanel if (value == JalviewFileChooser.APPROVE_OPTION) { - String text = MessageManager.getString("label.no_features_on_alignment"); - if (features) - { - if (GFFFormat.isSelected()) - { - text = new FeaturesFile().printGFFFormat(ap.av.getAlignment() - .getDataset().getSequencesArray(), ap - .getFeatureRenderer().getDisplayedFeatureCols(), true, - ap.av.isShowNpFeats());// ap.av.featuresDisplayed//); - } - else - { - text = new FeaturesFile().printJalviewFormat(ap.av.getAlignment() - .getDataset().getSequencesArray(), ap - .getFeatureRenderer().getDisplayedFeatureCols(), true, - ap.av.isShowNpFeats()); // ap.av.featuresDisplayed); - } - } - else - { - if (CSVFormat.isSelected()) - { - text = new AnnotationFile().printCSVAnnotations(annotations); - } - else - { - text = new AnnotationFile().printAnnotations(annotations, - sequenceGroups, alignmentProperties); - } - } + String text = getFileContents(); try { @@ -168,25 +146,26 @@ public class AnnotationExporter extends JPanel close_actionPerformed(null); } - public void toTextbox_actionPerformed(ActionEvent e) + private String getFileContents() { - String text = MessageManager.getString("label.no_features_on_alignment"); + String text = MessageManager + .getString("label.no_features_on_alignment"); if (features) { if (GFFFormat.isSelected()) { text = new FeaturesFile().printGFFFormat(ap.av.getAlignment() .getDataset().getSequencesArray(), ap.getFeatureRenderer() - .getDisplayedFeatureCols(), true, ap.av.isShowNpFeats()); + .getDisplayedFeatureCols(), true, ap.av.isShowNpFeats());// ap.av.featuresDisplayed//); } else { text = new FeaturesFile().printJalviewFormat(ap.av.getAlignment() .getDataset().getSequencesArray(), ap.getFeatureRenderer() - .getDisplayedFeatureCols(), true, ap.av.isShowNpFeats()); + .getDisplayedFeatureCols(), true, ap.av.isShowNpFeats()); // ap.av.featuresDisplayed); } } - else if (!features) + else { if (CSVFormat.isSelected()) { @@ -194,14 +173,26 @@ public class AnnotationExporter extends JPanel } else { - text = new AnnotationFile().printAnnotations(annotations, - sequenceGroups, alignmentProperties); + if (wholeView) + { + text = new AnnotationFile().printAnnotationsForView(ap.av); + } + else + { + text = new AnnotationFile().printAnnotations(annotations, null, + null); + } } } - + return text; + } + public void toTextbox_actionPerformed(ActionEvent e) + { CutAndPasteTransfer cap = new CutAndPasteTransfer(); + try { + String text = getFileContents(); cap.setText(text); Desktop.addInternalFrame( cap, @@ -309,5 +300,4 @@ public class AnnotationExporter extends JPanel JPanel jPanel3 = new JPanel(); FlowLayout flowLayout1 = new FlowLayout(); - }