JAL-2154 toString for forward references
[jalview.git] / src / jalview / gui / Jalview2XML.java
index 9861697..3bf73df 100644 (file)
@@ -278,9 +278,12 @@ public class Jalview2XML
   {
     String sref;
 
-    public SeqFref(String _sref)
+    String type;
+
+    public SeqFref(String _sref, String type)
     {
       sref = _sref;
+      this.type = type;
     }
 
     public String getSref()
@@ -314,6 +317,12 @@ public class Jalview2XML
      * @return true if the forward reference was fully resolved
      */
     abstract boolean resolve();
+
+    @Override
+    public String toString()
+    {
+      return type + " reference to " + sref;
+    }
   }
 
   /**
@@ -326,7 +335,7 @@ public class Jalview2XML
   public SeqFref newMappingRef(final String sref,
           final jalview.datamodel.Mapping _jmap)
   {
-    SeqFref fref = new SeqFref(sref)
+    SeqFref fref = new SeqFref(sref, "Mapping")
     {
       public jalview.datamodel.Mapping jmap = _jmap;
 
@@ -349,7 +358,7 @@ public class Jalview2XML
           final AlignedCodonFrame _cf, final jalview.datamodel.Mapping _jmap)
   {
 
-    SeqFref fref = new SeqFref(sref)
+    SeqFref fref = new SeqFref(sref, "Codon Frame")
     {
       AlignedCodonFrame cf = _cf;
 
@@ -635,9 +644,15 @@ public class Jalview2XML
       JarOutputStream jout = new JarOutputStream(fos);
       List<AlignFrame> frames = new ArrayList<AlignFrame>();
 
+      // resolve splitframes
+      if (af.getViewport().getCodingComplement() != null)
       {
+        frames = ((SplitFrame) af.getSplitViewContainer()).getAlignFrames();
       }
+      else
+      {
         frames.add(af);
+      }
       saveAllFrames(frames, jout);
       try
       {
@@ -4533,7 +4548,7 @@ public class Jalview2XML
       }
     }
     af.setMenusFromViewport(af.viewport);
-
+    af.setTitle(view.getTitle());
     // TODO: we don't need to do this if the viewport is aready visible.
     /*
      * Add the AlignFrame to the desktop (it may be 'gathered' later), unless it