m_label = label ;
Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
-
- m_macControl = (WXWidget) ::NewControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , "\p" , true , 0 , 0 , 1,
- kControlRadioButtonProc , (long) this ) ;
+ m_peer = new wxMacControl() ;
+ verify_noerr ( CreateRadioButtonControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") ,
+ 0 , false /* no autotoggle */ , m_peer->GetControlRefAddr() ) );
+
+
MacPostControlCreate(pos,size) ;
m_cycle = this ;
{
/* search backward for last group start */
wxRadioButton *chief = (wxRadioButton*) NULL;
- wxWindowList::Node *node = parent->GetChildren().GetLast();
+ wxWindowList::compatibility_iterator node = parent->GetChildren().GetLast();
while (node)
{
wxWindow *child = node->GetData();
void wxRadioButton::SetValue(bool val)
{
wxRadioButton *cycle;
- if ( GetControl32BitValue( (ControlRef) m_macControl ) == val )
+ if ( m_peer->GetValue() == val )
return ;
- ::SetControl32BitValue( (ControlRef) m_macControl , val ) ;
+ m_peer->SetValue( val ) ;
if (val)
{
cycle=this->NextInCycle();
bool wxRadioButton::GetValue() const
{
- return ::GetControl32BitValue( (ControlRef) m_macControl ) ;
+ return m_peer->GetValue() ;
}
void wxRadioButton::Command (wxCommandEvent & event)
ProcessCommand (event);
}
-void wxRadioButton::MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool WXUNUSED(mouseStillDown))
+wxInt32 wxRadioButton::MacControlHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) )
{
+ // if already set -> no action
if ( GetValue() )
- return ;
+ return noErr;
wxRadioButton *cycle, *old = NULL ;
cycle=this->NextInCycle();
event2.SetEventObject(this);
event2.SetInt( true );
ProcessCommand(event2);
+ return noErr ;
}
wxRadioButton *wxRadioButton::AddInCycle(wxRadioButton *cycle)