X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=f188e31ae7f19e7aa822764cca134086806dc7bd;hb=5e0c372a53e267a798bdb3e96fe7789a54b89109;hp=fef8a836094b299d7a7af22692af532ff3777b99;hpb=ddb541d14e7e192655b2b5c57d30af6f9d83007e;p=jalview.git 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