* Bug #10840 fixed - Keyboard arrows were disabled on 'Slider' uicontrols. 67/9067/2
Vincent COUVERT [Wed, 19 Sep 2012 12:10:11 +0000 (14:10 +0200)]
Change-Id: I550ea213a8af23766cab79885100607e7ddec852

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

index 2e77a81..6bd90d1 100644 (file)
@@ -75,6 +75,8 @@ Bug Fixes
 * Bug #10559 fixed - Sspectral estimation demonstration failed if the graphic
                      figure was closed.
 
+* Bug #10840 fixed - Keyboard arrows were disabled on 'Slider' uicontrols.
+
 * Bug #10885 fixed - Renamed "Exit" to "Exit Scinotes" in Scinotes.
 
 * Bug #11293 fixed - Line style was not taken into account.
index 08ace49..a9f7775 100644 (file)
@@ -64,6 +64,7 @@ public class SwingScilabSlider extends JScrollBar implements SwingViewObject, Si
         super();
         // needed to have slider working with GLCanvas
         setOpaque(true);
+        setFocusable(true); /* Enable to manage the slider using keyboard (See bug #10840) */
         setMinimum(MINIMUM_VALUE);
         setMaximum(MAXIMUM_VALUE + getVisibleAmount());
         adjustmentListener = new AdjustmentListener() {
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_10840.tst b/scilab/modules/gui/tests/nonreg_tests/bug_10840.tst
new file mode 100644 (file)
index 0000000..62c7e6a
--- /dev/null
@@ -0,0 +1,46 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 10840 -->
+// <-- TEST WITH GRAPHIC -->
+// <-- INTERACTIVE TEST -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/10840
+//
+// <-- Short Description -->
+// Keyboard arrows were disabled on 'slider' uicontrols.
+
+f = gcf();
+editH = uicontrol("Parent", f, ..
+        "Style", "edit", ..
+        "Position", [60 36 50 16], ..
+        "String", "500", ..
+        "Backgroundcolor", [1 1 1], ..
+        "Tag", "edit");
+
+sliderH = uicontrol("Parent", f, ..
+        "Style", "slider", ..
+        "Position", [10 8 200 20], ..
+        "Value", 500, ..
+        "Min", 0, ..
+        "Max", 1000, ..
+        "Tag", "slider", ..
+        "Callback", "cbSlider");
+
+function cbSlider()
+    s = findobj("Tag", "slider");
+    e = findobj("Tag", "edit");
+    sVal = get(s, "value");
+    set(e, "String", string(sVal));
+endfunction
+
+// Modify the slider values using the up/down/top/left keys and check that the value in the edit changes with a step of 10
+// Modify the slider values using the Page Up/Page Down keys and check that the value in the edit change with a step of 100
+
+delete(gcf())
+