Set menu state in alignFrame
authoramwaterhouse <Andrew Waterhouse>
Thu, 2 Nov 2006 15:12:38 +0000 (15:12 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 2 Nov 2006 15:12:38 +0000 (15:12 +0000)
src/jalview/gui/Jalview2XML.java
src/jalview/gui/Jalview2XML_V1.java

index fef8a83..f188e31 100755 (executable)
@@ -822,6 +822,13 @@ public class Jalview2XML
     Hashtable seqRefIds;
 
     /**
+     * This maintains a list of viewports, the key being the
+     * seqSetId. Important to set historyItem and redoList
+     * for multiple views
+     */
+    Hashtable viewportsAdded;
+
+    /**
      * DOCUMENT ME!
      *
      * @param file DOCUMENT ME!
@@ -831,6 +838,8 @@ public class Jalview2XML
         jalview.gui.AlignFrame af = null;
 
         seqRefIds = new Hashtable();
+        viewportsAdded = new Hashtable();
+
         Vector gatherToThisFrame= new Vector();
 
         try
@@ -993,8 +1002,7 @@ public class Jalview2XML
 
         JalviewModelSequence jms = object.getJalviewModelSequence();
 
-        Viewport[] views = jms.getViewport();
-        Viewport view = views[0]; // DEAL WITH MULTIPLE VIEWPORTS LATER
+        Viewport view = jms.getViewport(0);
 
         //////////////////////////////////
         //LOAD SEQUENCES
@@ -1212,8 +1220,6 @@ public class Jalview2XML
             }
         }
 
-
-        //  af.changeColour() );
         /////////////////////////
         //LOAD GROUPS
         if (jms.getJGroupCount() > 0)
@@ -1283,8 +1289,23 @@ public class Jalview2XML
         af.viewport.gatherViewsHere = view.getGatheredViews();
 
         if (view.getSequenceSetId() != null)
-          PaintRefresher.Register(af.alignPanel, view.getSequenceSetId());
+        {
+          jalview.gui.AlignViewport av =
+              (jalview.gui.AlignViewport)
+              viewportsAdded.get(view.getSequenceSetId());
 
+          if(av!=null)
+          {
+            af.viewport.historyList = av.historyList;
+            af.viewport.redoList = av.redoList;
+          }
+          else
+          {
+            viewportsAdded.put(view.getSequenceSetId(), af.viewport);
+          }
+
+          PaintRefresher.Register(af.alignPanel, view.getSequenceSetId());
+        }
         if(hiddenSeqs!=null)
         {
           for(int s=0; s<JSEQ.length; s++)
@@ -1339,35 +1360,24 @@ public class Jalview2XML
         af.viewport.setStartSeq(view.getStartSeq());
         af.viewport.setShowAnnotation(view.getShowAnnotation());
         af.viewport.setAbovePIDThreshold(view.getPidSelected());
-        af.abovePIDThreshold.setSelected(view.getPidSelected());
+
         af.viewport.setColourText(view.getShowColourText());
-        af.colourTextMenuItem.setSelected(view.getShowColourText());
-        af.viewport.setConservationSelected(view.getConservationSelected());
-        af.conservationMenuItem.setSelected(view.getConservationSelected());
 
+        af.viewport.setConservationSelected(view.getConservationSelected());
         af.viewport.setShowJVSuffix(view.getShowFullId());
-        af.seqLimits.setSelected(view.getShowFullId());
-
         af.viewport.setFont(new java.awt.Font(view.getFontName(),
                 view.getFontStyle(), view.getFontSize()));
         af.alignPanel.fontChanged();
-
         af.viewport.setRenderGaps(view.getRenderGaps());
-        af.renderGapsMenuItem.setSelected(view.getRenderGaps());
-
         af.viewport.setWrapAlignment(view.getWrapAlignment());
-        af.wrapMenuItem.setSelected(view.getWrapAlignment());
-
         af.alignPanel.setWrapAlignment(view.getWrapAlignment());
-
-        af.annotationPanelMenuItem.setState(view.getShowAnnotation());
         af.viewport.setShowAnnotation(view.getShowAnnotation());
         af.alignPanel.setAnnotationVisible(view.getShowAnnotation());
 
         af.viewport.setShowBoxes(view.getShowBoxes());
-        af.viewBoxesMenuItem.setSelected(view.getShowBoxes());
+
         af.viewport.setShowText(view.getShowText());
-        af.viewTextMenuItem.setSelected(view.getShowText());
+
 
         ColourSchemeI cs = null;
 
@@ -1479,21 +1489,24 @@ public class Jalview2XML
             }
         }
 
-        af.setColourSelected(view.getBgColour());
+
         af.viewport.setGlobalColourScheme(cs);
         af.viewport.setColourAppliesToAllGroups(false);
-        af.changeColour(cs);
+
         if (view.getConservationSelected() && cs!=null)
         {
           cs.setConservationInc(view.getConsThreshold());
         }
 
+        af.changeColour(cs);
+
         af.viewport.setColourAppliesToAllGroups(true);
 
+
+
         if (view.getShowSequenceFeatures())
         {
            af.viewport.showSequenceFeatures = true;
-           af.showSeqFeatures.setSelected(true);
         }
 
         if(jms.getFeatureSettings()!=null)
@@ -1527,6 +1540,8 @@ public class Jalview2XML
           }
         }
 
+        af.setMenusFromViewport(af.viewport);
+
 
         Desktop.addInternalFrame(af, view.getTitle(),
              view.getWidth(), view.getHeight());
index 1d52819..a036988 100755 (executable)
@@ -337,37 +337,20 @@ public class Jalview2XML_V1
         af.viewport.setStartSeq(view.getStartSeq());\r
         af.viewport.setShowAnnotation(view.getShowAnnotation());\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
@@ -389,7 +372,6 @@ public class Jalview2XML_V1
             }\r
         }\r
 \r
-        af.setColourSelected(view.getBgColour());\r
         af.viewport.setGlobalColourScheme(cs);\r
         af.viewport.setColourAppliesToAllGroups(false);\r
         af.changeColour(cs);\r
@@ -399,12 +381,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
@@ -426,6 +404,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