X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FColourSchemeProperty.java;h=fc92cd96b2f400fcb0cc4739d640f6b28df25877;hb=321caefc5a40cd735c93e0bfa450e0e04abc485d;hp=9b91066e191fded769148b291ae9d68a71993fa0;hpb=b0cee3aaf7d8873910939f97b6acb217d518968d;p=jalview.git diff --git a/src/jalview/schemes/ColourSchemeProperty.java b/src/jalview/schemes/ColourSchemeProperty.java index 9b91066..fc92cd9 100755 --- a/src/jalview/schemes/ColourSchemeProperty.java +++ b/src/jalview/schemes/ColourSchemeProperty.java @@ -42,7 +42,10 @@ public class ColourSchemeProperty /** * Returns a colour scheme for the given name, with which the given data may - * be coloured. The name may be one of + * be coloured. The name is not case-sensitive, and may be one of + * + * * If none of these formats is matched, the string is converted to a colour - * using a hashing algorithm. + * using a hashing algorithm. For name "None", returns null. * * @param forData * @param name * @return */ - public static ColourSchemeI getColour(AnnotatedCollectionI forData, + public static ColourSchemeI getColourScheme(AnnotatedCollectionI forData, String name) { - JalviewColourScheme scheme = JalviewColourScheme.forName(name); - if (scheme != null) + if (ResidueColourScheme.NONE.equalsIgnoreCase(name)) { - // note JalviewColourScheme.None returns null here - return scheme.getColourScheme(forData); + return null; + } - if (name.indexOf('=') == -1) + /* + * if this is the name of a registered colour scheme, just + * create a new instance of it + */ + ColourSchemeI scheme = ColourSchemes.getInstance().getColourScheme(name, + forData, null); + if (scheme != null) { - /* - * parse the name as a colour specification - * e.g. "red" or "ff00ed", - * or failing that hash the name to a colour - */ - return new UserColourScheme(name); + return scheme; } /* * try to parse the string as a residues colour scheme * e.g. A=red;T,G=blue etc + * else parse the name as a colour specification + * e.g. "red" or "ff00ed", + * or failing that hash the name to a colour */ - UserColourScheme ucs = null; - try - { - // fix the launchApp user defined colourscheme transfer bug - ucs = new UserColourScheme("white"); - ucs.parseAppletParameter(name); - } catch (Exception e) - { - // System.err.println("Ignoring exception when parsing colourscheme as applet-parameter"); - } + UserColourScheme ucs = new UserColourScheme(name); return ucs; } @@ -150,8 +149,7 @@ public class ColourSchemeProperty */ public static String getColourName(ColourSchemeI cs) { - return cs == null ? ResidueColourScheme.NONE : cs - .getSchemeName(); + return cs == null ? ResidueColourScheme.NONE : cs.getSchemeName(); } }