From 5e0c372a53e267a798bdb3e96fe7789a54b89109 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Thu, 2 Nov 2006 15:12:38 +0000 Subject: [PATCH] Set menu state in alignFrame --- src/jalview/gui/Jalview2XML.java | 61 ++++++++++++++++++++++------------- src/jalview/gui/Jalview2XML_V1.java | 25 ++------------ 2 files changed, 40 insertions(+), 46 deletions(-) diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index fef8a83..f188e31 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -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