X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2Fseqfeatures%2FFeatureRendererSettings.java;h=dc2ae11720c091e774a38c909e18dd44458978c5;hb=37de9310bec3501cbc6381e0c3dcb282fcaad812;hp=93884f535f46f526f9ce60e802cdb4aceeff4111;hpb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;p=jalview.git diff --git a/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java b/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java index 93884f5..dc2ae11 100644 --- a/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java +++ b/src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -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); } } }