works on focused viewport
[jalview.git] / src / jalview / gui / Jalview2XML_V1.java
index bb5a1ac..491746a 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
  * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
  *\r
  * This program is free software; you can redistribute it and/or\r
  * modify it under the terms of the GNU General Public License\r
@@ -113,10 +113,8 @@ public class Jalview2XML_V1
                 for (int i = 0; i < entryCount; i++)\r
                 {\r
                     jarentry = jin.getNextJarEntry();\r
-\r
                   }\r
 \r
-\r
                   class NoDescIDResolver implements IDResolver\r
                   {\r
                     public Object resolve(String idref)\r
@@ -134,7 +132,7 @@ public class Jalview2XML_V1
 \r
                     object = (JalviewModel) object.unmarshal(in);\r
 \r
-                    af = LoadFromObject(object);\r
+                    af = LoadFromObject(object, file);\r
                     entryCount++;\r
                 }\r
             }\r
@@ -166,7 +164,7 @@ public class Jalview2XML_V1
         return af;\r
     }\r
 \r
-    AlignFrame LoadFromObject(JalviewModel object)\r
+    AlignFrame LoadFromObject(JalviewModel object, String file)\r
     {\r
         Vector seqids = new Vector();\r
         SequenceSet vamsasSet = object.getVamsasModel().getSequenceSet(0);\r
@@ -184,7 +182,6 @@ public class Jalview2XML_V1
                     vamsasSeq[i].getSequence());\r
             jseqs[i].setStart(JSEQ[i].getStart());\r
             jseqs[i].setEnd(JSEQ[i].getEnd());\r
-            jseqs[i].setColor(new java.awt.Color(JSEQ[i].getColour()));\r
             seqids.add(jseqs[i]);\r
         }\r
 \r
@@ -269,7 +266,18 @@ public class Jalview2XML_V1
         Viewport[] views = jms.getViewport();\r
         Viewport view = views[0]; // DEAL WITH MULTIPLE VIEWPORTS LATER\r
 \r
-        AlignFrame af = new AlignFrame(al);\r
+        AlignFrame af = new AlignFrame(al, view.getWidth(), view.getHeight());\r
+\r
+        af.setFileName(file, "Jalview");\r
+\r
+        for (int i = 0; i < JSEQ.length; i++)\r
+        {\r
+          af.viewport.setSequenceColour(\r
+              af.viewport.alignment.getSequenceAt(i),\r
+              new java.awt.Color(\r
+                  JSEQ[i].getColour()));\r
+        }\r
+\r
 \r
 \r
         //  af.changeColour() );\r
@@ -295,7 +303,9 @@ public class Jalview2XML_V1
                                 groups[i].getColour());\r
                     }\r
 \r
-                    cs.setThreshold(groups[i].getPidThreshold(), true);\r
+                    if(cs!=null)\r
+                      cs.setThreshold(groups[i].getPidThreshold(), true);\r
+\r
                 }\r
 \r
                 Vector seqs = new Vector();\r
@@ -336,41 +346,21 @@ public class Jalview2XML_V1
         af.viewport.setStartRes(view.getStartRes());\r
         af.viewport.setStartSeq(view.getStartSeq());\r
         af.viewport.setShowAnnotation(view.getShowAnnotation());\r
-        af.viewport.showConservation = view.getShowConservation();\r
-        af.viewport.showQuality = view.getShowQuality();\r
-        af.viewport.showIdentity = view.getShowIdentity();\r
         af.viewport.setAbovePIDThreshold(view.getPidSelected());\r
-        af.abovePIDThreshold.setSelected(view.getPidSelected());\r
         af.viewport.setColourText(view.getShowColourText());\r
-        af.colourTextMenuItem.setSelected(view.getShowColourText());\r
         af.viewport.setConservationSelected(view.getConservationSelected());\r
-        af.conservationMenuItem.setSelected(view.getConservationSelected());\r
-\r
         af.viewport.setShowJVSuffix(view.getShowFullId());\r
-        af.seqLimits.setSelected(view.getShowFullId());\r
-\r
         af.viewport.setFont(new java.awt.Font(view.getFontName(),\r
                 view.getFontStyle(), view.getFontSize()));\r
         af.alignPanel.fontChanged();\r
 \r
         af.viewport.setRenderGaps(view.getRenderGaps());\r
-        af.renderGapsMenuItem.setSelected(view.getRenderGaps());\r
-\r
         af.viewport.setWrapAlignment(view.getWrapAlignment());\r
-        af.wrapMenuItem.setSelected(view.getWrapAlignment());\r
-\r
-\r
         af.alignPanel.setWrapAlignment(view.getWrapAlignment());\r
-\r
-        af.annotationPanelMenuItem.setState(view.getShowAnnotation());\r
         af.viewport.setShowAnnotation(view.getShowAnnotation());\r
         af.alignPanel.setAnnotationVisible(view.getShowAnnotation());\r
-\r
-\r
         af.viewport.setShowBoxes(view.getShowBoxes());\r
-        af.viewBoxesMenuItem.setSelected(view.getShowBoxes());\r
         af.viewport.setShowText(view.getShowText());\r
-        af.viewTextMenuItem.setSelected(view.getShowText());\r
 \r
         ColourSchemeI cs = null;\r
 \r
@@ -388,11 +378,10 @@ public class Jalview2XML_V1
             if(cs!=null)\r
             {\r
               cs.setThreshold(view.getPidThreshold(), true);\r
-              cs.setConsensus(af.viewport.vconsensus);\r
+              cs.setConsensus(af.viewport.hconsensus);\r
             }\r
         }\r
 \r
-        af.setColourSelected(view.getBgColour());\r
         af.viewport.setGlobalColourScheme(cs);\r
         af.viewport.setColourAppliesToAllGroups(false);\r
         af.changeColour(cs);\r
@@ -402,12 +391,8 @@ public class Jalview2XML_V1
         }\r
 \r
         af.viewport.setColourAppliesToAllGroups(true);\r
+        af.viewport.showSequenceFeatures = view.getShowSequenceFeatures();\r
 \r
-        if (view.getShowSequenceFeatures())\r
-        {\r
-           af.viewport.showSequenceFeatures = true;\r
-           af.showSeqFeatures.setSelected(true);\r
-        }\r
 \r
         if(jms.getFeatureSettings()!=null)\r
         {\r
@@ -429,6 +414,7 @@ public class Jalview2XML_V1
          af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = renderOrder;\r
         }\r
 \r
+        af.setMenusFromViewport(af.viewport);\r
 \r
         Desktop.addInternalFrame(af, view.getTitle(),\r
              view.getWidth(), view.getHeight());\r