* Bug #13543 fixed - "slider" uicontrols did not work with the mouse wheel. 80/15280/2
Vincent COUVERT [Fri, 26 Sep 2014 10:06:28 +0000 (12:06 +0200)]
Change-Id: Ie8b9321149b2d3dd3e486b5b0761f6851ddc947e

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

index 5d6c7c7..f69c8ce 100644 (file)
@@ -236,6 +236,8 @@ Scilab Bug Fixes
 
 * Bug #13527 fixed - hilb did not check properly the type of the first input argument.
 
+* Bug #13543 fixed - "slider" uicontrols did not work with the mouse wheel.
+
 * Bug #13554 fixed - rubberbox returned wrong values.
 
 * Bug #13579 fixed - bar displayed useless warnings.
index fee823c..f0f9ef8 100644 (file)
@@ -20,6 +20,8 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 
 import java.awt.Color;
 import java.awt.event.ActionEvent;
+import java.awt.event.MouseWheelEvent;
+import java.awt.event.MouseWheelListener;
 
 import javax.swing.AbstractAction;
 import javax.swing.JScrollBar;
@@ -166,6 +168,19 @@ public class SwingScilabSlider extends JSlider implements SwingViewObject, Simpl
             }
         };
         addChangeListener(changeListener);
+
+        // Fix for bug #13543
+        this.addMouseWheelListener(new MouseWheelListener() {
+            public void mouseWheelMoved(MouseWheelEvent e) {
+                int notches = e.getWheelRotation();
+                int step = (e.isControlDown() ? getMajorTickSpacing() : getMinorTickSpacing());
+                if (notches < 0) {
+                    setValue(getValue() + step);
+                } else {
+                    setValue(getValue() - step);
+                }
+            }
+        });
     }
 
     /**
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_13543.tst b/scilab/modules/gui/tests/nonreg_tests/bug_13543.tst
new file mode 100644 (file)
index 0000000..7370b13
--- /dev/null
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+
+// <-- INTERACTIVE TEST -->
+
+//
+// <-- Non-regression test for bug 13543 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13543
+//
+// <-- Short Description -->
+// In a gui, scrollbar does not work with the mouse wheel
+
+// Launch Scilab Demonstrations
+// Select GUI
+// Select Uicontrols 2
+
+// Put the mouse on the slider and use the wheel
+
+// Check that the slider moves and the graphics are updated
\ No newline at end of file