Merge branch 'develop' into JAL-1483_29dev
[jalview.git] / src / jalview / io / BioJsHTMLOutput.java
index 772337a..db43a3f 100644 (file)
@@ -1,5 +1,6 @@
 package jalview.io;
 
+import jalview.api.FeaturesDisplayedI;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
@@ -13,13 +14,13 @@ import jalview.json.binding.v1.BioJsSeqPojo;
 import jalview.schemes.ColourSchemeProperty;
 import jalview.util.MessageManager;
 
+import java.awt.Color;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.PrintWriter;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.Hashtable;
 
 import com.json.JSONException;
 
@@ -27,11 +28,11 @@ public class BioJsHTMLOutput
 {
   private AlignViewport av;
 
-  private FeatureRenderer fr;
+  private jalview.api.FeatureRenderer fr;
 
   private String globalColorScheme;
 
-  private Hashtable displayedFeatures;
+  private FeaturesDisplayedI displayedFeatures;
 
   private String jalviewVersion;
 
@@ -50,12 +51,9 @@ public class BioJsHTMLOutput
       this.av = ap.av;
       this.globalColorScheme = ColourSchemeProperty.getColourName(av
               .getGlobalColourScheme());
-      this.fr = new FeatureRenderer(ap);
-    fr.transferSettings(fr1);
+      this.fr = ap.cloneFeatureRenderer();
       displayedFeatures = av.getFeaturesDisplayed();
-
-    exportJalviewAlignmentAsBioJsHtmlFile();
-  }
+    }
   }
 
   private void exportJalviewAlignmentAsBioJsHtmlFile()
@@ -147,10 +145,13 @@ public class BioJsHTMLOutput
         for (SequenceFeature sf : seqFeatures)
         {
           if (displayedFeatures != null
-                  && displayedFeatures.get(sf.getType()) != null)
+                  && displayedFeatures.isVisible(sf.getType()))
           {
+
+            // TODO: translate graduated/complex colourschemes to biojs model
             String featureColour = jalview.util.Format.getHexString(fr
-                    .getColour(sf));
+                    .findFeatureColour(Color.white, seq,
+                            seq.findIndex(sf.getBegin())));
             BioJsFeaturePojo bjsFeature = new BioJsFeaturePojo();
             bjsFeature.setFillColor(featureColour);
             bjsFeature.setXstart(seq.findIndex(sf.getBegin()) - 1);