JAL-1233 JAL-1576 copy constructor to propagate helix colours and applyTo implementat...
[jalview.git] / src / jalview / io / HtmlSvgOutput.java
index 1eb86b7..3a0f169 100644 (file)
@@ -1,5 +1,6 @@
 package jalview.io;
 
+import jalview.api.AlignExportSettingI;
 import jalview.api.FeatureRenderer;
 import jalview.datamodel.AlignmentExportData;
 import jalview.datamodel.SequenceI;
@@ -40,11 +41,7 @@ public class HtmlSvgOutput
   {
     try
     {
-      if (file == null /*
-                        * && !(System.getProperty("java.awt.headless") != null
-                        * && System
-                        * .getProperty("java.awt.headless").equals("true"))
-                        */)
+      if (file == null)
       {
 
       JalviewFileChooser chooser = getHTMLChooser();
@@ -97,22 +94,59 @@ public class HtmlSvgOutput
 
       String titleSvgData = g1.getSVGDocument();
       String alignSvgData = g2.getSVGDocument();
-
-      AlignmentExportData exportData = ap.alignFrame.getAlignmentForExport(
-              JSONFile.FILE_DESC, av);
-      if (exportData.getSettings().isCancelled())
+      String jsonData = null;
+      boolean isEmbbedBioJSON = Boolean.valueOf(jalview.bin.Cache
+              .getDefault("EXPORT_EMBBED_BIOJSON", "true"));
+      if (isEmbbedBioJSON)
       {
-        return;
-      }
-      String jsonData = new FormatAdapter(ap, exportData.getSettings())
+        AlignExportSettingI exportSettings = new AlignExportSettingI(){
+          @Override
+          public boolean isExportHiddenSequences()
+          {
+            return true;
+          }
+
+          @Override
+          public boolean isExportHiddenColumns()
+          {
+            return true;
+          }
+
+          @Override
+          public boolean isExportAnnotations()
+          {
+            return true;
+          }
+
+          @Override
+          public boolean isExportFeatures()
+          {
+            return true;
+          }
+
+          @Override
+          public boolean isExportGroups()
+          {
+            return true;
+          }
+
+          @Override
+          public boolean isCancelled()
+          {
+            return false;
+          }
+          
+        };
+        AlignmentExportData exportData = jalview.gui.AlignFrame
+                .getAlignmentForExport(JSONFile.FILE_DESC, av,
+                        exportSettings);
+        jsonData = new FormatAdapter(ap, exportData.getSettings())
               .formatSequences(JSONFile.FILE_DESC, exportData
                       .getAlignment(), exportData.getOmitHidden(),
-                      exportData.getStartEndPostions(), ap
-                              .getAlignViewport().getColumnSelection());
-
-      // String jsonData = JSONFile.getJSONData(ap);
+                        exportData.getStartEndPostions(),
+                        av.getColumnSelection());
+      }
       String htmlData = getHtml(titleSvgData, alignSvgData, jsonData);
-
       FileOutputStream out = new FileOutputStream(file);
       out.write(htmlData.getBytes());
       out.flush();