import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
+import java.awt.event.FocusAdapter;
+import java.awt.event.FocusEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
threshold.addItem(MessageManager
.getString("label.threshold_feature_below_threshold"));
thresholdValue.addActionListener(this);
+ thresholdValue.addFocusListener(new FocusAdapter()
+ {
+ @Override
+ public void focusLost(FocusEvent e)
+ {
+ thresholdValue_actionPerformed();
+ }
+ });
slider.setBackground(Color.white);
slider.setEnabled(false);
slider.setSize(new Dimension(93, 21));
{
if (evt.getSource() == thresholdValue)
{
- try
- {
- float f = new Float(thresholdValue.getText()).floatValue();
- slider.setValue((int) (f * SCALE_FACTOR_1K));
- adjustmentValueChanged(null);
- } catch (NumberFormatException ex)
- {
- }
+ thresholdValue_actionPerformed();
}
else if (evt.getSource() == minColour)
{
}
}
+ /**
+ * Action on input of a value for colour score threshold
+ */
+ protected void thresholdValue_actionPerformed()
+ {
+ try
+ {
+ float f = new Float(thresholdValue.getText()).floatValue();
+ slider.setValue((int) (f * SCALE_FACTOR_1K));
+ adjustmentValueChanged(null);
+
+ /*
+ * force repaint of any Overview window or structure
+ */
+ changeColour(true);
+ } catch (NumberFormatException ex)
+ {
+ }
+ }
+
@Override
public void itemStateChanged(ItemEvent evt)
{
return;
}
- int aboveThreshold = AnnotationColourGradient.NO_THRESHOLD;
+ int thresholdOption = AnnotationColourGradient.NO_THRESHOLD;
if (threshold.getSelectedIndex() == 1)
{
- aboveThreshold = AnnotationColourGradient.ABOVE_THRESHOLD;
+ thresholdOption = AnnotationColourGradient.ABOVE_THRESHOLD;
}
else if (threshold.getSelectedIndex() == 2)
{
- aboveThreshold = AnnotationColourGradient.BELOW_THRESHOLD;
+ thresholdOption = AnnotationColourGradient.BELOW_THRESHOLD;
}
slider.setEnabled(true);
acg.setColourByLabel(colourFromLabel.getState());
maxColour.setEnabled(!colourFromLabel.getState());
minColour.setEnabled(!colourFromLabel.getState());
- if (aboveThreshold == AnnotationColourGradient.NO_THRESHOLD)
+ if (thresholdOption == AnnotationColourGradient.NO_THRESHOLD)
{
slider.setEnabled(false);
thresholdValue.setEnabled(false);
thresholdValue.setText("");
}
- if (aboveThreshold != AnnotationColourGradient.NO_THRESHOLD)
+ if (thresholdOption != AnnotationColourGradient.NO_THRESHOLD)
{
adjusting = true;
acg.setThreshold(threshline.value);
adjusting = false;
}
- acg.setAboveThreshold(true);
+ acg.setAboveThreshold(thresholdOption == AnnotationColourGradient.ABOVE_THRESHOLD);
+ acg.setBelowThreshold(thresholdOption == AnnotationColourGradient.BELOW_THRESHOLD);
+
if (thresholdIsMin.getState()
- && aboveThreshold != AnnotationColourGradient.NO_THRESHOLD)
+ && thresholdOption != AnnotationColourGradient.NO_THRESHOLD)
{
- if (aboveThreshold == AnnotationColourGradient.ABOVE_THRESHOLD)
+ if (thresholdOption == AnnotationColourGradient.ABOVE_THRESHOLD)
{
acg = new FeatureColour(acg, threshline.value, max);
}