X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9af2e240f05a0035dabd9ceaccadad2c3b8133f8..4b77e661be4fb3ee713344522355b3d82dc6acc1:/src/osx/cocoa/tglbtn.mm?ds=sidebyside diff --git a/src/osx/cocoa/tglbtn.mm b/src/osx/cocoa/tglbtn.mm index 2e3aba3826..d20870e749 100644 --- a/src/osx/cocoa/tglbtn.mm +++ b/src/osx/cocoa/tglbtn.mm @@ -25,37 +25,46 @@ #include "wx/tglbtn.h" #include "wx/osx/private.h" -wxWidgetImplType* wxWidgetImpl::CreateToggleButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID id, - const wxString& label, - const wxPoint& pos, +// from button.mm + +extern "C" void SetBezelStyleFromBorderFlags(NSButton *v, long style); + +wxWidgetImplType* wxWidgetImpl::CreateToggleButton( wxWindowMac* wxpeer, + wxWindowMac* WXUNUSED(parent), + wxWindowID WXUNUSED(id), + const wxString& WXUNUSED(label), + const wxPoint& pos, const wxSize& size, - long style, - long extraStyle) + long style, + long WXUNUSED(extraStyle)) { NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ; wxNSButton* v = [[wxNSButton alloc] initWithFrame:r]; - - [v setBezelStyle:NSSmallSquareBezelStyle]; + + SetBezelStyleFromBorderFlags(v, style); + [v setButtonType:NSOnOffButton]; wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v ); return c; } -wxWidgetImplType* wxWidgetImpl::CreateBitmapToggleButton( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID id, +wxWidgetImplType* wxWidgetImpl::CreateBitmapToggleButton( wxWindowMac* wxpeer, + wxWindowMac* WXUNUSED(parent), + wxWindowID WXUNUSED(id), const wxBitmap& label, - const wxPoint& pos, + const wxPoint& pos, const wxSize& size, - long style, - long extraStyle) -{ + long style, + long WXUNUSED(extraStyle)) +{ NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ; wxNSButton* v = [[wxNSButton alloc] initWithFrame:r]; - - [v setBezelStyle:NSRegularSquareBezelStyle]; + + if (label.Ok()) + [v setImage:label.GetNSImage() ]; + + SetBezelStyleFromBorderFlags(v, style); + [v setButtonType:NSOnOffButton]; wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v ); return c;