X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOptsAndParamsPage.java;h=eb55994f3d1e9afd1ed8c7483e51135930500bf2;hb=ef0377ec8e57164363e74c33d6ede31f85e8ccf7;hp=05c8e1df98baea26435c2981595a2e56af679ac8;hpb=8b8b5a6d0aa747b57c812aa1ae20dcf6b7adf20f;p=jalview.git
diff --git a/src/jalview/gui/OptsAndParamsPage.java b/src/jalview/gui/OptsAndParamsPage.java
index 05c8e1d..eb55994 100644
--- a/src/jalview/gui/OptsAndParamsPage.java
+++ b/src/jalview/gui/OptsAndParamsPage.java
@@ -1,20 +1,20 @@
-/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
- *
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ *
* This file is part of Jalview.
- *
+ *
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
+ *
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License along with Jalview. If not, see .
- *******************************************************************************/
+ */
package jalview.gui;
import jalview.ws.params.ArgumentI;
@@ -109,7 +109,7 @@ public class OptsAndParamsPage
enabled.setToolTipText(""
+ JvSwingUtils
- .wrapTooltip(((desc == null) ? "see further details by right-clicking"
+ .wrapTooltip(((desc == null || desc.trim().length()==0) ? "see further details by right-clicking"
: desc)
+ "
")
+ "");
@@ -117,7 +117,7 @@ public class OptsAndParamsPage
}
else
{
- if (desc != null)
+ if (desc != null && desc.trim().length()>0)
{
enabled.setToolTipText(""
+ JvSwingUtils.wrapTooltip(opt.getDescription())
@@ -169,7 +169,8 @@ public class OptsAndParamsPage
}
else
{
- notmod &= (initVal!=null) ? initVal.equals(val.getSelectedItem()) : val.getSelectedItem()!=initVal;
+ notmod &= (initVal != null) ? initVal.equals(val.getSelectedItem())
+ : val.getSelectedItem() != initVal;
}
poparent.argSetModified(this, !notmod);
}
@@ -181,16 +182,20 @@ public class OptsAndParamsPage
return null;
}
OptionI opt = option.copy();
- if (opt.getPossibleValues()!=null && opt.getPossibleValues().size()==1)
+ if (opt.getPossibleValues() != null
+ && opt.getPossibleValues().size() == 1)
{
- // Hack to make sure the default value for an enabled option with only one value is actually returned
+ // Hack to make sure the default value for an enabled option with only
+ // one value is actually returned
opt.setValue(opt.getPossibleValues().get(0));
}
if (val.getSelectedItem() != null)
{
opt.setValue((String) val.getSelectedItem());
- } else {
- if (option.getValue()!=null)
+ }
+ else
+ {
+ if (option.getValue() != null)
{
opt.setValue(option.getValue());
}
@@ -230,10 +235,11 @@ public class OptsAndParamsPage
}
- public void resetToDefault()
+
+ public void resetToDefault(boolean setDefaultParams)
{
enabled.setSelected(false);
- if (option.isRequired())
+ if (option.isRequired() || (setDefaultParams && option.getValue()!=null))
{
// Apply default value
selectOption(option, option.getValue());
@@ -250,10 +256,10 @@ public class OptsAndParamsPage
}
else
{
- initVal = (initEnabled) ? (String)val.getSelectedItem() : null;
+ initVal = (initEnabled) ? (String) val.getSelectedItem() : null;
}
}
-
+
}
public class ParamBox extends JPanel implements ChangeListener,
@@ -310,7 +316,7 @@ public class OptsAndParamsPage
choice = true;
}
}
-
+
if (!compact)
{
makeExpanderParam(parm);
@@ -324,9 +330,9 @@ public class OptsAndParamsPage
private void makeCompactParam(ParameterI parm)
{
- setLayout(new MigLayout("","[][grow]"));
+ setLayout(new MigLayout("", "[][grow]"));
- String ttipText=null;
+ String ttipText = null;
controlPanel.setLayout(new BorderLayout());
@@ -335,14 +341,16 @@ public class OptsAndParamsPage
{
// Only create description boxes if there actually is a description.
ttipText = (""
- + JvSwingUtils
- .wrapTooltip(parm.getDescription()+(finfo!=null ?"
Right click for further information.":""))
- + "");
+ + JvSwingUtils
+ .wrapTooltip(parm.getDescription()
+ + (finfo != null ? "
Right click for further information."
+ : "")) + "");
}
-
- JvSwingUtils.mgAddtoLayout(this, ttipText, new JLabel(parm.getName()),controlPanel, "");
+
+ JvSwingUtils.mgAddtoLayout(this, ttipText,
+ new JLabel(parm.getName()), controlPanel, "");
updateControls(parm);
validate();
}
@@ -575,21 +583,21 @@ public class OptsAndParamsPage
valueField.addActionListener(this);
valueField.addKeyListener(new KeyListener()
{
-
+
@Override
public void keyTyped(KeyEvent e)
{
}
-
+
@Override
public void keyReleased(KeyEvent e)
{
- if (valueField.getText().trim().length()>0)
- {
+ if (valueField.getText().trim().length() > 0)
+ {
actionPerformed(null);
- }
+ }
}
-
+
@Override
public void keyPressed(KeyEvent e)
{
@@ -660,6 +668,8 @@ public class OptsAndParamsPage
{
}
;
+ // update value field to reflect any bound checking we performed.
+ valueField.setText("" + iVal);
if (validator.getMin() != null && validator.getMax() != null)
{
slider.getModel().setRangeProperties(iVal, 1,
@@ -678,6 +688,7 @@ public class OptsAndParamsPage
fVal = 0f;
try
{
+ valueField.setText(valueField.getText().trim());
fVal = Float.valueOf(valueField.getText());
if (validator.getMin() != null
&& validator.getMin().floatValue() > fVal)
@@ -685,6 +696,8 @@ public class OptsAndParamsPage
fVal = validator.getMin().floatValue();
// TODO: provide visual indication that hard limit was reached for
// this parameter
+ // update value field to reflect any bound checking we performed.
+ valueField.setText("" + fVal);
}
if (validator.getMax() != null
&& validator.getMax().floatValue() < fVal)
@@ -692,6 +705,8 @@ public class OptsAndParamsPage
fVal = validator.getMax().floatValue();
// TODO: provide visual indication that hard limit was reached for
// this parameter
+ // update value field to reflect any bound checking we performed.
+ valueField.setText("" + fVal);
}
} catch (Exception e)
{
@@ -737,12 +752,14 @@ public class OptsAndParamsPage
public OptsAndParamsPage(OptsParametersContainerI paramContainer)
{
- this(paramContainer,false);
+ this(paramContainer, false);
}
- public OptsAndParamsPage(OptsParametersContainerI paramContainer, boolean compact)
+
+ public OptsAndParamsPage(OptsParametersContainerI paramContainer,
+ boolean compact)
{
poparent = paramContainer;
- this.compact=compact;
+ this.compact = compact;
}
public static void showUrlPopUp(JComponent invoker, final String finfo,
@@ -767,9 +784,9 @@ public class OptsAndParamsPage
URL linkImageURL = getClass().getResource("/images/link.gif");
- Map optSet = new Hashtable();
+ Map optSet = new java.util.LinkedHashMap();
- Map paramSet = new Hashtable();
+ Map paramSet = new java.util.LinkedHashMap();
public Map getOptSet()
{