JAL-2826 added action performed for hiding collapsed sequences
[jalview.git] / src / jalview / gui / Jalview2XML.java
index 4a15024..cf52231 100644 (file)
@@ -37,10 +37,15 @@ import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
 import jalview.datamodel.StructureViewerModel;
 import jalview.datamodel.StructureViewerModel.StructureData;
+import jalview.ext.archaeopteryx.AptxInit;
+import jalview.ext.treeviewer.TreeFrameI;
+import jalview.ext.treeviewer.TreeI;
+import jalview.ext.treeviewer.TreeViewerUtils;
 import jalview.ext.varna.RnaModel;
 import jalview.gui.StructureViewer.ViewerType;
 import jalview.io.DataSourceType;
 import jalview.io.FileFormat;
+import jalview.io.NewickFile;
 import jalview.renderer.ResidueShaderI;
 import jalview.schemabinding.version2.AlcodMap;
 import jalview.schemabinding.version2.AlcodonFrame;
@@ -1095,10 +1100,36 @@ public class Jalview2XML
               jms.addTree(tree);
             }
           }
+
+        }
+      }
+    }
+    if (!storeDS && av.getCurrentExtTree() != null)
+    {
+      Set<TreeFrameI> externalTreeViews = TreeViewerUtils
+              .getActiveTreeViews()
+              .keySet();
+      for (TreeFrameI treeView : externalTreeViews)
+      {
+        TreeI tree = treeView.getTree();
+        try
+        {
+          tree.outputAsFile(new File("word"));
+          copyFileToJar(jout, "word", "aptx-test");
+
+
+        } catch (IOException e)
+        {
+          // TODO Auto-generated catch block
+          e.printStackTrace();
         }
+
       }
+
     }
 
+
+
     // SAVE ANNOTATIONS
     /**
      * store forward refs from an annotationRow to any groups
@@ -1526,7 +1557,7 @@ public class Jalview2XML
 
                 String varnaStateFile = varna.getStateInfo(model.rna);
                 jarEntryName = RNA_PREFIX + viewId + "_" + nextCounter();
-                copyFileToJar(jout, varnaStateFile, jarEntryName);
+
                 rnaSessions.put(model, jarEntryName);
               }
               SecondaryStructure ss = new SecondaryStructure();
@@ -3532,12 +3563,33 @@ public class Jalview2XML
     if (loadTreesAndStructures)
     {
       loadTrees(jms, view, af, av, ap);
+      loadExternalTrees(jprovider, jms, av);
       loadPDBStructures(jprovider, jseqs, af, ap);
       loadRnaViewers(jprovider, jseqs, ap);
     }
     // and finally return.
     return af;
   }
+    
+  private void loadExternalTrees(jarInputStreamProvider jprovider,
+          JalviewModelSequence jms, AlignViewport av)
+  {
+    String treeFile = copyJarEntry(jprovider, "aptx-test", "aptx", null);
+    if (treeFile != null)
+    {
+    try
+    {
+      AptxInit.createInstancesFromFile(treeFile, av);
+    } catch (IOException e)
+    {
+      // TODO Auto-generated catch block
+      e.printStackTrace();
+      }
+    }
+    
+  }
+
+
 
   /**
    * Instantiate and link any saved RNA (Varna) viewers. The state of the Varna
@@ -3653,12 +3705,20 @@ public class Jalview2XML
       {
 
         Tree tree = jms.getTree(t);
+        NewickFile newick = new jalview.io.NewickFile(tree.getNewick());
+
+        TreeFrameI externalViewer = AptxInit.createInstanceFromNhx(
+                tree.getTitle(), tree.getNewick(),
+                av);
+
 
         TreePanel tp = (TreePanel) retrieveExistingObj(tree.getId());
         if (tp == null)
         {
+
+
           tp = af.showNewickTree(
-                  new jalview.io.NewickFile(tree.getNewick()),
+                  newick,
                   tree.getTitle(), tree.getWidth(), tree.getHeight(),
                   tree.getXpos(), tree.getYpos());
           if (tree.getId() != null)
@@ -5333,7 +5393,7 @@ public class Jalview2XML
 
     if (this.frefedSequence == null)
     {
-      frefedSequence = new Vector<SeqFref>();
+      frefedSequence = new Vector<>();
     }
 
     viewportsAdded.clear();