X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/524c47aa3adf2af11a3069fd5da035a604f08f66..47e175a24f862aa8b7ca7dd4a2bb5957991e7f2d:/src/osx/carbon/spinbutt.cpp diff --git a/src/osx/carbon/spinbutt.cpp b/src/osx/carbon/spinbutt.cpp index 2f6fc34266..6b7a522a34 100644 --- a/src/osx/carbon/spinbutt.cpp +++ b/src/osx/carbon/spinbutt.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: spinbutt.cpp +// Name: src/osx/carbon/spinbutt.cpp // Purpose: wxSpinButton // Author: Stefan Csomor // Modified by: @@ -17,22 +17,22 @@ #include "wx/osx/private.h" -wxWidgetImplType* wxWidgetImpl::CreateSpinButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID id, +wxWidgetImplType* wxWidgetImpl::CreateSpinButton( wxWindowMac* wxpeer, + wxWindowMac* parent, + wxWindowID WXUNUSED(id), wxInt32 value, wxInt32 minimum, wxInt32 maximum, - const wxPoint& pos, + const wxPoint& pos, const wxSize& size, - long style, - long extraStyle) + long WXUNUSED(style), + long WXUNUSED(extraStyle)) { Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ); wxMacControl* peer = new wxMacControl( wxpeer ); OSStatus err = CreateLittleArrowsControl( - MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, value, + MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, value, minimum, maximum, 1, peer->GetControlRefAddr() ); verify_noerr( err ); @@ -40,75 +40,4 @@ wxWidgetImplType* wxWidgetImpl::CreateSpinButton( wxWindowMac* wxpeer, return peer ; } -void wxSpinButton::MacHandleControlClick(WXWidget WXUNUSED(control), - wxInt16 controlpart, - bool WXUNUSED(mouseStillDown)) -{ - int inc = 0; - - switch ( controlpart ) - { - case kControlUpButtonPart : - inc = 1; - break; - - case kControlDownButtonPart : - inc = -1; - break; - - default: - break; - } - - // trigger scroll events - - wxEventType scrollEvent = wxEVT_NULL; - int oldValue = GetValue() ; - - int newValue = oldValue + inc; - - if (newValue < m_min) - { - if ( m_windowStyle & wxSP_WRAP ) - newValue = m_max; - else - newValue = m_min; - } - - if (newValue > m_max) - { - if ( m_windowStyle & wxSP_WRAP ) - newValue = m_min; - else - newValue = m_max; - } - - if ( newValue - oldValue == -1 ) - scrollEvent = wxEVT_SCROLL_LINEDOWN; - else if ( newValue - oldValue == 1 ) - scrollEvent = wxEVT_SCROLL_LINEUP; - else - scrollEvent = wxEVT_SCROLL_THUMBTRACK; - - // Do not send an event if the value has not actually changed - // (Also works for wxSpinCtrl) - if ( newValue == oldValue ) - return; - - if ( scrollEvent != wxEVT_SCROLL_THUMBTRACK ) - { - wxSpinEvent event( scrollEvent, m_windowId ); - - event.SetPosition( newValue ); - event.SetEventObject( this ); - if ((HandleWindowEvent( event )) && !event.IsAllowed()) - newValue = oldValue; - } - - m_peer->SetValue( newValue ); - - // always send a thumbtrack event - SendThumbTrackEvent() ; -} - #endif // wxUSE_SPINBTN