Remove b keystroke
[jalview.git] / src / jalview / ws / MsaWSClient.java
index 479f22f..999fc96 100755 (executable)
@@ -43,6 +43,7 @@ public class MsaWSClient
    * server is a WSDL2Java generated stub for an archetypal MsaWSI service.\r
    */\r
   ext.vamsas.MuscleWS server;\r
+  AlignFrame alignFrame;\r
 \r
 \r
   /**\r
@@ -56,10 +57,14 @@ public class MsaWSClient
    * @param preserveOrder DOCUMENT ME!\r
    */\r
 \r
-  public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle, SequenceI[] msa,\r
-                     boolean submitGaps, boolean preserveOrder, Alignment seqdataset)\r
+  public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle,\r
+                     SequenceI[] msa,\r
+                     boolean submitGaps, boolean preserveOrder,\r
+                     Alignment seqdataset,\r
+                     AlignFrame _alignFrame)\r
   {\r
 \r
+    alignFrame = _alignFrame;\r
     if (!sh.getAbstractName().equals("MsaWS"))\r
     {\r
       JOptionPane.showMessageDialog(Desktop.desktop,\r
@@ -274,6 +279,21 @@ public class MsaWSClient
           if (result.isFinished())\r
           {\r
             wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK);\r
+            wsInfo.showResultsNewFrame.addActionListener(new java.awt.event.ActionListener()\r
+                {\r
+                  public void actionPerformed(java.awt.event.ActionEvent evt)\r
+                  {\r
+                    displayResults(true);\r
+                  }\r
+                });\r
+           wsInfo.mergeResults.addActionListener(new java.awt.event.ActionListener()\r
+                {\r
+                  public void actionPerformed(java.awt.event.ActionEvent evt)\r
+                  {\r
+                    displayResults(false);\r
+                  }\r
+                });\r
+           wsInfo.setResultsReady();\r
             parseResult();\r
             jobComplete = true;\r
             jobsRunning--;\r
@@ -425,7 +445,6 @@ public class MsaWSClient
 \r
     void parseResult()\r
     {\r
-      SequenceI[] seqs = null;\r
 \r
       try\r
       {\r
@@ -451,41 +470,62 @@ public class MsaWSClient
             OutputHeader += (lines[line] + "\n");\r
           }\r
 \r
-          // JBPNote The returned files from a webservice could be hidden behind icons in the monitor window that, when clicked, pop up their corresponding data\r
-          seqs = getVamsasAlignment(result.getMsa());\r
+          // JBPNote The returned files from a webservice could be\r
+          // hidden behind icons in the monitor window that,\r
+          // when clicked, pop up their corresponding data\r
         }\r
 \r
         wsInfo.setProgressText(OutputHeader);\r
-\r
-        if (seqs != null)\r
-        {\r
-          AlignmentOrder msaorder = new AlignmentOrder(seqs);\r
-\r
-          if (preserveOrder)\r
-          {\r
-            jalview.analysis.AlignmentSorter.recoverOrder(seqs);\r
-          }\r
-\r
-          jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs);\r
-\r
-          Alignment al = new Alignment(seqs);\r
-          if (dataset!=null) {\r
-            al.setDataset(dataset);\r
-          }\r
-          // TODO: JBPNote Should also rename the query sequence sometime...\r
-          AlignFrame af = new AlignFrame(al);\r
-          af.addSortByOrderMenuItem(ServiceName + " Ordering",\r
-                                    msaorder);\r
-\r
-          Desktop.addInternalFrame(af, alTitle,\r
-                                   AlignFrame.NEW_WINDOW_WIDTH,\r
-                                   AlignFrame.NEW_WINDOW_HEIGHT);\r
-        }\r
       }\r
       catch (Exception ex)\r
       {\r
         ex.printStackTrace();\r
       }\r
     }\r
+\r
+    void displayResults(boolean newFrame)\r
+    {\r
+      SequenceI [] seqs = getVamsasAlignment(result.getMsa());\r
+\r
+      if (seqs != null)\r
+       {\r
+         AlignmentOrder msaorder = new AlignmentOrder(seqs);\r
+\r
+         if (preserveOrder)\r
+         {\r
+           jalview.analysis.AlignmentSorter.recoverOrder(seqs);\r
+         }\r
+\r
+         jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs);\r
+\r
+         Alignment al = new Alignment(seqs);\r
+         if (dataset!=null)\r
+         {\r
+           al.setDataset(dataset);\r
+         }\r
+\r
+         if(newFrame)\r
+         {\r
+           // TODO: JBPNote Should also rename the query sequence sometime...\r
+           AlignFrame af = new AlignFrame(al);\r
+\r
+         //>>>This is a fix for the moment, until a better solution is found!!<<<\r
+           af.getFeatureRenderer().transferSettings(alignFrame.getFeatureRenderer());\r
+\r
+           af.addSortByOrderMenuItem(ServiceName + " Ordering",\r
+                                     msaorder);\r
+\r
+           Desktop.addInternalFrame(af, alTitle,\r
+                                    AlignFrame.NEW_WINDOW_WIDTH,\r
+                                    AlignFrame.NEW_WINDOW_HEIGHT);\r
+\r
+         }\r
+         else\r
+         {\r
+           System.out.println("MERGE WITH OLD FRAME");\r
+\r
+         }\r
+       }\r
+    }\r
   }\r
 }\r