JAL-4034 Allow request for non-modal JDialog, which puts the Runnable action into...
[jalview.git] / src / jalview / gui / OptsAndParamsPage.java
index 92b612a..e0427cc 100644 (file)
  */
 package jalview.gui;
 
-import jalview.util.MessageManager;
-import jalview.ws.params.ArgumentI;
-import jalview.ws.params.OptionI;
-import jalview.ws.params.ParameterI;
-import jalview.ws.params.ValueConstrainI;
-import jalview.ws.params.ValueConstrainI.ValueType;
-
 import java.awt.BorderLayout;
 import java.awt.Component;
 import java.awt.Dimension;
@@ -35,6 +28,8 @@ import java.awt.GridLayout;
 import java.awt.Rectangle;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.FocusAdapter;
+import java.awt.event.FocusEvent;
 import java.awt.event.KeyEvent;
 import java.awt.event.KeyListener;
 import java.awt.event.MouseEvent;
@@ -59,6 +54,12 @@ import javax.swing.border.TitledBorder;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 
+import jalview.util.MessageManager;
+import jalview.ws.params.ArgumentI;
+import jalview.ws.params.OptionI;
+import jalview.ws.params.ParameterI;
+import jalview.ws.params.ValueConstrainI;
+import jalview.ws.params.ValueConstrainI.ValueType;
 import net.miginfocom.swing.MigLayout;
 
 /**
@@ -573,9 +574,8 @@ public class OptsAndParamsPage
       if (!adjusting)
       {
         float value = slider.getSliderValue();
-        valueField.setText(
-                integ ? Integer.toString((int) value)
-                        : Float.toString(value));
+        valueField.setText(integ ? Integer.toString((int) value)
+                : Float.toString(value));
         checkIfModified();
       }
     }
@@ -621,6 +621,16 @@ public class OptsAndParamsPage
             {
             }
           });
+          valueField.addFocusListener(new FocusAdapter()
+          {
+
+            @Override
+            public void focusLost(FocusEvent e)
+            {
+              actionPerformed(null);
+            }
+
+          });
           valueField.setPreferredSize(new Dimension(60, 25));
           valueField.setText(parm.getValue());
           slider = makeSlider(parm.getValidValue());
@@ -691,8 +701,7 @@ public class OptsAndParamsPage
           {
             valueField.setText(valueField.getText().trim());
             iVal = Integer.valueOf(valueField.getText());
-            if (minValue != null
-                    && minValue.intValue() > iVal)
+            if (minValue != null && minValue.intValue() > iVal)
             {
               iVal = minValue.intValue();
               // TODO: provide visual indication that hard limit was reached for
@@ -723,8 +732,7 @@ public class OptsAndParamsPage
           {
             valueField.setText(valueField.getText().trim());
             fVal = Float.valueOf(valueField.getText());
-            if (minValue != null
-                    && minValue.floatValue() > fVal)
+            if (minValue != null && minValue.floatValue() > fVal)
             {
               fVal = minValue.floatValue();
               // TODO: provide visual indication that hard limit was reached for
@@ -732,8 +740,7 @@ public class OptsAndParamsPage
               // update value field to reflect any bound checking we performed.
               valueField.setText("" + fVal);
             }
-            if (maxValue != null
-                    && maxValue.floatValue() < fVal)
+            if (maxValue != null && maxValue.floatValue() < fVal)
             {
               fVal = maxValue.floatValue();
               // TODO: provide visual indication that hard limit was reached for