]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/spinbutt_osx.cpp
Fix horizontal mouse wheel scrolling in wxGTK.
[wxWidgets.git] / src / osx / spinbutt_osx.cpp
index f16fe1e072e85e655f30d19f821ddabbb2ca5b54..16732ab9a4da2141e14cd614ad825ddc0f028e20 100644 (file)
@@ -1,10 +1,9 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        spinbutt.cpp
+// Name:        src/osx/spinbutt_osx.cpp
 // Purpose:     wxSpinButton
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
-// RCS-ID:      $Id: spinbutt.cpp 54129 2008-06-11 19:30:52Z SC $
 // Copyright:   (c) Stefan Csomor
 // Licence:       wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 #include "wx/osx/private.h"
 
 
-IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
-IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxScrollEvent)
-
-
 wxSpinButton::wxSpinButton()
    : wxSpinButtonBase()
 {
@@ -29,9 +24,8 @@ wxSpinButton::wxSpinButton()
 bool wxSpinButton::Create( wxWindow *parent,
     wxWindowID id, const wxPoint& pos, const wxSize& size,
     long style, const wxString& name )
-{
-    m_macIsUserPane = false;
-
+{    
+    DontCreatePeer();
     if ( !wxSpinButtonBase::Create( parent, id, pos, size, style, wxDefaultValidator, name ) )
         return false;
 
@@ -40,10 +34,10 @@ bool wxSpinButton::Create( wxWindow *parent,
 
     if (!parent)
         return false;
-    
-    m_peer = wxWidgetImpl::CreateSpinButton( this , parent, id, 0, m_min, m_max, pos, size,
-        style, GetExtraStyle() );
-        
+
+    SetPeer(wxWidgetImpl::CreateSpinButton( this , parent, id, 0, m_min, m_max, pos, size,
+        style, GetExtraStyle() ));
+
     MacPostControlCreate( pos, size );
 
     return true;
@@ -55,23 +49,23 @@ wxSpinButton::~wxSpinButton()
 
 void wxSpinButton::SetValue( int val )
 {
-    m_peer->SetValue( val );
+    GetPeer()->SetValue( val );
 }
 
 int wxSpinButton::GetValue() const
 {
-    return m_peer->GetValue();
+    return GetPeer()->GetValue();
 }
 
 void wxSpinButton::SetRange(int minVal, int maxVal)
 {
     m_min = minVal;
     m_max = maxVal;
-    m_peer->SetMaximum( maxVal );
-    m_peer->SetMinimum( minVal );
-}   
-    
-void wxSpinButton::SendThumbTrackEvent() 
+    GetPeer()->SetMaximum( maxVal );
+    GetPeer()->SetMinimum( minVal );
+}
+
+void wxSpinButton::SendThumbTrackEvent()
 {
     wxSpinEvent event( wxEVT_SCROLL_THUMBTRACK, GetId() );
     event.SetPosition( GetValue() );
@@ -94,7 +88,7 @@ void wxSpinButton::TriggerScrollEvent(wxEventType scrollEvent)
 {
     int inc = 0;
 
-    if ( scrollEvent == wxEVT_SCROLL_LINEUP )    
+    if ( scrollEvent == wxEVT_SCROLL_LINEUP )
     {
         inc = 1;
     }
@@ -102,9 +96,9 @@ void wxSpinButton::TriggerScrollEvent(wxEventType scrollEvent)
     {
         inc = -1;
     }
-    
+
     // trigger scroll events
-    
+
     int oldValue = GetValue() ;
 
     int newValue = oldValue + inc;
@@ -147,7 +141,7 @@ void wxSpinButton::TriggerScrollEvent(wxEventType scrollEvent)
             newValue = oldValue;
     }
 
-    m_peer->SetValue( newValue );
+    GetPeer()->SetValue( newValue );
 
     // always send a thumbtrack event
     SendThumbTrackEvent() ;