/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2007 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
*/\r
package jalview.schemes;\r
\r
+import java.util.*;\r
+\r
import java.awt.*;\r
-import java.util.StringTokenizer;\r
\r
public class UserColourScheme\r
extends ResidueColourScheme\r
{\r
- Color [] lowerCaseColours;\r
+ Color[] lowerCaseColours;\r
\r
protected String schemeName;\r
\r
public UserColourScheme()\r
- { }\r
+ {}\r
\r
public UserColourScheme(Color[] newColors)\r
{\r
{\r
Color col = getColourFromString(colour);\r
\r
- if(col==null)\r
+ if (col == null)\r
{\r
- System.out.println("Unknown colour!! "+colour);\r
+ System.out.println("Unknown colour!! " + colour);\r
col = createColourFromName(colour);\r
}\r
\r
colors = new Color[24];\r
- for(int i=0; i<24; i++)\r
+ for (int i = 0; i < 24; i++)\r
+ {\r
colors[i] = col;\r
+ }\r
}\r
\r
public Color[] getColours()\r
{}\r
\r
if (col == null)\r
+ {\r
col = ColourSchemeProperty.getAWTColorFromName(colour);\r
+ }\r
\r
if (col == null)\r
{\r
start = end;\r
end += lsize / 3;\r
if (end > lsize)\r
+ {\r
end = lsize;\r
+ }\r
\r
g = Math.abs(name.substring(start, end).hashCode() + rgbOffset) % 210 + 20;\r
\r
{\r
StringTokenizer st = new StringTokenizer(paramValue, ";");\r
StringTokenizer st2;\r
- String token=null, colour, residues;\r
- try{\r
+ String token = null, colour, residues;\r
+ try\r
+ {\r
while (st.hasMoreElements())\r
{\r
token = st.nextToken().trim();\r
{\r
token = st2.nextToken();\r
\r
- if (ResidueProperties.aaIndex[token.charAt(0)]==-1)\r
+ if (ResidueProperties.aaIndex[token.charAt(0)] == -1)\r
+ {\r
continue;\r
+ }\r
\r
int colIndex = ResidueProperties.aaIndex[token.charAt(0)];\r
\r
- //AW - LOWER CASE DISABLED IN 2.1.01 bug fix release\r
-\r
- if(token.equalsIgnoreCase("lowerCase"))\r
+ if (token.equalsIgnoreCase("lowerCase"))\r
{\r
if (lowerCaseColours == null)\r
+ {\r
lowerCaseColours = new Color[23];\r
+ }\r
for (int i = 0; i < 23; i++)\r
+ {\r
if (lowerCaseColours[i] == null)\r
+ {\r
lowerCaseColours[i] = getColourFromString(colour);\r
+ }\r
+ }\r
\r
- continue;\r
+ continue;\r
}\r
\r
- if(token.equals(token.toLowerCase()))\r
+ if (token.equals(token.toLowerCase()))\r
{\r
- if(lowerCaseColours==null)\r
+ if (lowerCaseColours == null)\r
{\r
lowerCaseColours = new Color[23];\r
}\r
lowerCaseColours[colIndex] = getColourFromString(colour);\r
}\r
else\r
+ {\r
colors[colIndex] = getColourFromString(colour);\r
+ }\r
}\r
}\r
}\r
- catch(Exception ex)\r
- {\r
- System.out.println("Error parsing userDefinedColours:\n"\r
- +token+"\n"+ex);\r
- }\r
+ catch (Exception ex)\r
+ {\r
+ System.out.println("Error parsing userDefinedColours:\n"\r
+ + token + "\n" + ex);\r
+ }\r
\r
}\r
\r
-\r
-\r
- public Color findColour(String s, int j)\r
+ public Color findColour(char c, int j)\r
{\r
- int index = ResidueProperties.aaIndex[s.charAt(0)];\r
+ Color currentColour;\r
+ int index = ResidueProperties.aaIndex[c];\r
\r
- if ((threshold == 0) || aboveThreshold(ResidueProperties.aa[index], j))\r
+ if ( (threshold == 0) || aboveThreshold(c, j))\r
+ {\r
+ if (lowerCaseColours != null && 'a' <= c && c <= 'z')\r
{\r
- //AW - LOWER CASE DISABLED IN 2.1.01 bug fix release\r
- if(lowerCaseColours!=null && 'a' <= s.charAt(0) && s.charAt(0) <= 'z')\r
- currentColour = lowerCaseColours[index];\r
- else\r
- currentColour = colors[index];\r
+ currentColour = lowerCaseColours[index];\r
}\r
else\r
{\r
- currentColour = Color.white;\r
+ currentColour = colors[index];\r
}\r
+ }\r
+ else\r
+ {\r
+ currentColour = Color.white;\r
+ }\r
\r
- if(conservationColouring)\r
- applyConservation(j);\r
-\r
+ if (conservationColouring)\r
+ {\r
+ currentColour = applyConservation(currentColour, j);\r
+ }\r
\r
- return currentColour;\r
- }\r
+ return currentColour;\r
+ }\r
\r
- public void setLowerCaseColours(Color [] lcolours)\r
- {\r
- lowerCaseColours = lcolours;\r
- }\r
+ public void setLowerCaseColours(Color[] lcolours)\r
+ {\r
+ lowerCaseColours = lcolours;\r
+ }\r
\r
}\r