X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=be562920d0aae16b6307c9b5329d6bfe51f93579;hb=528dcd143968fc270232e4cec64a79b447aa5ec6;hp=8dfe8395ec8498cb227157f170bb20c65f68f124;hpb=7aef14d879f7bfb8af464a6b7700a99413eab0c6;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 8dfe839..be56292 100644 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -20,45 +20,6 @@ */ package jalview.gui; -import java.awt.Rectangle; -import java.io.BufferedReader; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.lang.reflect.InvocationTargetException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.IdentityHashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.StringTokenizer; -import java.util.Vector; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; -import java.util.jar.JarOutputStream; - -import javax.swing.JInternalFrame; -import javax.swing.JOptionPane; -import javax.swing.SwingUtilities; - -import org.exolab.castor.xml.Marshaller; -import org.exolab.castor.xml.Unmarshaller; - import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.datamodel.AlignedCodonFrame; @@ -128,6 +89,45 @@ import jalview.ws.params.ArgumentI; import jalview.ws.params.AutoCalcSetting; import jalview.ws.params.WsParamSetI; +import java.awt.Rectangle; +import java.io.BufferedReader; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.lang.reflect.InvocationTargetException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Hashtable; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.StringTokenizer; +import java.util.Vector; +import java.util.jar.JarEntry; +import java.util.jar.JarInputStream; +import java.util.jar.JarOutputStream; + +import javax.swing.JInternalFrame; +import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; + +import org.exolab.castor.xml.Marshaller; +import org.exolab.castor.xml.Unmarshaller; + /** * Write out the current jalview desktop state as a Jalview XML stream. * @@ -868,7 +868,7 @@ public class Jalview2XML } } - saveRnaViewers(jout, jseq, jds, viewIds, storeDS); + saveRnaViewers(jout, jseq, jds, viewIds, ap, storeDS); jms.addJSeq(jseq); } @@ -1365,10 +1365,12 @@ public class Jalview2XML * @param jseq * @param jds * @param viewIds + * @param ap * @param storeDataset */ protected void saveRnaViewers(JarOutputStream jout, JSeq jseq, - final SequenceI jds, List viewIds, boolean storeDataset) + final SequenceI jds, List viewIds, AlignmentPanel ap, + boolean storeDataset) { JInternalFrame[] frames = Desktop.desktop.getAllFrames(); for (int f = frames.length - 1; f > -1; f--) @@ -1376,11 +1378,12 @@ public class Jalview2XML if (frames[f] instanceof AppVarna) { AppVarna varna = (AppVarna) frames[f]; - if (varna.isListeningFor(jds)) + /* + * link the sequence to every viewer that is showing it and is linked to + * its alignment panel + */ + if (varna.isListeningFor(jds) && ap == varna.getAlignmentPanel()) { - /* - * link the sequence to every viewer that is showing it - */ String viewId = varna.getViewId(); RnaViewer rna = new RnaViewer(); rna.setViewId(viewId); @@ -2169,7 +2172,7 @@ public class Jalview2XML }); } catch (Exception x) { - + System.err.println("Error loading alignment: " + x.getMessage()); } } return af; @@ -3341,11 +3344,10 @@ public class Jalview2XML String sessionState = ss.getViewerState(); String tempStateFile = copyJarEntry(jprovider, sessionState, "varna"); - RnaModel rna = new RnaModel(rnaTitle, ann, seq, null, gapped, - tempStateFile); - appVarna.addModel(rna, rnaTitle); + RnaModel rna = new RnaModel(rnaTitle, ann, seq, null, gapped); + appVarna.addModelSession(rna, rnaTitle, tempStateFile); } - appVarna.setSelectedIndex(viewer.getSelectedRna()); + appVarna.setInitialSelection(viewer.getSelectedRna()); } } }