X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2Fseqfeatures%2FFeatureRendererSettings.java;fp=src%2Fjalview%2Fviewmodel%2Fseqfeatures%2FFeatureRendererSettings.java;h=dc2ae11720c091e774a38c909e18dd44458978c5;hb=0b1c761dfaa8242f122cf868e8897a06ec6eb727;hp=1985b6de26c909084c2917eb75c69e8ec8b8ee46;hpb=8b9c85b131fbaa1b9b29c489b661089c0ea404bd;p=jalview.git diff --git a/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java b/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java index 1985b6d..dc2ae11 100644 --- a/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java +++ b/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java @@ -20,10 +20,10 @@ */ package jalview.viewmodel.seqfeatures; -import jalview.schemes.GraduatedColor; +import jalview.api.FeatureColourI; +import jalview.schemes.FeatureColour; import java.util.Arrays; -import java.util.Hashtable; import java.util.Iterator; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -32,24 +32,33 @@ public class FeatureRendererSettings implements Cloneable { String[] renderOrder; - Map featureGroups; + /* + * map of {groupName, isDisplayed} + */ + Map featureGroups; - Map featureColours; + /* + * map of {featureType, colourScheme} + */ + Map featureColours; float transparency; - Map featureOrder; + Map featureOrder; public FeatureRendererSettings(String[] renderOrder, - Hashtable featureGroups, Hashtable featureColours, - float transparency, Hashtable featureOrder) + Map featureGroups, + Map featureColours, float transparency, + Map featureOrder) { super(); this.renderOrder = Arrays.copyOf(renderOrder, renderOrder.length); - this.featureGroups = new ConcurrentHashMap(featureGroups); - this.featureColours = new ConcurrentHashMap(featureColours); + this.featureGroups = new ConcurrentHashMap( + featureGroups); + this.featureColours = new ConcurrentHashMap( + featureColours); this.transparency = transparency; - this.featureOrder = new ConcurrentHashMap(featureOrder); + this.featureOrder = new ConcurrentHashMap(featureOrder); } /** @@ -61,9 +70,9 @@ public class FeatureRendererSettings implements Cloneable jalview.viewmodel.seqfeatures.FeatureRendererModel fr) { renderOrder = null; - featureGroups = new ConcurrentHashMap(); - featureColours = new ConcurrentHashMap(); - featureOrder = new ConcurrentHashMap(); + featureGroups = new ConcurrentHashMap(); + featureColours = new ConcurrentHashMap(); + featureOrder = new ConcurrentHashMap(); if (fr.renderOrder != null) { this.renderOrder = new String[fr.renderOrder.length]; @@ -72,26 +81,30 @@ public class FeatureRendererSettings implements Cloneable } if (fr.featureGroups != null) { - this.featureGroups = new ConcurrentHashMap(fr.featureGroups); + this.featureGroups = new ConcurrentHashMap( + fr.featureGroups); } if (fr.featureColours != null) { - this.featureColours = new ConcurrentHashMap(fr.featureColours); + this.featureColours = new ConcurrentHashMap( + fr.featureColours); } - Iterator en = fr.featureColours.keySet().iterator(); + Iterator en = fr.featureColours.keySet().iterator(); while (en.hasNext()) { - Object next = en.next(); - Object val = featureColours.get(next); - if (val instanceof GraduatedColor) + String next = en.next(); + FeatureColourI val = featureColours.get(next); + // if (val instanceof GraduatedColor) + if (val.isGraduatedColour() || val.isColourByLabel()) // why this test? { - featureColours.put(next, new GraduatedColor((GraduatedColor) val)); + featureColours.put(next, new FeatureColour((FeatureColour) val)); } } this.transparency = fr.transparency; if (fr.featureOrder != null) { - this.featureOrder = new ConcurrentHashMap(fr.featureOrder); + this.featureOrder = new ConcurrentHashMap( + fr.featureOrder); } } }