+/*******************************************************************************
+ * 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
+ *
+ * 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;
}
}
{
}
;
+ // 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)
{