X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..5875d39c9ba19f518e691792524f2fd03261c825:/src/univ/slider.cpp?ds=sidebyside diff --git a/src/univ/slider.cpp b/src/univ/slider.cpp index e86aa02f8a..50147c8c2e 100644 --- a/src/univ/slider.cpp +++ b/src/univ/slider.cpp @@ -22,9 +22,9 @@ or right. What we really need is probably a more fine grain control on labels, i.e. we - should be able to select if we show nothign at all, the current value only + should be able to select if we show nothing at all, the current value only or the value and the limits - the current approach is just that of the - greatest common denominator. + lowest common denominator. TODO: @@ -42,10 +42,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "univslider.h" -#endif - #include "wx/wxprec.h" #ifdef __BORLANDC__ @@ -143,7 +139,7 @@ bool wxSlider::Create(wxWindow *parent, { if ( !wxSliderBase::Create(parent, id, pos, size, style, validator, name) ) - return FALSE; + return false; SetRange(minValue, maxValue); SetValue(value); @@ -154,7 +150,7 @@ bool wxSlider::Create(wxWindow *parent, CreateInputHandler(wxINP_HANDLER_SLIDER); - return TRUE; + return true; } // ---------------------------------------------------------------------------- @@ -184,11 +180,11 @@ bool wxSlider::ChangeValueBy(int inc) bool wxSlider::ChangeValueTo(int value) { // check if the value is going to change at all - if (value == m_value) return FALSE; + if (value == m_value) return false; // this method is protected and we should only call it with normalized // value! - wxCHECK_MSG( IsInRange(value), FALSE, _T("invalid slider value") ); + wxCHECK_MSG( IsInRange(value), false, _T("invalid slider value") ); m_value = value; @@ -201,7 +197,7 @@ bool wxSlider::ChangeValueTo(int value) (void)GetEventHandler()->ProcessEvent(event); - return TRUE; + return true; } void wxSlider::SetValue(int value) @@ -313,7 +309,7 @@ int wxSlider::GetThumbLength() const { wxSize sz = GetDefaultThumbSize(); int len = (IsVert() ? sz.x : sz.y); - if (m_thumbSize > len) + if (m_thumbSize > len) { return m_thumbSize; } @@ -389,7 +385,7 @@ wxSize wxSlider::DoGetBestClientSize() const if ( HasTicks() ) { wxCoord lenTick = GetRenderer()->GetSliderTickLen(); - if (style & wxSL_BOTH) + if (style & wxSL_BOTH) { lenTick = 2 * lenTick; } @@ -482,25 +478,25 @@ void wxSlider::CalcGeometry() m_rectLabel = wxRect(rectTotal.GetPosition(), sizeLabels); - if (style & wxSL_TOP) + if (style & wxSL_TOP) { // shrink and offset the slider to the bottom m_rectSlider.y += sizeLabels.y + SLIDER_LABEL_MARGIN; m_rectSlider.height -= sizeLabels.y + SLIDER_LABEL_MARGIN; } - else if (style & wxSL_BOTTOM) + else if (style & wxSL_BOTTOM) { // shrink the slider and move the label to the bottom m_rectSlider.height -= sizeLabels.y + SLIDER_LABEL_MARGIN; m_rectLabel.y += m_rectSlider.height + SLIDER_LABEL_MARGIN; } - else if (style & wxSL_LEFT) + else if (style & wxSL_LEFT) { // shrink and offset the slider to the right m_rectSlider.x += sizeLabels.x + SLIDER_LABEL_MARGIN; m_rectSlider.width -= sizeLabels.x + SLIDER_LABEL_MARGIN; } - else if (style & wxSL_RIGHT) + else if (style & wxSL_RIGHT) { // shrink the slider and move the label to the right m_rectSlider.width -= sizeLabels.x + SLIDER_LABEL_MARGIN; @@ -518,7 +514,7 @@ void wxSlider::CalcGeometry() if ( IsVert() ) { - if (style & (wxSL_LEFT|wxSL_BOTH)) + if (style & (wxSL_LEFT|wxSL_BOTH)) { m_rectTicks.x = m_rectSlider.x; } @@ -530,7 +526,7 @@ void wxSlider::CalcGeometry() } else // horizontal { - if (style & (wxSL_TOP|wxSL_BOTH)) + if (style & (wxSL_TOP|wxSL_BOTH)) { m_rectTicks.y = m_rectSlider.y; } @@ -599,8 +595,9 @@ void wxSlider::CalcThumbRect(const wxRect *rectShaftIn, } wxCoord lenShaft, - lenThumb, - *p; + lenThumb; + wxCoord *p; + wxRect rectThumb(rectShaft.GetPosition(), GetThumbSize()); if ( isVertical ) { @@ -708,19 +705,19 @@ void wxSlider::DoDraw(wxControlRenderer *renderer) { // align it to be close to the shaft int align = 0; - if (style & wxSL_TOP) + if (style & wxSL_TOP) { align = wxALIGN_CENTRE_HORIZONTAL|wxALIGN_TOP; } - else if (style & wxSL_BOTTOM) + else if (style & wxSL_BOTTOM) { align = wxALIGN_CENTRE_HORIZONTAL|wxALIGN_BOTTOM; } - else if (style & wxSL_LEFT) + else if (style & wxSL_LEFT) { align = wxALIGN_CENTRE_VERTICAL|wxALIGN_LEFT; } - else if (style & wxSL_RIGHT) + else if (style & wxSL_RIGHT) { align = wxALIGN_CENTRE_VERTICAL|wxALIGN_RIGHT; } @@ -742,7 +739,7 @@ bool wxSlider::PerformAction(const wxControlAction& action, long numArg, const wxString& strArg) { - if ( action == wxACTION_SLIDER_START ) + if ( action == wxACTION_SLIDER_START ) { ChangeValueTo(m_min); } @@ -773,7 +770,7 @@ bool wxSlider::PerformAction(const wxControlAction& action, else if ( action == wxACTION_SLIDER_THUMB_DRAG ) { // no special processing for it - return TRUE; + return true; } else if ( action == wxACTION_SLIDER_THUMB_MOVE || action == wxACTION_SLIDER_THUMB_RELEASE ) @@ -785,7 +782,7 @@ bool wxSlider::PerformAction(const wxControlAction& action, return wxControl::PerformAction(action, numArg, strArg); } - return TRUE; + return true; } // ---------------------------------------------------------------------------- @@ -799,14 +796,14 @@ wxScrollThumb::Shaft wxSlider::HitTest(const wxPoint& pt) const CalcThumbRect(&rectShaft, &rectThumb, NULL); // check for possible shaft or thumb hit - if (!rectShaft.Inside(pt) && !rectThumb.Inside(pt)) + if (!rectShaft.Inside(pt) && !rectThumb.Inside(pt)) { return wxScrollThumb::Shaft_None; } // the position to test and the start and end of the thumb wxCoord x, x1, x2, x3, x4; - if (IsVert()) + if (IsVert()) { x = pt.y; x1 = rectThumb.GetBottom(); @@ -822,13 +819,13 @@ wxScrollThumb::Shaft wxSlider::HitTest(const wxPoint& pt) const x3 = rectThumb.GetRight(); x4 = rectShaft.GetRight(); } - if ((x1 <= x) & (x < x2)) + if ((x1 <= x) && (x < x2)) { // or to the left return wxScrollThumb::Shaft_Above; } - if ((x3 < x) & (x <= x4)) { + if ((x3 < x) && (x <= x4)) { // or to the right return wxScrollThumb::Shaft_Below; } @@ -896,7 +893,7 @@ void wxSlider::SetShaftPartState(wxScrollThumb::Shaft shaftPart, void wxSlider::OnThumbDragStart(int pos) { - if (IsVert()) + if (IsVert()) { PerformAction(wxACTION_SLIDER_THUMB_DRAG, m_max - pos); } @@ -908,7 +905,7 @@ void wxSlider::OnThumbDragStart(int pos) void wxSlider::OnThumbDrag(int pos) { - if (IsVert()) + if (IsVert()) { PerformAction(wxACTION_SLIDER_THUMB_MOVE, m_max - pos); } @@ -920,7 +917,7 @@ void wxSlider::OnThumbDrag(int pos) void wxSlider::OnThumbDragEnd(int pos) { - if (IsVert()) + if (IsVert()) { PerformAction(wxACTION_SLIDER_THUMB_RELEASE, m_max - pos); } @@ -951,7 +948,7 @@ bool wxStdSliderButtonInputHandler::HandleKey(wxInputConsumer *consumer, const wxKeyEvent& event, bool pressed) { - if ( pressed ) + if ( pressed ) { int keycode = event.GetKeyCode(); @@ -987,11 +984,11 @@ bool wxStdSliderButtonInputHandler::HandleKey(wxInputConsumer *consumer, break; } - if ( !!action ) + if ( !action.IsEmpty() ) { consumer->PerformAction(action); - return TRUE; + return true; } } @@ -1006,7 +1003,7 @@ bool wxStdSliderButtonInputHandler::HandleMouse(wxInputConsumer *consumer, if ( slider->GetThumb().HandleMouse(event) ) { // processed by the thumb - return FALSE; + return false; } return wxStdInputHandler::HandleMouse(consumer, event); @@ -1020,7 +1017,7 @@ bool wxStdSliderButtonInputHandler::HandleMouseMove(wxInputConsumer *consumer, if ( slider->GetThumb().HandleMouseMove(event) ) { // processed by the thumb - return FALSE; + return false; } return wxStdInputHandler::HandleMouseMove(consumer, event); @@ -1031,7 +1028,7 @@ wxStdSliderButtonInputHandler::HandleFocus(wxInputConsumer * WXUNUSED(consumer), const wxFocusEvent& WXUNUSED(event)) { // slider's appearance changes when it gets/loses focus - return TRUE; + return true; } #endif // wxUSE_SLIDER