Save Feature Rendering
[jalview.git] / src / jalview / gui / Jalview2XML.java
index bbe3389..08b3903 100755 (executable)
@@ -452,8 +452,33 @@ public class Jalview2XML
         view.setShowText(av.getShowText());\r
         view.setWrapAlignment(av.getWrapAlignment());\r
 \r
+        if(af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed!=null)\r
+        {\r
+          jalview.binding.FeatureSettings fs = new jalview.binding.FeatureSettings();\r
+\r
+          Enumeration e = af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureColours.keys();\r
+          while (e.hasMoreElements())\r
+          {\r
+            String type = e.nextElement().toString();\r
+            Setting setting = new Setting();\r
+            setting.setType(type);\r
+            setting.setColour(\r
+                af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().getColour(type).getRGB()\r
+                );\r
+            setting.setDisplay(\r
+                af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed.contains(type)\r
+                );\r
+\r
+            fs.addSetting(setting);\r
+\r
+          }\r
+          jms.setFeatureSettings(fs);\r
+\r
+        }\r
+\r
         jms.addViewport(view);\r
 \r
+\r
         object.setJalviewModelSequence(jms);\r
         object.getVamsasModel().addSequenceSet(vamsasSet);\r
 \r
@@ -711,6 +736,7 @@ public class Jalview2XML
 \r
         AlignFrame af = new AlignFrame(al);\r
 \r
+\r
         //  af.changeColour() );\r
         /////////////////////////\r
         //LOAD GROUPS\r
@@ -850,6 +876,22 @@ public class Jalview2XML
            af.sequenceFeatures.setSelected(true);\r
         }\r
 \r
+        if(jms.getFeatureSettings()!=null)\r
+        {\r
+          af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed = new Vector();\r
+         // af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed!=null)\r
+         // jalview.binding.FeatureSettings fs = new jalview.binding.FeatureSettings();\r
+         for(int fs=0; fs<jms.getFeatureSettings().getSettingCount(); fs++)\r
+         {\r
+           Setting setting = jms.getFeatureSettings().getSetting(fs);\r
+\r
+           af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setColour(setting.getType(),\r
+               new java.awt.Color(setting.getColour()));\r
+           if(setting.getDisplay())\r
+             af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed.addElement(setting.getType());\r
+         }\r
+        }\r
+\r
         Desktop.addInternalFrame(af, view.getTitle(),\r
              view.getWidth(), view.getHeight());\r
 \r