- * @param file
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- static UserColourScheme loadColours(String file)
- {
- UserColourScheme ucs = null;
- Color[] newColours = null;
- try
- {
- InputStreamReader in = new InputStreamReader(
- new FileInputStream(file), "UTF-8");
-
- jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours();
-
- org.exolab.castor.xml.Unmarshaller unmar = new org.exolab.castor.xml.Unmarshaller(
- jucs);
- jucs = (jalview.schemabinding.version2.JalviewUserColours) unmar
- .unmarshal(in);
-
- newColours = new Color[24];
-
- Color[] lowerCase = null;
- boolean caseSensitive = false;
-
- String name;
- int index;
- for (int i = 0; i < jucs.getColourCount(); i++)
- {
- name = jucs.getColour(i).getName();
- if (ResidueProperties.aa3Hash.containsKey(name))
- {
- index = ResidueProperties.aa3Hash.get(name).intValue();
- }
- else
- {
- index = ResidueProperties.aaIndex[name.charAt(0)];
- }
- if (index == -1)
- {
- continue;
- }
-
- if (name.toLowerCase().equals(name))
- {
- if (lowerCase == null)
- {
- lowerCase = new Color[23];
- }
- caseSensitive = true;
- lowerCase[index] = new Color(Integer.parseInt(jucs.getColour(i)
- .getRGB(), 16));
- }
- else
- {
- newColours[index] = new Color(Integer.parseInt(jucs.getColour(i)
- .getRGB(), 16));
- }
- }
-
- if (newColours != null)
- {
- ucs = new UserColourScheme(newColours);
- ucs.setName(jucs.getSchemeName());
- if (caseSensitive)
- {
- ucs.setLowerCaseColours(lowerCase);
- }
- }
-
- } catch (Exception ex)
- {
- // Could be Archive Jalview format
- try
- {
- InputStreamReader in = new InputStreamReader(new FileInputStream(
- file), "UTF-8");
-
- jalview.binding.JalviewUserColours jucs = new jalview.binding.JalviewUserColours();
-
- jucs = jucs.unmarshal(in);
-
- newColours = new Color[jucs.getColourCount()];
-
- for (int i = 0; i < 24; i++)
- {
- newColours[i] = new Color(Integer.parseInt(jucs.getColour(i)
- .getRGB(), 16));
- }
- if (newColours != null)
- {
- ucs = new UserColourScheme(newColours);
- ucs.setName(jucs.getSchemeName());
- }
- } catch (Exception ex2)
- {
- ex2.printStackTrace();
- }
-
- if (newColours == null)
- {
- System.out.println("Error loading User ColourFile\n" + ex);
- }
- }
-
- return ucs;
- }
-
- /**
- * DOCUMENT ME!
- *
- * @param e
- * DOCUMENT ME!