* Bug #12319 fixed - Slider no more sensitive to "Value" for positioning post 5.4... 04/10904/4
Vincent COUVERT [Wed, 20 Mar 2013 12:55:47 +0000 (13:55 +0100)]
Not added in the CHANGES file since never released.

Change-Id: I17798410f4372caa29e63caafd5f8da92b05983b

scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/slider/SwingScilabSlider.java
scilab/modules/gui/tests/nonreg_tests/bug_12319.tst [new file with mode: 0644]

index a9f7775..673d51a 100644 (file)
@@ -307,17 +307,15 @@ public class SwingScilabSlider extends JScrollBar implements SwingViewObject, Si
      * @param value the new value
      */
     public void setUserValue(double value) {
-        if (!SwingUtilities.isEventDispatchThread()) { /* Avoid double-update when Model is updated from the callback */
-            /* Remove the listener to avoid the callback to be executed */
-            removeAdjustmentListener(adjustmentListener);
+        /* Remove the listener to avoid the callback to be executed */
+        removeAdjustmentListener(adjustmentListener);
 
-            double userMin = (Double) GraphicController.getController().getProperty(uid, __GO_UI_MIN__);
-            double userMax = (Double) GraphicController.getController().getProperty(uid, __GO_UI_MAX__);
-            super.setValue(MINIMUM_VALUE + (int) ((value - userMin) * (MAXIMUM_VALUE - MINIMUM_VALUE) / (userMax - userMin)));
+        double userMin = (Double) GraphicController.getController().getProperty(uid, __GO_UI_MIN__);
+        double userMax = (Double) GraphicController.getController().getProperty(uid, __GO_UI_MAX__);
+        super.setValue(MINIMUM_VALUE + (int) ((value - userMin) * (MAXIMUM_VALUE - MINIMUM_VALUE) / (userMax - userMin)));
 
-            /* Put back the listener */
-            addAdjustmentListener(adjustmentListener);
-        }
+        /* Put back the listener */
+        addAdjustmentListener(adjustmentListener);
     }
 
     /**
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_12319.tst b/scilab/modules/gui/tests/nonreg_tests/bug_12319.tst
new file mode 100644 (file)
index 0000000..829b684
--- /dev/null
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12319 -->
+// <-- TEST WITH GRAPHIC -->
+// <-- INTERACTIVE TEST -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/12319
+//
+// <-- Short Description -->
+// Slider not respond to "Value" for positioning post 5.4.0 in recent nightly builds
+
+ppi = 120; // pixels per inch
+
+figGC = figure( ...
+        'Userdata',0, ...
+        'figure_position',[4*ppi, 4*ppi], ...
+        'figure_size',[5*ppi, 3*ppi], ...
+        'auto_resize','on', ...
+        'BackgroundColor',[0.85, 0.85, 0.85], ...
+        'figure_name', 'Slider Not Respond to ''Value'', val');
+
+
+mySlider= uicontrol( ...
+        'Parent'        , figGC, ...
+        'Style'            , 'slider', ...
+        'Min'            , -90, ...
+        'Max'            , 90, ...
+        'Value'            , 0,...
+        'SliderStep'    , [1.00, 5.00],...
+        'Units'            , 'inches',...
+        'Position'        , [1.0,1.0,1.00,0.15] );
+
+// Check that the slider cursor is centered.
\ No newline at end of file