Merge branch 'features/JAL-1641_JSON-tests-and-docs' into develop
[jalview.git] / src / jalview / gui / AlignFrame.java
index 01353d8..d2e247f 100644 (file)
@@ -28,7 +28,6 @@ import jalview.analysis.CrossRef;
 import jalview.analysis.Dna;
 import jalview.analysis.ParseProperties;
 import jalview.analysis.SequenceIdMatcher;
-import jalview.api.AlignExportSettingI;
 import jalview.api.AlignViewControllerGuiI;
 import jalview.api.AlignViewControllerI;
 import jalview.api.AlignViewportI;
@@ -49,6 +48,7 @@ import jalview.commands.TrimRegionCommand;
 import jalview.datamodel.AlignedCodonFrame;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentExportData;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentOrder;
 import jalview.datamodel.AlignmentView;
@@ -1140,8 +1140,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         return false;
       }
 
-      ExportData exportData = getAlignmentForExport(format);
-      FormatAdapter f = new FormatAdapter(alignPanel);
+      AlignmentExportData exportData = getAlignmentForExport(format, viewport);
+      if (exportData.getSettings().isCancelled())
+      {
+        return false;
+      }
+      FormatAdapter f = new FormatAdapter(alignPanel,
+              exportData.getSettings());
       String output = f.formatSequences(format,
               exportData.getAlignment(), // class cast exceptions will
               // occur in the distant future
@@ -1213,7 +1218,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   protected void outputText_actionPerformed(ActionEvent e)
   {
 
-    ExportData exportData = getAlignmentForExport(e.getActionCommand());
+    AlignmentExportData exportData = getAlignmentForExport(
+            e.getActionCommand(), viewport);
     if (exportData.getSettings().isCancelled())
     {
       return;
@@ -1239,7 +1245,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
 
   }
 
-  public ExportData getAlignmentForExport(String exportFomat)
+  public static AlignmentExportData getAlignmentForExport(String exportFomat,
+          AlignViewportI viewport)
   {
     AlignmentI alignmentToExport = null;
     String[] omitHidden = null;
@@ -1254,7 +1261,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     { 0, alignmentToExport.getWidth() - 1 };
 
     boolean hasHiddenSeqs = hiddenSeqs.getSize() > 0;
-    AlignExportSettingI settings = new AlignExportSettings(hasHiddenSeqs,
+    AlignExportSettings settings = new AlignExportSettings(hasHiddenSeqs,
             viewport.hasHiddenColumns(), exportFomat);
     settings.isExportAnnotations();
 
@@ -1273,8 +1280,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       alignmentStartEnd = getStartEnd(alignmentStartEnd, viewport
               .getColumnSelection().getHiddenColumns());
     }
-    return new ExportData(alignmentToExport, omitHidden, alignmentStartEnd,
+    AlignmentExportData ed = new AlignmentExportData(alignmentToExport, omitHidden, alignmentStartEnd,
             settings);
+    return ed;
   }
 
   private static int[] getStartEnd(int[] aligmentStartEnd,
@@ -5983,7 +5991,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         aa.visible = visible;
       }
     }
-    alignPanel.validateAnnotationDimensions(false);
+    alignPanel.validateAnnotationDimensions(true);
     alignPanel.alignmentChanged();
   }
 
@@ -6071,66 +6079,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     }
   }
 
-  public class ExportData
-  {
-    private AlignmentI alignment;
-
-    private String[] omitHidden;
-
-    private int[] startEnd;
-
-    private AlignExportSettingI settings;
-
-    public ExportData(AlignmentI align, String[] ommit, int[] startEnd,
-            AlignExportSettingI settings)
-    {
-      this.alignment = align;
-      this.omitHidden = ommit;
-      this.startEnd = startEnd;
-      this.settings = settings;
-    }
-
-    public AlignmentI getAlignment()
-    {
-      return alignment;
-    }
-
-    public void setAlignment(AlignmentI alignment)
-    {
-      this.alignment = alignment;
-    }
-
-    public String[] getOmitHidden()
-    {
-      return omitHidden;
-    }
-
-    public void setOmitHidden(String[] omitHidden)
-    {
-      this.omitHidden = omitHidden;
-    }
-
-    public int[] getStartEndPostions()
-    {
-      return startEnd;
-    }
-
-    public void setStartEndPostions(int[] startEnd)
-    {
-      this.startEnd = startEnd;
-    }
-
-    public AlignExportSettingI getSettings()
-    {
-      return settings;
-    }
-
-    public void setSettings(AlignExportSettingI settings)
-    {
-      this.settings = settings;
-    }
-  }
-
 }
 
 class PrintThread extends Thread