+ return m_peer->GetValue();
+}
+
+void wxRadioButton::Command(wxCommandEvent& event)
+{
+ SetValue( (event.GetInt() != 0) );
+ ProcessCommand( event );
+}
+
+wxInt32 wxRadioButton::MacControlHit( WXEVENTHANDLERREF WXUNUSED(handler), WXEVENTREF WXUNUSED(event) )
+{
+ // if already set -> no action
+ if (GetValue())
+ return noErr;
+
+ wxRadioButton *cycle;
+ cycle = this->NextInCycle();
+ if (cycle != NULL)
+ {
+ while (cycle != this)
+ {
+ if (cycle->GetValue())
+ cycle->SetValue( false );
+
+ cycle = cycle->NextInCycle();
+ }
+ }
+
+ SetValue( true );
+
+ wxCommandEvent event2( wxEVT_COMMAND_RADIOBUTTON_SELECTED, m_windowId );
+ event2.SetEventObject( this );
+ event2.SetInt( true );
+ ProcessCommand( event2 );
+
+ return noErr;