From 6bb0b7e5af42a340f9b9778e6f0ebb8b0d04f32e Mon Sep 17 00:00:00 2001 From: gmungoc Date: Wed, 26 Sep 2018 12:05:01 +0100 Subject: [PATCH] JAL-3125 avoid slider 'rounding' threshold field value --- src/jalview/gui/FeatureTypeSettings.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/jalview/gui/FeatureTypeSettings.java b/src/jalview/gui/FeatureTypeSettings.java index 55bc519..43a9e6a 100644 --- a/src/jalview/gui/FeatureTypeSettings.java +++ b/src/jalview/gui/FeatureTypeSettings.java @@ -366,7 +366,8 @@ public class FeatureTypeSettings extends JalviewDialog : BELOW_THRESHOLD_OPTION); slider.setEnabled(true); slider.setValue((int) (fc.getThreshold() * scaleFactor)); - thresholdValue.setText(String.valueOf(getRoundedSliderValue())); + float roundedSliderValue = getRoundedSliderValue(); + thresholdValue.setText(String.valueOf(fc.getThreshold()));// roundedSliderValue)); thresholdValue.setEnabled(true); thresholdIsMin.setEnabled(true); } @@ -1019,21 +1020,23 @@ public class FeatureTypeSettings extends JalviewDialog { try { + /* + * set 'adjusting' flag while moving the slider, so it + * doesn't then in turn change the value (with rounding) + */ adjusting = true; float f = Float.parseFloat(thresholdValue.getText()); + f = Float.max(f, this.min); + f = Float.min(f, this.max); + thresholdValue.setText(String.valueOf(f)); slider.setValue((int) (f * scaleFactor)); threshline.value = f; thresholdValue.setBackground(Color.white); // ok - - /* - * force repaint of any Overview window or structure - */ - ap.paintAlignment(true, true); + adjusting = false; + colourChanged(true); } catch (NumberFormatException ex) { thresholdValue.setBackground(Color.red); // not ok - } finally - { adjusting = false; } } -- 1.7.10.2