]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/radiobut_osx.cpp
defer calling SetCanFocus() on wxGTK until after creation
[wxWidgets.git] / src / osx / radiobut_osx.cpp
index cbd5f199901d0323f68310517e05a5497a596c8d..51a7655b7e2551a7c6e0956bf5b12466b4816a80 100644 (file)
@@ -1,10 +1,9 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// 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
 // Purpose:     wxRadioButton
 // Author:      AUTHOR
 // Modified by: JS Lair (99/11/15) adding the cyclic group notion for radiobox
 // Created:     ??/??/98
-// RCS-ID:      $Id$
 // Copyright:   (c) AUTHOR
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) AUTHOR
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -16,9 +15,6 @@
 #include "wx/radiobut.h"
 #include "wx/osx/private.h"
 
 #include "wx/radiobut.h"
 #include "wx/osx/private.h"
 
-IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl)
-
-
 bool wxRadioButton::Create( wxWindow *parent,
     wxWindowID id,
     const wxString& label,
 bool wxRadioButton::Create( wxWindow *parent,
     wxWindowID id,
     const wxString& label,
@@ -27,15 +23,15 @@ bool wxRadioButton::Create( wxWindow *parent,
     long style,
     const wxValidator& validator,
     const wxString& name )
     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;
 
     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 );
 
 
     MacPostControlCreate( pos, size );
 
@@ -77,10 +73,10 @@ wxRadioButton::~wxRadioButton()
 void wxRadioButton::SetValue(bool val)
 {
     wxRadioButton *cycle;
 void wxRadioButton::SetValue(bool val)
 {
     wxRadioButton *cycle;
-    if (m_peer->GetValue() == val)
+    if (GetPeer()->GetValue() == val)
         return;
 
         return;
 
-    m_peer->SetValue( val );
+    GetPeer()->SetValue( val );
     if (val)
     {
         cycle = this->NextInCycle();
     if (val)
     {
         cycle = this->NextInCycle();
@@ -97,7 +93,7 @@ void wxRadioButton::SetValue(bool val)
 
 bool wxRadioButton::GetValue() const
 {
 
 bool wxRadioButton::GetValue() const
 {
-    return m_peer->GetValue() != 0;
+    return GetPeer()->GetValue() != 0;
 }
 
 void wxRadioButton::Command(wxCommandEvent& event)
 }
 
 void wxRadioButton::Command(wxCommandEvent& event)
@@ -108,7 +104,7 @@ void wxRadioButton::Command(wxCommandEvent& event)
 
 bool wxRadioButton::OSXHandleClicked( double WXUNUSED(timestampsec) )
 {
 
 bool wxRadioButton::OSXHandleClicked( double WXUNUSED(timestampsec) )
 {
-    if ( !m_peer->ButtonClickDidStateChange() )
+    if ( !GetPeer()->ButtonClickDidStateChange() )
     {
         // if already set -> no action
         if (GetValue())
     {
         // if already set -> no action
         if (GetValue())
@@ -130,7 +126,7 @@ bool wxRadioButton::OSXHandleClicked( double WXUNUSED(timestampsec) )
 
     SetValue( true );
 
 
     SetValue( true );
 
-    wxCommandEvent event2( wxEVT_COMMAND_RADIOBUTTON_SELECTED, m_windowId );
+    wxCommandEvent event2( wxEVT_RADIOBUTTON, m_windowId );
     event2.SetEventObject( this );
     event2.SetInt( true );
     ProcessCommand( event2 );
     event2.SetEventObject( this );
     event2.SetInt( true );
     ProcessCommand( event2 );