JAL-3066 Implement clustaloWS using slivka system.
[jalview.git] / src / jalview / gui / AlignFrame.java
index ddebe02..5a5df3b 100644 (file)
@@ -109,6 +109,7 @@ import jalview.ws.params.ArgumentI;
 import jalview.ws.params.ParamDatastoreI;
 import jalview.ws.params.WsParamSetI;
 import jalview.ws.seqfetcher.DbSourceProxy;
+import jalview.ws.slivkaws.SlivkaWSDiscoverer;
 
 import java.awt.BorderLayout;
 import java.awt.Component;
@@ -1199,13 +1200,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
    */
   public boolean alignmentIsSufficient(int required)
   {
-    if (getViewport().getAlignment().getSequences().size() < required)
-    {
-      JOptionPane.showMessageDialog(this,
-              MessageManager.getString("label.not_enough_sequences"));
-      return false;
-    }
-    return true;
+      if (getViewport().getSequenceSelection().length < required)
+      {
+        JOptionPane.showMessageDialog(this,
+                MessageManager.getString("label.not_enough_sequences"));
+        return false;
+      }
+      return true;
   }
 
   /**
@@ -3787,6 +3788,28 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     alignPanel.paintAlignment(true, false);
   }
 
+  @Override
+  public void sortEValueMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByEValue(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("Group Sort", oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true, false);
+
+  }
+
+  @Override
+  public void sortBitScoreMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByBitScore(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("Group Sort", oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true, false);
+
+  }
+  
   /**
    * DOCUMENT ME!
    * 
@@ -4422,9 +4445,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 }
                 build_urlServiceMenu(me.webService);
 
+
                 // TODO Mateusz - follow pattern for adding web service
                 // JMenuItems for slivka-based services
 
+                SlivkaWSDiscoverer slivkaDiscoverer = SlivkaWSDiscoverer.getInstance();
+                slivkaDiscoverer.attachWSMenuEntry(webService, me);
+
+
                 build_fetchdbmenu(webService);
                 for (JMenu item : wsmenu)
                 {