X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a811affe70feeb727bf7fbd2748a48ded6ec3b9b..02f463e9cc49326438c4b2f8dfb28dc4ecf7557e:/src/mac/carbon/spinctrl.cpp diff --git a/src/mac/carbon/spinctrl.cpp b/src/mac/carbon/spinctrl.cpp index 22553d47f1..3316f6a92e 100644 --- a/src/mac/carbon/spinctrl.cpp +++ b/src/mac/carbon/spinctrl.cpp @@ -8,24 +8,19 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "spinctlg.h" +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "spinctrl.h" #endif #include "wx/defs.h" -#ifndef WX_PRECOMP - #include "wx/textctrl.h" -#endif //WX_PRECOMP - #if wxUSE_SPINCTRL #include "wx/spinbutt.h" #include "wx/spinctrl.h" +#include "wx/textctrl.h" -#include "wx/spinctrl.h" - // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- @@ -44,6 +39,9 @@ public: : wxTextCtrl(spin , -1, value) { m_spin = spin; + + // remove the default minsize, the spinctrl will have one instead + SetSizeHints(-1,-1); } protected: @@ -88,14 +86,21 @@ public: : wxSpinButton(spin ) { m_spin = spin; - SetWindowStyle(style | wxSP_VERTICAL); + + // TODO: The spin button gets truncated a little bit due to size + // differences so change it's default size a bit. SMALL still gets a + // bit truncated, but MINI seems to be too small... Readdress this + // when the textctrl issues are all sorted out. + SetWindowVariant(wxWINDOW_VARIANT_SMALL); + + // remove the default minsize, the spinctrl will have one instead + SetSizeHints(-1,-1); } protected: void OnSpinButton(wxSpinEvent& eventSpin) { -#if defined(__WXMAC__) || defined(__WXMOTIF__) m_spin->SetTextValue(eventSpin.GetPosition()); wxCommandEvent event(wxEVT_COMMAND_SPINCTRL_UPDATED, m_spin->GetId()); @@ -103,10 +108,6 @@ protected: event.SetInt(eventSpin.GetPosition()); m_spin->GetEventHandler()->ProcessEvent(event); -#else - m_spin->SetTextValue(eventSpin.GetPosition()); - eventSpin.Skip(); -#endif } private: @@ -173,7 +174,7 @@ bool wxSpinCtrl::Create(wxWindow *parent, if ( size.y == -1 ) { csize.y = m_text->GetSize().y ; } - DoSetSize(pos.x , pos.y , csize.x, csize.y); + SetBestSize(csize); return TRUE; } @@ -210,7 +211,7 @@ void wxSpinCtrl::DoMoveWindow(int x, int y, int width, int height) wxCoord wText = width - sizeBtn.x; m_text->SetSize(0, 0, wText, height); - m_btn->SetSize(0 + wText + MARGIN, 0, -1, -1); + m_btn->SetSize(0 + wText + MARGIN, 0, -1, height); } // ---------------------------------------------------------------------------- @@ -321,7 +322,7 @@ void wxSpinCtrl::SetRange(int min, int max) void wxSpinCtrl::SetSelection(long from, long to) { - // if from and to are both -1, it means (in wxWindows) that all text should + // if from and to are both -1, it means (in wxWidgets) that all text should // be selected if ( (from == -1) && (to == -1) ) {