JAL-468 JAL-936 sort alignment by tree and autosort for new tree
[jalview.git] / src / jalview / gui / AlignFrame.java
index b9ba4e0..9df4931 100755 (executable)
@@ -699,6 +699,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     applyToAllGroups.setState(av.colourAppliesToAllGroups);
     showNpFeatsMenuitem.setSelected(av.isShowNpFeats());
     showDbRefsMenuitem.setSelected(av.isShowDbRefs());
+    autoCalculate.setSelected(av.autoCalculateConsensus);
+    sortByTree.setSelected(av.sortByTree);
 
     setShowProductsEnabled();
 
@@ -3420,6 +3422,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
               .getAlignment().getSequences());
     }
   }
+  public void sortByTreeOption_actionPerformed(ActionEvent e)
+  {
+    viewport.sortByTree = sortByTree.isSelected();
+  }
 
   /**
    * DOCUMENT ME!
@@ -3703,21 +3709,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
 
     for (i = 0; i < treePanels.size(); i++)
     {
-      TreePanel tp = (TreePanel) treePanels.elementAt(i);
+      final TreePanel tp = (TreePanel) treePanels.elementAt(i);
       final JMenuItem item = new JMenuItem(tp.getTitle());
       final NJTree tree = ((TreePanel) treePanels.elementAt(i)).getTree();
       item.addActionListener(new java.awt.event.ActionListener()
       {
         public void actionPerformed(ActionEvent e)
         {
-          SequenceI[] oldOrder = viewport.getAlignment()
-                  .getSequencesArray();
-          AlignmentSorter.sortByTree(viewport.getAlignment(), tree);
-
-          addHistoryItem(new OrderCommand("Tree Sort", oldOrder,
-                  viewport.alignment));
-
-          alignPanel.paintAlignment(true);
+          tp.sortByTree_actionPerformed(null);
+          addHistoryItem(tp.sortAlignmentIn(alignPanel));
+          
         }
       });