]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/slider.cpp
[ 1035247 ] fix the number of ticks in slider (with annotations)
[wxWidgets.git] / src / mac / carbon / slider.cpp
index 0c73cb27bf27cf37334683b9cb9d961f7c4c9d1f..1d66db39e0fa44be37107384c42ae1b7d9a1c24f 100644 (file)
@@ -81,12 +81,16 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
 
     Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
 
 
     Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
 
+    //
+    // NB: (RN) Ticks here are sometimes off in the GUI if there
+    // is not as many ticks as there are values
+    //
     UInt16 tickMarks = 0 ;
     if ( style & wxSL_AUTOTICKS )
     UInt16 tickMarks = 0 ;
     if ( style & wxSL_AUTOTICKS )
-        tickMarks = (maxValue - minValue);
+        tickMarks = (maxValue - minValue) + 1; //+1 for the 0 value
 
 
-    if (tickMarks > 20)
-        tickMarks = tickMarks/5; //keep the number of tickmarks from becoming unwieldly
+    while (tickMarks > 20)
+            tickMarks /= 5; //keep the number of tickmarks from becoming unwieldly
 
     m_peer = new wxMacControl() ;
     verify_noerr ( CreateSliderControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds ,
 
     m_peer = new wxMacControl() ;
     verify_noerr ( CreateSliderControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds ,