X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/519cb848a8f4c91c73421bb75314754284e593a4..61cca9d24ee3f935f2581e3cfb894e46181290e6:/src/mac/carbon/spinbutt.cpp diff --git a/src/mac/carbon/spinbutt.cpp b/src/mac/carbon/spinbutt.cpp index 8f3e1533b8..fc9954f9e5 100644 --- a/src/mac/carbon/spinbutt.cpp +++ b/src/mac/carbon/spinbutt.cpp @@ -11,19 +11,28 @@ #ifdef __GNUG__ #pragma implementation "spinbutt.h" +#pragma implementation "spinbuttbase.h" #endif #include "wx/spinbutt.h" #include "wx/mac/uma.h" +// ============================================================================ +// implementation +// ============================================================================ + +// ---------------------------------------------------------------------------- +// wxWin macros +// ---------------------------------------------------------------------------- + #if !USE_SHARED_LIBRARY -IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl) + IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl) + IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxScrollEvent); #endif wxSpinButton::wxSpinButton() + : wxSpinButtonBase() { - m_min = 0; - m_max = 100; } bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, @@ -57,6 +66,16 @@ wxSpinButton::~wxSpinButton() // Attributes //////////////////////////////////////////////////////////////////////////// +int wxSpinButton::GetMin() const +{ + return m_min; +} + +int wxSpinButton::GetMax() const +{ + return m_max; +} + int wxSpinButton::GetValue() const { return m_value; @@ -78,21 +97,13 @@ void wxSpinButton::SetRange(int minVal, int maxVal) m_max = maxVal; } -// Spin event -IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxScrollEvent) - -wxSpinEvent::wxSpinEvent(wxEventType commandType, int id): - wxScrollEvent(commandType, id) -{ -} - void wxSpinButton::MacHandleControlClick( ControlHandle control , SInt16 controlpart ) { if ( m_macControl == NULL ) return ; wxEventType scrollEvent = wxEVT_NULL; - int nScrollInc; + int nScrollInc = 0; switch( controlpart ) { @@ -131,4 +142,23 @@ void wxSpinButton::MacHandleControlClick( ControlHandle control , SInt16 control GetEventHandler()->ProcessEvent(event); } +// ---------------------------------------------------------------------------- +// size calculation +// ---------------------------------------------------------------------------- + +wxSize wxSpinButton::DoGetBestSize() const +{ + if ( (GetWindowStyle() & wxSP_VERTICAL) != 0 ) + { + // vertical control + return wxSize(16, + 2*16); + } + else + { + // horizontal control + return wxSize(2*16, + 16); + } +}