X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FColourSchemes.java;h=269811b662dffe63be28098a3a5cc54f682059ad;hb=00918171094ad58563bd0b82e18ecf19537ba132;hp=21faa2a43e8165817df5be5d1468c530931eadc3;hpb=94379c810f9115b8564ee7bac46ed119218d5fd2;p=jalview.git diff --git a/src/jalview/schemes/ColourSchemes.java b/src/jalview/schemes/ColourSchemes.java index 21faa2a..269811b 100644 --- a/src/jalview/schemes/ColourSchemes.java +++ b/src/jalview/schemes/ColourSchemes.java @@ -1,7 +1,8 @@ package jalview.schemes; -import jalview.api.AlignViewportI; import jalview.datamodel.AnnotatedCollectionI; +import jalview.datamodel.SequenceCollectionI; +import jalview.datamodel.SequenceI; import java.util.LinkedHashMap; import java.util.Map; @@ -14,7 +15,7 @@ public class ColourSchemes private static ColourSchemes instance = new ColourSchemes(); /* - * a map from scheme name to an instance of it + * a map from scheme name (lower-cased) to an instance of it */ private Map schemes; @@ -93,7 +94,10 @@ public class ColourSchemes */ public void removeColourScheme(String name) { - schemes.remove(name); + if (name != null) + { + schemes.remove(name.toLowerCase()); + } } /** @@ -102,33 +106,39 @@ public class ColourSchemes * * @param name * name of the colour scheme - * @param viewport + * @param forData + * the data to be coloured + * @param optional + * map from hidden representative sequences to the sequences they + * represent * @return */ - public ColourSchemeI getColourScheme(String name, AlignViewportI viewport) + public ColourSchemeI getColourScheme(String name, + AnnotatedCollectionI forData, + Map hiddenRepSequences) { if (name == null) { return null; } ColourSchemeI cs = schemes.get(name.toLowerCase()); - return cs == null ? null : cs.getInstance(viewport.getAlignment(), - viewport.getHiddenRepSequences()); + return cs == null ? null : cs.getInstance(forData, hiddenRepSequences); } /** - * Returns an instance of the colour scheme with which the given data may be + * Returns an instance of the colour scheme with which the given view may be * coloured * * @param name + * name of the colour scheme * @param forData + * the data to be coloured * @return */ public ColourSchemeI getColourScheme(String name, AnnotatedCollectionI forData) { - ColourSchemeI cs = schemes.get(name.toLowerCase()); - return cs == null ? null : cs.getInstance(forData, null); + return getColourScheme(name, forData, null); } /** @@ -141,4 +151,20 @@ public class ColourSchemes { return schemes.values(); } + + /** + * Answers true if there is a scheme with the given name, else false. The test + * is not case-sensitive. + * + * @param name + * @return + */ + public boolean nameExists(String name) + { + if (name == null) + { + return false; + } + return schemes.containsKey(name.toLowerCase()); + } }