JAL-3048 internalDialog with dialogRunner
authorJim Procter <jprocter@issues.jalview.org>
Fri, 6 Jul 2018 13:32:07 +0000 (14:32 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Fri, 6 Jul 2018 13:32:07 +0000 (14:32 +0100)
src/jalview/gui/JvOptionPane.java
src/jalview/util/dialogrunner/DialogRunner.java
src/jalview/util/dialogrunner/Response.java

index 89899e2..f0bd800 100644 (file)
@@ -768,6 +768,20 @@ public class JvOptionPane extends JOptionPane
     {
       runner.firstRun((int) getMockResponse());
     }
+    // two uses:
+    //
+    // TODO
+    //
+    // 1) AlignViewport for openLinkedAlignment
+    //
+    // Show a dialog with the option to open and link (cDNA <-> protein) as a
+    // new
+    // alignment, either as a standalone alignment or in a split frame. Returns
+    // true if the new alignment was opened, false if not, because the user
+    // declined the offer.
+    //
+    // 2) UserDefinedColors warning about saving over a name already defined
+    //
     Component parent;
     /**
      * @j2sNative parent = this;
index 9f23832..fa98869 100644 (file)
@@ -193,7 +193,8 @@ public class DialogRunner<T extends DialogRunnerI> implements DialogRunnerI
       return;
     }
     responses.add(response);
-    List<RunResponse> laction = callbacks.get(response);
+    
+    List<RunResponse> laction = response.isNull() ? null : callbacks.get(response);
 
     if (laction == null)
     {
index 15df8f8..3c771b8 100644 (file)
@@ -112,4 +112,13 @@ public class Response
     }
     return "Unconfigured response.";
   }
+
+  /**
+   * null response - triggers the default response
+   * @return
+   */
+  public boolean isNull()
+  {
+    return (type==2 && objresp==null) || (type==1 && (stringresp==null || stringresp.equals("")));
+  }
 }
\ No newline at end of file