// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
-#include "wx/app.h"
-#include "wx/radiobut.h"
-#include "wx/log.h"
+#include "wx/wxprec.h"
+#ifndef WX_PRECOMP
+ #include "wx/log.h"
+ #include "wx/app.h"
+ #include "wx/radiobut.h"
+#endif //WX_PRECOMP
#import <AppKit/NSButton.h>
#include "wx/cocoa/string.h"
{
m_radioMaster = radioButton->m_radioMaster;
wxASSERT_MSG(m_radioMaster,
- "Previous radio button should be part of a group");
+ wxT("Previous radio button should be part of a group"));
// Don't crash, assume user meant wxRB_SINGLE
if(m_radioMaster)
m_radioMaster->m_radioSlaves.Append(this);
[m_cocoaNSView release];
[GetNSButton() setButtonType: NSRadioButton];
[GetNSButton() setTitle:wxNSStringWithWxString(label)];
+ // If it's the first in a group, it should be selected
+ if(style&wxRB_GROUP)
+ [GetNSButton() setState: NSOnState];
[GetNSControl() sizeToFit];
if(m_parent)
m_radioSlaves.GetFirst();
wxASSERT(slaveNode);
wxASSERT(slaveNode->GetData() == this);
- m_radioSlaves.DeleteNode(slaveNode);
+ m_radioSlaves.Erase(slaveNode);
// Now find the new master
wxRadioButton *newMaster = NULL;
wxASSERT(radioButton->m_radioMaster == this);
radioButton->m_radioMaster = newMaster;
newMaster->m_radioSlaves.Append(radioButton);
- m_radioSlaves.DeleteNode(slaveNode);
+ m_radioSlaves.Erase(slaveNode);
}
}
else if(m_radioMaster)
m_radioMaster = NULL;
}
// normal stuff
- DisassociateNSButton(m_cocoaNSView);
+ DisassociateNSButton(GetNSButton());
}
void wxRadioButton::SetValue(bool value)
void wxRadioButton::Cocoa_wxNSButtonAction(void)
{
- wxLogDebug("wxRadioButton");
+ wxLogTrace(wxTRACE_COCOA,wxT("wxRadioButton"));
if(m_radioMaster && ([GetNSButton() state] == NSOnState))
{
for(wxRadioButtonList::compatibility_iterator slaveNode =