]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/slider.cpp
fixing osx_cocoa
[wxWidgets.git] / src / msw / slider.cpp
index b2df912ba1c5d99fd2f1c8816db3b8de0a45850a..7c1c7103f24bc49a62c6874d03924acbe66b6906 100644 (file)
@@ -369,16 +369,8 @@ int wxSlider::GetLabelsSize(int *widthMin, int *widthMax) const
 {
     if ( widthMin && widthMax )
     {
-        if ( HasFlag(wxSL_MIN_MAX_LABELS) )
-        {
-            *widthMin = GetTextExtent(Format(m_rangeMin)).x;
-            *widthMax = GetTextExtent(Format(m_rangeMax)).x;
-        }
-        else
-        {
-            *widthMin =
-            *widthMax = 0;
-        }
+        *widthMin = GetTextExtent(Format(m_rangeMin)).x;
+        *widthMax = GetTextExtent(Format(m_rangeMax)).x;
     }
 
     return HasFlag(wxSL_LABELS) ? GetCharHeight() : 0;
@@ -398,6 +390,11 @@ void wxSlider::DoMoveWindow(int x, int y, int width, int height)
         maxLabelWidth;
     const int labelHeight = GetLabelsSize(&minLabelWidth, &maxLabelWidth);
     const int longestLabelWidth = wxMax(minLabelWidth, maxLabelWidth);
+    if ( !HasFlag(wxSL_MIN_MAX_LABELS) )
+    {
+        minLabelWidth =
+        maxLabelWidth = 0;
+    }
 
     int labelOffset =  0;
     int tickOffset = 0;
@@ -493,7 +490,7 @@ void wxSlider::DoMoveWindow(int x, int y, int width, int height)
         int xLabelValue =
             x + minLabelWidth +
             ((width  - (minLabelWidth + maxLabelWidth)) / 2) -
-            (maxLabelWidth / 2);
+            (longestLabelWidth / 2);
 
         int ySlider = y;
 
@@ -594,7 +591,8 @@ wxSize wxSlider::DoGetBestSize() const
             int hLabel = GetLabelsSize(&widthMin, &widthMax);
 
             // account for the labels
-            size.x += HGAP + wxMax(widthMin, widthMax);
+            if ( HasFlag(wxSL_MIN_MAX_LABELS) )
+                size.x += HGAP + wxMax(widthMin, widthMax);
 
             // labels are indented relative to the slider itself
             size.y += hLabel;