X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/facd6764872eede45605ba7c9dfa0e1d0c708fa2..9d5507f7a2701395e1d5c121bd877bb9066ee6ea:/src/mac/carbon/tglbtn.cpp diff --git a/src/mac/carbon/tglbtn.cpp b/src/mac/carbon/tglbtn.cpp index 25c390aa8f..27bb8c15e6 100644 --- a/src/mac/carbon/tglbtn.cpp +++ b/src/mac/carbon/tglbtn.cpp @@ -6,8 +6,8 @@ // Modified by: // Created: 08.02.01 // RCS-ID: $Id$ -// Copyright: (c) 2000 Johnny C. Norris II -// License: Rocketeer license +// Copyright: (c) Stefan Csomor +// License: wxWindows license ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -18,21 +18,14 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ -#pragma implementation "button.h" -#endif - -#include "wx/defs.h" -#include "wx/tglbtn.h" +#include "wx/wxprec.h" #if wxUSE_TOGGLEBTN +#include "wx/tglbtn.h" #include "wx/mac/uma.h" // Button -static const int kMacOSXHorizontalBorder = 2 ; -static const int kMacOSXVerticalBorder = 4 ; - // ---------------------------------------------------------------------------- // macros // ---------------------------------------------------------------------------- @@ -61,12 +54,14 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id, if ( !wxControl::Create(parent, id, pos, size, style, validator, name) ) return false; - m_label = label ; + m_labelOrig = m_label = label ; Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ; - m_macControl = (WXWidget) ::NewControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , "\p" , true , 0 , kControlBehaviorToggles , 1, - kControlBevelButtonNormalBevelProc , (long) this ) ; - wxASSERT_MSG( (ControlRef) m_macControl != NULL , wxT("No valid mac control") ) ; + + m_peer = new wxMacControl(this) ; + verify_noerr ( CreateBevelButtonControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") , + kControlBevelButtonNormalBevel , kControlBehaviorToggles , NULL , 0 , 0 , 0 , m_peer->GetControlRefAddr() ) ); + MacPostControlCreate(pos,size) ; @@ -87,12 +82,12 @@ wxSize wxToggleButton::DoGetBestSize() const void wxToggleButton::SetValue(bool val) { - ::SetControl32BitValue( (ControlRef) m_macControl , val ) ; + m_peer->SetValue( val ) ; } bool wxToggleButton::GetValue() const { - return GetControl32BitValue( (ControlRef) m_macControl ) ; + return m_peer->GetValue() ; } void wxToggleButton::Command(wxCommandEvent & event) @@ -101,15 +96,13 @@ void wxToggleButton::Command(wxCommandEvent & event) ProcessCommand(event); } -void wxToggleButton::MacHandleControlClick( WXWidget WXUNUSED(control) , wxInt16 controlpart , bool WXUNUSED(mouseStillDown) ) +wxInt32 wxToggleButton::MacControlHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) ) { - if ( controlpart != kControlNoPart ) - { - wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, m_windowId); - event.SetInt(GetValue()); - event.SetEventObject(this); - ProcessCommand(event); - } + wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, m_windowId); + event.SetInt(GetValue()); + event.SetEventObject(this); + ProcessCommand(event); + return noErr ; } #endif // wxUSE_TOGGLEBTN