X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAnnotationExporter.java;h=a619997e3591695fc2fe05e8047d344b51a58b00;hb=5a3e8375831cd87fb3668e0945f907ddce0ab82a;hp=383dd1b8ad78384227eca6dfffb08061d6e16e58;hpb=0b1c761dfaa8242f122cf868e8897a06ec6eb727;p=jalview.git diff --git a/src/jalview/gui/AnnotationExporter.java b/src/jalview/gui/AnnotationExporter.java index 383dd1b..a619997 100644 --- a/src/jalview/gui/AnnotationExporter.java +++ b/src/jalview/gui/AnnotationExporter.java @@ -22,6 +22,7 @@ package jalview.gui; import jalview.api.FeatureColourI; import jalview.datamodel.AlignmentAnnotation; +import jalview.datamodel.SequenceI; import jalview.io.AnnotationFile; import jalview.io.FeaturesFile; import jalview.io.JalviewFileChooser; @@ -33,6 +34,7 @@ import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.List; import java.util.Map; import javax.swing.BorderFactory; @@ -93,8 +95,8 @@ public class AnnotationExporter extends JPanel public void exportAnnotations(AlignmentPanel ap) { this.ap = ap; - annotations = ap.av.isShowAnnotation() ? null : ap.av.getAlignment() - .getAlignmentAnnotation(); + annotations = ap.av.isShowAnnotation() ? null + : ap.av.getAlignment().getAlignmentAnnotation(); wholeView = true; startExportAnnotation(); } @@ -122,9 +124,9 @@ public class AnnotationExporter extends JPanel jalview.bin.Cache.getProperty("LAST_DIRECTORY")); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle(features ? MessageManager - .getString("label.save_features_to_file") : MessageManager - .getString("label.save_annotation_to_file")); + chooser.setDialogTitle(features + ? MessageManager.getString("label.save_features_to_file") + : MessageManager.getString("label.save_annotation_to_file")); chooser.setToolTipText(MessageManager.getString("action.save")); int value = chooser.showSaveDialog(this); @@ -155,17 +157,22 @@ public class AnnotationExporter extends JPanel .getString("label.no_features_on_alignment"); if (features) { - Map displayedFeatureColours = ap - .getFeatureRenderer().getDisplayedFeatureCols(); + FeaturesFile formatter = new FeaturesFile(); + SequenceI[] sequences = ap.av.getAlignment().getSequencesArray(); + Map featureColours = ap.getFeatureRenderer() + .getDisplayedFeatureCols(); + List featureGroups = ap.getFeatureRenderer() + .getDisplayedFeatureGroups(); + boolean includeNonPositional = ap.av.isShowNPFeats(); if (GFFFormat.isSelected()) { - text = new FeaturesFile().printGFFFormat(ap.av.getAlignment() - .getDataset().getSequencesArray(), displayedFeatureColours, true, ap.av.isShowNPFeats());// ap.av.featuresDisplayed//); + text = formatter.printGffFormat(sequences, featureColours, + featureGroups, includeNonPositional); } else { - text = new FeaturesFile().printJalviewFormat(ap.av.getAlignment() - .getDataset().getSequencesArray(), displayedFeatureColours, true, ap.av.isShowNPFeats()); // ap.av.featuresDisplayed); + text = formatter.printJalviewFormat(sequences, featureColours, + featureGroups, includeNonPositional); } } else @@ -198,23 +205,23 @@ public class AnnotationExporter extends JPanel { String text = getFileContents(); cap.setText(text); - Desktop.addInternalFrame( - cap, - (features ? MessageManager.formatMessage( - "label.features_for_params", - new String[] { ap.alignFrame.getTitle() }) - : MessageManager.formatMessage( - "label.annotations_for_params", - new String[] { ap.alignFrame.getTitle() })), + Desktop.addInternalFrame(cap, (features ? MessageManager + .formatMessage("label.features_for_params", new String[] + { ap.alignFrame.getTitle() }) + : MessageManager.formatMessage("label.annotations_for_params", + new String[] + { ap.alignFrame.getTitle() })), 600, 500); } catch (OutOfMemoryError oom) { new OOMWarning((features ? MessageManager.formatMessage( - "label.generating_features_for_params", - new String[] { ap.alignFrame.getTitle() }) + "label.generating_features_for_params", new String[] + { ap.alignFrame.getTitle() }) : MessageManager.formatMessage( "label.generating_annotations_for_params", - new String[] { ap.alignFrame.getTitle() })), oom); + new String[] + { ap.alignFrame.getTitle() })), + oom); cap.dispose(); }