Merge new frame buttons added
[jalview.git] / src / jalview / ws / MsaWSClient.java
index 7d65ceb..999fc96 100755 (executable)
@@ -279,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
@@ -430,7 +445,6 @@ public class MsaWSClient
 \r
     void parseResult()\r
     {\r
-      SequenceI[] seqs = null;\r
 \r
       try\r
       {\r
@@ -456,45 +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
+      catch (Exception ex)\r
+      {\r
+        ex.printStackTrace();\r
+      }\r
+    }\r
 \r
-        if (seqs != null)\r
-        {\r
-          AlignmentOrder msaorder = new AlignmentOrder(seqs);\r
+    void displayResults(boolean newFrame)\r
+    {\r
+      SequenceI [] seqs = getVamsasAlignment(result.getMsa());\r
 \r
-          if (preserveOrder)\r
-          {\r
-            jalview.analysis.AlignmentSorter.recoverOrder(seqs);\r
-          }\r
+      if (seqs != null)\r
+       {\r
+         AlignmentOrder msaorder = new AlignmentOrder(seqs);\r
 \r
-          jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs);\r
+         if (preserveOrder)\r
+         {\r
+           jalview.analysis.AlignmentSorter.recoverOrder(seqs);\r
+         }\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
+         jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs);\r
 \r
-          //>>>This is a fix for the moment, until a better solution is found!!<<<\r
-          af.getFeatureRenderer().transferSettings(alignFrame.getFeatureRenderer());\r
+         Alignment al = new Alignment(seqs);\r
+         if (dataset!=null)\r
+         {\r
+           al.setDataset(dataset);\r
+         }\r
 \r
-          af.addSortByOrderMenuItem(ServiceName + " Ordering",\r
-                                    msaorder);\r
+         if(newFrame)\r
+         {\r
+           // TODO: JBPNote Should also rename the query sequence sometime...\r
+           AlignFrame af = new AlignFrame(al);\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
+         //>>>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