+ chooser.setResponseHandler(0, () -> {
+ File file = chooser.getSelectedFile();
+ load(file);
+ });
+ chooser.showOpenDialog(this);
+ }
+
+ public static boolean loadFeatureSettingsFile(FeatureRenderer fr,
+ File file) throws Exception
+ {
+ InputStreamReader in = new InputStreamReader(new FileInputStream(file),
+ "UTF-8");
+ return loadFeatureSettingsFile(fr, in);
+ }
+
+ public static void loadFeatureSettingsFile(
+ FeatureRenderer featureRenderer, Object fileObject,
+ DataSourceType sourceType) throws Exception
+ {
+ FileParse fp = new FileParse(fileObject, sourceType);
+ loadFeatureSettingsFile(featureRenderer, fp.getReader());
+ }
+
+ private static boolean loadFeatureSettingsFile(FeatureRenderer fr,
+ Reader in) throws Exception
+ {
+ JAXBContext jc = JAXBContext.newInstance("jalview.xml.binding.jalview");
+ javax.xml.bind.Unmarshaller um = jc.createUnmarshaller();
+ XMLStreamReader streamReader = XMLInputFactory.newInstance()
+ .createXMLStreamReader(in);
+ JAXBElement<JalviewUserColours> jbe = um.unmarshal(streamReader,
+ JalviewUserColours.class);
+ JalviewUserColours jucs = jbe.getValue();
+
+ // JalviewUserColours jucs = JalviewUserColours.unmarshal(in);
+
+ /*
+ * load feature colours
+ */
+ for (int i = jucs.getColour().size() - 1; i >= 0; i--)