+\r
+ public void setName(String name)\r
+ {\r
+ schemeName = name;\r
+ }\r
+\r
+ public String getName()\r
+ {\r
+ return schemeName;\r
+ }\r
+\r
+ public Color getColourFromString(String colour)\r
+ {\r
+ colour = colour.trim();\r
+\r
+ Color col = null;\r
+ try\r
+ {\r
+ int value = Integer.parseInt(colour, 16);\r
+ col = new Color(value);\r
+ }\r
+ catch (NumberFormatException ex)\r
+ {}\r
+\r
+ if (col == null)\r
+ col = ColourSchemeProperty.getAWTColorFromName(colour);\r
+\r
+ if (col == null)\r
+ {\r
+ try\r
+ {\r
+ java.util.StringTokenizer st = new java.util.StringTokenizer(colour,\r
+ ",");\r
+ int r = Integer.parseInt(st.nextToken());\r
+ int g = Integer.parseInt(st.nextToken());\r
+ int b = Integer.parseInt(st.nextToken());\r
+ col = new Color(r, g, b);\r
+ }\r
+ catch (Exception ex)\r
+ {}\r
+ }\r
+\r
+ return col;\r
+\r
+ }\r
+\r
+ public Color createColourFromName(String name)\r
+ {\r
+ int r, g, b;\r
+\r
+ int lsize = name.length();\r
+ int start = 0, end = lsize / 3;\r
+\r
+ int rgbOffset = Math.abs(name.hashCode() % 10) * 15;\r
+\r
+ r = Math.abs(name.substring(start, end).hashCode() + rgbOffset) % 210 + 20;\r
+ start = end;\r
+ end += lsize / 3;\r
+ if (end > lsize)\r
+ end = lsize;\r
+\r
+ g = Math.abs(name.substring(start, end).hashCode() + rgbOffset) % 210 + 20;\r
+\r
+ b = Math.abs(name.substring(end).hashCode() + rgbOffset) % 210 + 20;\r
+\r
+ Color color = new Color(r, g, b);\r
+\r
+ return color;\r
+ }\r
+\r
+ public void parseAppletParameter(String paramValue)\r
+ {\r
+ StringTokenizer st = new StringTokenizer(paramValue, ";");\r
+ StringTokenizer st2;\r
+ String token=null, colour, residues;\r
+ try{\r
+ while (st.hasMoreElements())\r
+ {\r
+ token = st.nextToken().trim();\r
+ residues = token.substring(0, token.indexOf("="));\r
+ colour = token.substring(token.indexOf("=") + 1);\r
+\r
+ st2 = new StringTokenizer(residues, " ,");\r
+ while (st2.hasMoreTokens())\r
+ {\r
+ int colIndex =\r
+ ( (Integer) ResidueProperties.aaHash.\r
+ get(st2.nextToken())).intValue();\r
+\r
+ colors[colIndex] = getColourFromString(colour);\r
+ }\r
+ }\r
+ }\r
+ catch(Exception ex)\r
+ {\r
+ System.out.println("Error parsing userDefinedColours:\n"\r
+ +token+"\n"+ex);\r
+ }\r
+\r
+ }\r
+\r