diff libgui/graphics/SliderControl.cc @ 23412:7b95435e96a4

Reverse orientation of vertical uicontrol "sliders" for Matlab compatibility (bug #50818). * SliderControl.cc (SliderControl::SliderControl): Call setInvertedAppearance on slider for vertical sliders.
author Rik <rik@octave.org>
date Tue, 18 Apr 2017 16:35:38 -0700
parents 092078913d54
children c763214a8260
line wrap: on
line diff
--- a/libgui/graphics/SliderControl.cc	Wed Apr 19 01:30:09 2017 +0200
+++ b/libgui/graphics/SliderControl.cc	Tue Apr 18 16:35:38 2017 -0700
@@ -59,7 +59,10 @@
 
     slider->setTracking (false);
     Matrix bb = up.get_boundingbox ();
-    slider->setOrientation (bb(2) > bb(3) ? Qt::Horizontal : Qt::Vertical);
+    bool vertical_slider = ( bb(2) < bb(3) );
+    slider->setOrientation (vertical_slider ? Qt::Vertical : Qt::Horizontal);
+    if (vertical_slider)
+      slider->setInvertedAppearance (true);  // Matlab compatibility
     Matrix steps = up.get_sliderstep ().matrix_value ();
     slider->setMinimum (0);
     slider->setMaximum (RANGE_INT_MAX);