Begin separation of GUI and tree calculation logic
[jalview.git] / src / jalview / gui / TreePanel.java
index 80f0c73..a4521cc 100755 (executable)
@@ -41,6 +41,7 @@ import jalview.datamodel.NodeTransformI;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
 import jalview.datamodel.SequenceNode;
+import jalview.ext.archaeopteryx.ArchaeopteryxInit;
 import jalview.io.JalviewFileChooser;
 import jalview.io.JalviewFileView;
 import jalview.io.NewickFile;
@@ -170,6 +171,7 @@ public class TreePanel extends GTreePanel
       }
     });
 
+
     TreeLoader tl = new TreeLoader(newTree, inputData);
     tl.start();
 
@@ -256,9 +258,11 @@ public class TreePanel extends GTreePanel
       {
         // Must be outside run(), as Jalview2XML tries to
         // update distance/bootstrap visibility at the same time
-        showBootstrap(newickFile.HasBootstrap());
-        showDistances(newickFile.HasDistances());
+        showBootstrap(newickFile.hasBootstrap());
+        showDistances(newickFile.hasDistances());
+
       }
+
     }
 
     @Override
@@ -273,6 +277,10 @@ public class TreePanel extends GTreePanel
         {
           originalSeqData.setVisible(false);
         }
+
+        ArchaeopteryxInit archae = new ArchaeopteryxInit(newtree);
+        archae.startArchaeopteryx();
+
       }
       else
       {
@@ -283,12 +291,17 @@ public class TreePanel extends GTreePanel
                 : new AverageDistanceTree(av, sm, similarityParams);
         tree = new TreeModel(njtree);
         showDistances(true);
+
+        ArchaeopteryxInit archae = new ArchaeopteryxInit(tree);
+        archae.startArchaeopteryx();
+
       }
 
       tree.reCount(tree.getTopNode());
       tree.findHeight(tree.getTopNode());
       treeCanvas.setTree(tree);
       treeCanvas.repaint();
+
       av.setCurrentTree(tree);
       if (av.getSortByTree())
       {
@@ -493,7 +506,7 @@ public class TreePanel extends GTreePanel
 
     if (treeCanvas.applyToAllViews)
     {
-      final ArrayList<CommandI> commands = new ArrayList<CommandI>();
+      final ArrayList<CommandI> commands = new ArrayList<>();
       for (AlignmentPanel ap : PaintRefresher
               .getAssociatedPanels(av.getSequenceSetId()))
       {
@@ -793,19 +806,17 @@ public class TreePanel extends GTreePanel
             }
             if (newname == null)
             {
-              SequenceFeature sf[] = sq.getSequenceFeatures();
-              for (int i = 0; sf != null && i < sf.length; i++)
+              List<SequenceFeature> features = sq.getFeatures()
+                      .getPositionalFeatures(labelClass);
+              for (SequenceFeature feature : features)
               {
-                if (sf[i].getType().equals(labelClass))
+                if (newname == null)
+                {
+                  newname = feature.getDescription();
+                }
+                else
                 {
-                  if (newname == null)
-                  {
-                    newname = new String(sf[i].getDescription());
-                  }
-                  else
-                  {
-                    newname = newname + "; " + sf[i].getDescription();
-                  }
+                  newname = newname + "; " + feature.getDescription();
                 }
               }
             }