Merge branch 'develop' into features/JAL-2446NCList
[jalview.git] / src / jalview / gui / AnnotationExporter.java
index cffc52f..a619997 100644 (file)
@@ -34,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;
@@ -94,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();
   }
@@ -123,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);
@@ -160,16 +161,18 @@ public class AnnotationExporter extends JPanel
       SequenceI[] sequences = ap.av.getAlignment().getSequencesArray();
       Map<String, FeatureColourI> featureColours = ap.getFeatureRenderer()
               .getDisplayedFeatureCols();
+      List<String> featureGroups = ap.getFeatureRenderer()
+              .getDisplayedFeatureGroups();
       boolean includeNonPositional = ap.av.isShowNPFeats();
       if (GFFFormat.isSelected())
       {
-        text = formatter.printGffFormat(sequences, featureColours, true,
-                includeNonPositional);
+        text = formatter.printGffFormat(sequences, featureColours,
+                featureGroups, includeNonPositional);
       }
       else
       {
         text = formatter.printJalviewFormat(sequences, featureColours,
-                true, includeNonPositional);
+                featureGroups, includeNonPositional);
       }
     }
     else
@@ -202,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();
     }