-/*******************************************************************************
- * 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 <http://www.gnu.org/licenses/>.
- *******************************************************************************/
+ */
package jalview.gui;
import jalview.ws.params.ArgumentI;
}
}
add(enabled, BorderLayout.NORTH);
+ for (Object str : opt.getPossibleValues())
+ {
+ val.addItem((String) str);
+ }
+ val.setSelectedItem((String) opt.getValue());
if (opt.getPossibleValues().size() > 1)
{
setLayout(new GridLayout(1, 2));
- for (Object str : opt.getPossibleValues())
- {
- val.addItem((String) str);
- }
- val.setSelectedItem((String) opt.getValue());
val.addActionListener(this);
add(val, BorderLayout.SOUTH);
}
}
else
{
- notmod &= initVal == null;
+ notmod &= (initVal != null) ? initVal.equals(val.getSelectedItem())
+ : val.getSelectedItem() != initVal;
}
poparent.argSetModified(this, !notmod);
}
return null;
}
OptionI opt = option.copy();
-
+ 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
+ opt.setValue(opt.getPossibleValues().get(0));
+ }
if (val.getSelectedItem() != null)
{
opt.setValue((String) val.getSelectedItem());
}
+ else
+ {
+ if (option.getValue() != null)
+ {
+ opt.setValue(option.getValue());
+ }
+ }
return opt;
}
}
else
{
- initVal = (initEnabled) ? option.getValue() : null;
+ initVal = (initEnabled) ? (String) val.getSelectedItem() : null;
}
}
choice = true;
}
}
-
+
if (!compact)
{
makeExpanderParam(parm);
private void makeCompactParam(ParameterI parm)
{
- setLayout(new MigLayout("","[][grow]"));
+ setLayout(new MigLayout("", "[][grow]"));
- String ttipText=null;
+ String ttipText = null;
controlPanel.setLayout(new BorderLayout());
{
// Only create description boxes if there actually is a description.
ttipText = ("<html>"
- + JvSwingUtils
- .wrapTooltip(parm.getDescription()+(finfo!=null ?"<br><img src=\""
- + linkImageURL
- + "\"/> Right click for further information.":""))
- + "</html>");
+ + JvSwingUtils
+ .wrapTooltip(parm.getDescription()
+ + (finfo != null ? "<br><img src=\""
+ + linkImageURL
+ + "\"/> Right click for further information."
+ : "")) + "</html>");
}
-
- JvSwingUtils.mgAddtoLayout(this, ttipText, new JLabel(parm.getName()),controlPanel, "");
+
+ JvSwingUtils.mgAddtoLayout(this, ttipText,
+ new JLabel(parm.getName()), controlPanel, "");
updateControls(parm);
validate();
}
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)
{
{
}
;
+ // 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,
fVal = 0f;
try
{
+ valueField.setText(valueField.getText().trim());
fVal = Float.valueOf(valueField.getText());
if (validator.getMin() != null
&& validator.getMin().floatValue() > fVal)
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)
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)
{
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,