JAL-3048 explicit instead of default 'No' response handler
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 6 Dec 2018 14:54:30 +0000 (14:54 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 6 Dec 2018 14:54:30 +0000 (14:54 +0000)
src/jalview/gui/AlignViewport.java

index 15103ef..53ab6fc 100644 (file)
@@ -712,14 +712,16 @@ public class AlignViewport extends AlignmentViewport
         return;
       }
     }
-    alignmentDataAdded(toAdd);
+    addDataToAlignment(toAdd);
   }
 
-  private void alignmentDataAdded(AlignmentI toAdd)
+  /**
+   * adds sequences to this alignment
+   * 
+   * @param toAdd
+   */
+  void addDataToAlignment(AlignmentI toAdd)
   {
-    /*
-     * No mappings, or offer declined - add sequences to this alignment
-     */
     // TODO: JAL-407 regardless of above - identical sequences (based on ID and
     // provenance) should share the same dataset sequence
 
@@ -762,29 +764,36 @@ public class AlignViewport extends AlignmentViewport
     final String question = JvSwingUtils.wrapTooltip(true,
             MessageManager.getString("label.open_split_window?"));
     final AlignViewport us = this;
-    JvOptionPane.newOptionDialog(Desktop.desktop)
-            .response(new RunResponse(1)
+    
+    /*
+     * options No, Split Window, New Window correspond to
+     * dialog responses 0, 1, 2 (even though JOptionPane shows them
+     * in reverse order)
+     */
+    JvOptionPane dialog = JvOptionPane.newOptionDialog(Desktop.desktop)
+            .response(new RunResponse(0)
             {
               @Override
               public void run()
               {
-                us.openLinkedAlignmentAs(al, title, true);
+                  addDataToAlignment(al);
               }
-            }).response(new RunResponse(2)
+            }).response(new RunResponse(1)
             {
               @Override
               public void run()
               {
-                us.openLinkedAlignmentAs(al, title, false);
+                us.openLinkedAlignmentAs(al, title, true);
               }
-            }).defaultResponse(new Runnable()
+            }).response(new RunResponse(2)
             {
               @Override
               public void run()
               {
-                alignmentDataAdded(al);
+                us.openLinkedAlignmentAs(al, title, false);
               }
-            }).showDialog(question,
+            });
+       dialog.showDialog(question,
             MessageManager.getString("label.open_split_window"),
             JvOptionPane.DEFAULT_OPTION, JvOptionPane.PLAIN_MESSAGE, null,
             options, options[0]);