+}
+
+// Set the keyboard accelerator key from the label (e.g. "Click &Me")
+void wxButton::OSXUpdateAfterLabelChange(const wxString& label)
+{
+ wxButtonCocoaImpl *impl = static_cast<wxButtonCocoaImpl*>(GetPeer());
+
+ // Update the bezel style as may be necessary if our new label is multi
+ // line while the old one wasn't (or vice versa).
+ SetBezelStyleFromBorderFlags(impl->GetNSButton(),
+ GetWindowStyle(),
+ GetId(),
+ label);
+
+
+ // Skip setting the accelerator for the default buttons as this would
+ // overwrite the default "Enter" which should be preserved.
+ wxTopLevelWindow * const
+ tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
+ if ( tlw )
+ {
+ if ( tlw->GetDefaultItem() == this )
+ return;
+ }
+
+ impl->SetAcceleratorFromLabel(label);
+}
+
+
+wxWidgetImplType* wxWidgetImpl::CreateButton( wxWindowMac* wxpeer,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID winid,
+ const wxString& label,
+ const wxPoint& pos,
+ const wxSize& size,
+ long style,
+ long WXUNUSED(extraStyle))
+{
+ NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
+ wxNSButton* v = [[wxNSButton alloc] initWithFrame:r];
+
+ SetBezelStyleFromBorderFlags(v, style, winid, label);
+