package jalview.io;
+import jalview.api.FeaturesDisplayedI;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
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;
{
private AlignViewport av;
- private FeatureRenderer fr;
+ private jalview.api.FeatureRenderer fr;
private String globalColorScheme;
- private Hashtable displayedFeatures;
+ private FeaturesDisplayedI displayedFeatures;
private String jalviewVersion;
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()
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);