X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FColourSchemeProperty.java;h=98e90bdf769f07363b4b8bb598d97a5edf6d3db2;hb=d4271d32477e99e9fbbfa5db3e11f1b79324e60d;hp=cee2cae354cb5454b719830a764aac4224d13b5c;hpb=a09d6f5c16b0e222806e035cd38bfb4c4eb92c75;p=jalview.git
diff --git a/src/jalview/schemes/ColourSchemeProperty.java b/src/jalview/schemes/ColourSchemeProperty.java
index cee2cae..98e90bd 100755
--- a/src/jalview/schemes/ColourSchemeProperty.java
+++ b/src/jalview/schemes/ColourSchemeProperty.java
@@ -20,6 +20,7 @@
*/
package jalview.schemes;
+import jalview.api.AlignViewportI;
import jalview.datamodel.AnnotatedCollectionI;
import jalview.util.ColorUtils;
@@ -44,6 +45,9 @@ public class ColourSchemeProperty
* Returns a colour scheme for the given name, with which the given data may
* be coloured. The name is not case-sensitive, and may be one of
*
+ * - any currently registered colour scheme; Jalview by default
+ * provides
+ *
* - Clustal
* - Blosum62
* - % Identity
@@ -58,11 +62,13 @@ public class ColourSchemeProperty
* - Purine/Pyrimidine
* - T-Coffee Scores
* - RNA Helices
- * - User Defined
+ *
+ * - the name of a programmatically added colour scheme
* - an AWT colour name e.g. red
* - an AWT hex rgb colour e.g. ff2288
* - residue colours list e.g. D,E=red;K,R,H=0022FF;c=yellow
*
+ *
* If none of these formats is matched, the string is converted to a colour
* using a hashing algorithm. For name "None", returns null.
*
@@ -70,18 +76,24 @@ public class ColourSchemeProperty
* @param name
* @return
*/
- public static ColourSchemeI getColourScheme(AnnotatedCollectionI forData,
- String name)
+ public static ColourSchemeI getColourScheme(AlignViewportI view,
+ AnnotatedCollectionI forData, String name)
{
if (ResidueColourScheme.NONE.equalsIgnoreCase(name))
{
return null;
}
- JalviewColourScheme scheme = JalviewColourScheme.forName(name);
+
+ /*
+ * if this is the name of a registered colour scheme, just
+ * create a new instance of it
+ */
+ ColourSchemeI scheme = ColourSchemes.getInstance().getColourScheme(name,
+ view, forData, null);
if (scheme != null)
{
- return scheme.getColourScheme(forData);
+ return scheme;
}
/*
@@ -91,14 +103,7 @@ public class ColourSchemeProperty
* e.g. "red" or "ff00ed",
* or failing that hash the name to a colour
*/
- UserColourScheme ucs = null;
- try
- {
- ucs = new UserColourScheme(name);
- } catch (Exception e)
- {
- // System.err.println("Ignoring exception when parsing colourscheme as applet-parameter");
- }
+ UserColourScheme ucs = new UserColourScheme(name);
return ucs;
}
@@ -145,8 +150,7 @@ public class ColourSchemeProperty
*/
public static String getColourName(ColourSchemeI cs)
{
- return cs == null ? ResidueColourScheme.NONE : cs
- .getSchemeName();
+ return cs == null ? ResidueColourScheme.NONE : cs.getSchemeName();
}
}