/////////////////////////////////////////////////////////////////////////////
-// Name: cocoa/button.mm
+// Name: src/cocoa/button.mm
// Purpose: wxButton
// Author: David Elliott
// Modified by:
// Created: 2002/12/30
-// RCS-ID: $Id:
+// RCS-ID: $Id$
// Copyright: (c) 2002 David Elliott
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
+
+#include "wx/button.h"
+
#ifndef WX_PRECOMP
- #include "wx/defs.h"
- #include "wx/button.h"
#include "wx/log.h"
#endif
[m_cocoaNSView release];
[GetNSButton() setBezelStyle:NSRoundedBezelStyle];
- [GetNSButton() setTitle:wxNSStringWithWxString(wxStripMenuCodes(label))];
+ CocoaSetLabelForObject(label, GetNSButton());
+
+ do
+ {
+ NSTextAlignment mode;
+ if ((style & wxBU_LEFT) && !(style & wxBU_RIGHT))
+ mode = NSLeftTextAlignment;
+ else if ((style & wxBU_RIGHT) && !(style & wxBU_LEFT))
+ mode = NSRightTextAlignment;
+ else
+ break;
+ [GetNSControl() setAlignment:mode];
+ } while(0);
+
[GetNSControl() sizeToFit];
if(m_parent)
void wxButton::Cocoa_wxNSButtonAction(void)
{
wxLogTrace(wxTRACE_COCOA,wxT("YAY!"));
- wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, GetId());
+ wxCommandEvent event(wxEVT_BUTTON, GetId());
InitCommandEvent(event); // event.SetEventObject(this);
Command(event);
}
void wxButton::SetLabel(const wxString& label)
{
- [GetNSButton() setTitle:wxNSStringWithWxString(wxStripMenuCodes(label))];
+ CocoaSetLabelForObject(label, GetNSButton());
}
wxSize wxButton::DoGetBestSize() const
// create at (10.0,10.0) with size 20.0x20.0 (just bogus values)
wxObjcAutoRefFromAlloc<NSButton*> defaultButton = [[NSButton alloc]
initWithFrame:NSMakeRect(10.0,10.0,20.0,20.0)];
- [defaultButton setBezelStyle:NSRoundedBezelStyle];
- [defaultButton setTitle:@""];
- [defaultButton sizeToFit];
- return [defaultButton frame];
+ [static_cast<NSButton*>(defaultButton) setBezelStyle:NSRoundedBezelStyle];
+ [static_cast<NSButton*>(defaultButton) setTitle:@""];
+ [static_cast<NSButton*>(defaultButton) sizeToFit];
+ return [static_cast<NSButton*>(defaultButton) frame];
}
wxSize wxButtonBase::GetDefaultSize()
{
static NSRect cocoaRect = MakeNSButtonDefaultRect();
// Apple HIG says OK/Cancel buttons have default width of 68.
- return wxSize(68,(int)ceilf(cocoaRect.size.height));
+ return wxSize(68,(int)ceil(cocoaRect.size.height));
}
-