X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7f7b69e22002543877b0949b66ac3995a615780c..c3b501e187fdb318911177e5ad90fea9e163a112:/src/cocoa/checkbox.mm?ds=sidebyside diff --git a/src/cocoa/checkbox.mm b/src/cocoa/checkbox.mm index 8fe756b40d..13ee14009c 100644 --- a/src/cocoa/checkbox.mm +++ b/src/cocoa/checkbox.mm @@ -6,10 +6,13 @@ // Created: 2003/03/16 // RCS-ID: $Id: // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" + +#if wxUSE_CHECKBOX + #ifndef WX_PRECOMP #include "wx/log.h" #include "wx/app.h" @@ -75,7 +78,8 @@ void wxCheckBox::DoSet3StateValue(wxCheckBoxState state) cocoaState = NSOnState; break; case wxCHK_UNDETERMINED: - wxASSERT_MSG(Is3State(),"Use the wxCHK_3STATE style flag"); + // Base class would have already set state to wxCHK_UNCHECKED +// wxASSERT_MSG(Is3State(),"Use the wxCHK_3STATE style flag"); cocoaState = NSMixedState; break; default: @@ -90,7 +94,7 @@ bool wxCheckBox::GetValue() const int state = [GetNSButton() state]; wxASSERT_MSG(state!=NSMixedState || Is3State(), wxT("NSMixedState returned from a 2-state checkbox")); - return state==NSOnState; + return state!=NSOffState; } wxCheckBoxState wxCheckBox::DoGet3StateValue() const @@ -104,14 +108,15 @@ wxCheckBoxState wxCheckBox::DoGet3StateValue() const default: wxFAIL_MSG(wxT("[NSButton -state] returned an invalid state!")); case NSMixedState: - wxASSERT_MSG(Is3State(),wxT("NSMixedState returned from a 2-state checkbox")); + // Base class handles this assertion for us +// wxASSERT_MSG(Is3State(),wxT("NSMixedState returned from a 2-state checkbox")); return wxCHK_UNDETERMINED; } } void wxCheckBox::Cocoa_wxNSButtonAction(void) { - wxLogDebug(wxT("Checkbox")); + wxLogTrace(wxTRACE_COCOA,wxT("Checkbox")); // What we really want to do is override [NSCell -nextState] to return // NSOnState in lieu of NSMixedState but this works (aside from the // very slightly noticeable drawing of - and then a check) -DE @@ -131,3 +136,9 @@ void wxCheckBox::Cocoa_wxNSButtonAction(void) Command(event); } +void wxCheckBox::SetLabel(const wxString& s) +{ + wxAutoNSAutoreleasePool pool; + [GetNSButton() setTitle:wxNSStringWithWxString(s)]; +} +#endif