/////////////////////////////////////////////////////////////////////////////
-// Name: cocoa/checkbox.mm
+// Name: src/cocoa/checkbox.mm
// Purpose: wxCheckBox
// Author: David Elliott
// Modified by:
// Created: 2003/03/16
-// RCS-ID: $Id:
+// RCS-ID: $Id$
// Copyright: (c) 2003 David Elliott
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
+
+#if wxUSE_CHECKBOX
+
+#include "wx/checkbox.h"
+
#ifndef WX_PRECOMP
#include "wx/log.h"
#include "wx/app.h"
- #include "wx/checkbox.h"
#endif //WX_PRECOMP
#include "wx/cocoa/autorelease.h"
#import <AppKit/NSButton.h>
#import <Foundation/NSString.h>
-IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
BEGIN_EVENT_TABLE(wxCheckBox, wxCheckBoxBase)
END_EVENT_TABLE()
WX_IMPLEMENT_COCOA_OWNER(wxCheckBox,NSButton,NSControl,NSView)
[m_cocoaNSView release];
[GetNSButton() setButtonType: NSSwitchButton];
[GetNSButton() setAllowsMixedState: Is3State()];
- [GetNSButton() setTitle:wxNSStringWithWxString(wxStripMenuCodes(label))];
+ CocoaSetLabelForObject(label, GetNSButton());
[GetNSControl() sizeToFit];
if(m_parent)
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
// skip mixed, go right back to on
[GetNSButton() setState: NSOnState];
}
- wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, GetId());
+ wxCommandEvent event(wxEVT_CHECKBOX, GetId());
InitCommandEvent(event); // event.SetEventObject(this);
event.SetInt(Get3StateValue());
Command(event);
}
+void wxCheckBox::SetLabel(const wxString& s)
+{
+ wxAutoNSAutoreleasePool pool;
+ CocoaSetLabelForObject(s, GetNSButton());
+}
+
+wxString wxCheckBox::GetLabel() const
+{
+ wxAutoNSAutoreleasePool pool;
+ return wxStringWithNSString([GetNSButton() title]);
+
+}
+
+#endif // wxUSE_CHECKBOX