+ try\r
+ {\r
+ frame.setClosed(true);\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ }\r
+ }\r
+\r
+ static Hashtable userColourSchemes;\r
+\r
+ public static Hashtable getUserColourSchemes()\r
+ {\r
+ return userColourSchemes;\r
+ }\r
+\r
+ public static void initUserColourSchemes(String files)\r
+ {\r
+ userColourSchemes = new Hashtable();\r
+\r
+ if (files == null || files.length() == 0)\r
+ {\r
+ return;\r
+ }\r
+\r
+ // In case colours can't be loaded, we'll remove them\r
+ // from the default list here.\r
+ StringBuffer coloursFound = new StringBuffer();\r
+ StringTokenizer st = new StringTokenizer(files, "|");\r
+ while (st.hasMoreElements())\r
+ {\r
+ String file = st.nextToken();\r
+ try\r
+ {\r
+ UserColourScheme ucs = loadColours(file);\r
+ if (ucs != null)\r
+ {\r
+ if (coloursFound.length() > 0)\r
+ {\r
+ coloursFound.append("|");\r
+ }\r
+ coloursFound.append(file);\r
+ userColourSchemes.put(ucs.getName(), ucs);\r
+ }\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ System.out.println("Error loading User ColourFile\n" + ex);\r
+ }\r
+ }\r
+ if (!files.equals(coloursFound.toString()))\r
+ {\r
+ if (coloursFound.toString().length() > 1)\r
+ {\r
+ jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",\r
+ coloursFound.toString());\r
+ }\r
+ else\r
+ {\r
+ jalview.bin.Cache.applicationProperties.remove("USER_DEFINED_COLOURS");\r
+ }\r
+ }\r
+ }\r
+\r
+ public static void removeColourFromDefaults(String target)\r
+ {\r
+ // The only way to find colours by name is to load them in\r
+ // In case colours can't be loaded, we'll remove them\r
+ // from the default list here.\r
+\r
+ userColourSchemes = new Hashtable();\r
+\r
+ StringBuffer coloursFound = new StringBuffer();\r
+ StringTokenizer st = new StringTokenizer(\r
+ jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|");\r
+\r
+ while (st.hasMoreElements())\r
+ {\r
+ String file = st.nextToken();\r
+ try\r
+ {\r
+ UserColourScheme ucs = loadColours(file);\r
+ if (ucs != null && !ucs.getName().equals(target))\r
+ {\r
+ if (coloursFound.length() > 0)\r
+ {\r
+ coloursFound.append("|");\r
+ }\r
+ coloursFound.append(file);\r
+ userColourSchemes.put(ucs.getName(), ucs);\r
+ }\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ System.out.println("Error loading User ColourFile\n" + ex);\r
+ }\r
+ }\r
+\r
+ if (coloursFound.toString().length() > 1)\r
+ {\r
+ jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",\r
+ coloursFound.toString());\r
+ }\r