CurrentColour must not be accessed by multiple sequence renderers
[jalview.git] / src / jalview / schemes / AnnotationColourGradient.java
index 3cb7e17..8367cad 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
 * Jalview - A Sequence Alignment Editor and Viewer\r
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
 *\r
 * This program is free software; you can redistribute it and/or\r
 * modify it under the terms of the GNU General Public License\r
@@ -85,6 +85,30 @@ public class AnnotationColourGradient extends ResidueColourScheme
 \r
     }\r
 \r
+\r
+    public String getAnnotation()\r
+    {\r
+      return annotation.label;\r
+    }\r
+\r
+    public int getAboveThreshold()\r
+    {\r
+      return aboveAnnotationThreshold;\r
+    }\r
+\r
+    public float getAnnotationThreshold()\r
+    {\r
+      if(annotationThreshold==null)\r
+        return 0;\r
+      else\r
+        return annotationThreshold.value;\r
+    }\r
+\r
+    public ColourSchemeI getBaseColour()\r
+    {\r
+      return colourScheme;\r
+    }\r
+\r
     public Color getMinColour()\r
     {\r
       return new Color( (int) r1, (int) g1, (int) b1);\r
@@ -117,11 +141,13 @@ public class AnnotationColourGradient extends ResidueColourScheme
      */\r
     public Color findColour(String n, int j)\r
     {\r
+        Color currentColour = Color.white;\r
+\r
         if ((threshold == 0) || aboveThreshold(n, j))\r
         {\r
-          if( j+1>annotation.annotations.length || annotation.annotations[j]==null)\r
-            currentColour = Color.white;\r
-          else\r
+          if( j<annotation.annotations.length\r
+              && annotation.annotations[j]!=null\r
+              && !jalview.util.Comparison.isGap(n.charAt(0)))\r
           {\r
             if(  aboveAnnotationThreshold==NO_THRESHOLD\r
                || (annotationThreshold!=null && aboveAnnotationThreshold==ABOVE_THRESHOLD && annotation.annotations[j].value>=annotationThreshold.value)\r
@@ -148,20 +174,12 @@ public class AnnotationColourGradient extends ResidueColourScheme
 \r
                 currentColour = new Color( (int) dr, (int) dg, (int) db);\r
               }\r
-              else\r
-                currentColour = Color.white;\r
             }\r
-            else\r
-              currentColour = Color.white;\r
           }\r
         }\r
-        else\r
-        {\r
-            return Color.white;\r
-        }\r
 \r
         if(conservationColouring)\r
-         applyConservation(j);\r
+         applyConservation(currentColour, j);\r
 \r
        return currentColour;\r
     }\r