X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e53b3d16de127872e39bf276f7e616b32f161645..eea4d01c65f9b29baa1193db762b4c6b8144af24:/src/osx/radiobut_osx.cpp diff --git a/src/osx/radiobut_osx.cpp b/src/osx/radiobut_osx.cpp index f091b9e039..12f51b5b5b 100644 --- a/src/osx/radiobut_osx.cpp +++ b/src/osx/radiobut_osx.cpp @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: radiobut.cpp +// Name: src/osx/radiobut.cpp // Purpose: wxRadioButton // Author: AUTHOR // Modified by: JS Lair (99/11/15) adding the cyclic group notion for radiobox // Created: ??/??/98 -// RCS-ID: $Id: radiobut.cpp 54129 2008-06-11 19:30:52Z SC $ +// RCS-ID: $Id$ // Copyright: (c) AUTHOR // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -16,9 +16,6 @@ #include "wx/radiobut.h" #include "wx/osx/private.h" -IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl) - - bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& label, @@ -27,15 +24,15 @@ bool wxRadioButton::Create( wxWindow *parent, long style, const wxValidator& validator, const wxString& name ) -{ - m_macIsUserPane = false; - +{ + DontCreatePeer(); + if ( !wxControl::Create( parent, id, pos, size, style, validator, name ) ) return false; m_labelOrig = m_label = label; - m_peer = wxWidgetImpl::CreateRadioButton( this, parent, id, label, pos, size, style, GetExtraStyle() ); + SetPeer(wxWidgetImpl::CreateRadioButton( this, parent, id, label, pos, size, style, GetExtraStyle() )); MacPostControlCreate( pos, size ); @@ -77,10 +74,10 @@ wxRadioButton::~wxRadioButton() void wxRadioButton::SetValue(bool val) { wxRadioButton *cycle; - if (m_peer->GetValue() == val) + if (GetPeer()->GetValue() == val) return; - m_peer->SetValue( val ); + GetPeer()->SetValue( val ); if (val) { cycle = this->NextInCycle(); @@ -97,7 +94,7 @@ void wxRadioButton::SetValue(bool val) bool wxRadioButton::GetValue() const { - return m_peer->GetValue(); + return GetPeer()->GetValue() != 0; } void wxRadioButton::Command(wxCommandEvent& event) @@ -106,11 +103,14 @@ void wxRadioButton::Command(wxCommandEvent& event) ProcessCommand( event ); } -bool wxRadioButton::HandleClicked( double timestampsec ) +bool wxRadioButton::OSXHandleClicked( double WXUNUSED(timestampsec) ) { - // if already set -> no action - if (GetValue()) - return true; + if ( !GetPeer()->ButtonClickDidStateChange() ) + { + // if already set -> no action + if (GetValue()) + return true; + } wxRadioButton *cycle; cycle = this->NextInCycle(); @@ -157,7 +157,7 @@ wxRadioButton *wxRadioButton::AddInCycle(wxRadioButton *cycle) } void wxRadioButton::RemoveFromCycle() -{ +{ if ((m_cycle == NULL) || (m_cycle == this)) return;