X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..169d1d643c0ee0c90fa8e393b5298606bbb68cfd:/src/mac/carbon/checkbox.cpp diff --git a/src/mac/carbon/checkbox.cpp b/src/mac/carbon/checkbox.cpp index 56284d3ce3..380a5ff1a1 100644 --- a/src/mac/carbon/checkbox.cpp +++ b/src/mac/carbon/checkbox.cpp @@ -9,18 +9,18 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "checkbox.h" #endif -#include "wx/defs.h" +#include "wx/wxprec.h" + +#if wxUSE_CHECKBOX #include "wx/checkbox.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl) IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox) -#endif #include "wx/mac/uma.h" @@ -43,10 +43,11 @@ bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, maxValue = 2 /* kControlCheckboxMixedValue */; Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ; + m_peer = new wxMacControl(this) ; verify_noerr( CreateCheckBoxControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds , - CFSTR("") , 0 , false , (ControlRef*) &m_macControl ) ) ; - - SetControl32BitMaximum( (ControlRef) m_macControl , maxValue ) ; + CFSTR("") , 0 , false , m_peer->GetControlRefAddr() ) ); + + m_peer->SetMaximum( maxValue ) ; MacPostControlCreate(pos,size) ; @@ -85,13 +86,12 @@ void wxCheckBox::Command (wxCommandEvent & event) wxCheckBoxState wxCheckBox::DoGet3StateValue() const { - return (wxCheckBoxState) ::GetControl32BitValue( (ControlRef) m_macControl ); + return (wxCheckBoxState) m_peer->GetValue() ; } void wxCheckBox::DoSet3StateValue(wxCheckBoxState val) { - ::SetControl32BitValue( (ControlRef) m_macControl , (int) val) ; - MacRedrawControl() ; + m_peer->SetValue( val ) ; } wxInt32 wxCheckBox::MacControlHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) ) @@ -178,4 +178,4 @@ bool wxBitmapCheckBox::GetValue() const return FALSE; } - +#endif