X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d8207702d1cf580a7200114abd52f186b4b9a4f3..0afeb753e0a6a3fdba290bf3612bb2f012d44d95:/src/osx/cocoa/tglbtn.mm diff --git a/src/osx/cocoa/tglbtn.mm b/src/osx/cocoa/tglbtn.mm index a3002b3d94..ab7aab16f7 100644 --- a/src/osx/cocoa/tglbtn.mm +++ b/src/osx/cocoa/tglbtn.mm @@ -5,9 +5,9 @@ // Author: Stefan Csomor // Modified by: // Created: 08.02.01 -// RCS-ID: $Id: tglbtn.cpp 54129 2008-06-11 19:30:52Z SC $ +// RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// License: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -25,39 +25,52 @@ #include "wx/tglbtn.h" #include "wx/osx/private.h" -wxWidgetImplType* wxWidgetImpl::CreateToggleButton( wxWindowMac* wxpeer, - wxWindowMac* WXUNUSED(parent), - wxWindowID WXUNUSED(id), - const wxString& WXUNUSED(label), - const wxPoint& pos, +// from button.mm + +extern "C" void SetBezelStyleFromBorderFlags(NSButton *v, + long style, + wxWindowID winid = wxID_ANY, + const wxString& label = wxString(), + const wxBitmap& bitmap = wxBitmap()); + +wxWidgetImplType* wxWidgetImpl::CreateToggleButton( wxWindowMac* wxpeer, + wxWindowMac* WXUNUSED(parent), + wxWindowID winid, + const wxString& label, + const wxPoint& pos, const wxSize& size, - long WXUNUSED(style), + long style, long WXUNUSED(extraStyle)) { NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ; wxNSButton* v = [[wxNSButton alloc] initWithFrame:r]; - - [v setBezelStyle:NSSmallSquareBezelStyle]; + + SetBezelStyleFromBorderFlags(v, style, winid, label); + [v setButtonType:NSOnOffButton]; - wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v ); + wxWidgetCocoaImpl* c = new wxButtonCocoaImpl( wxpeer, v ); return c; } -wxWidgetImplType* wxWidgetImpl::CreateBitmapToggleButton( wxWindowMac* wxpeer, - wxWindowMac* WXUNUSED(parent), - wxWindowID WXUNUSED(id), - const wxBitmap& WXUNUSED(label), - const wxPoint& pos, +wxWidgetImplType* wxWidgetImpl::CreateBitmapToggleButton( wxWindowMac* wxpeer, + wxWindowMac* WXUNUSED(parent), + wxWindowID winid, + const wxBitmap& label, + const wxPoint& pos, const wxSize& size, - long WXUNUSED(style), + long style, long WXUNUSED(extraStyle)) -{ +{ NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ; wxNSButton* v = [[wxNSButton alloc] initWithFrame:r]; + + SetBezelStyleFromBorderFlags(v, style, winid, wxString(), label); - [v setBezelStyle:NSRegularSquareBezelStyle]; + if (label.IsOk()) + [v setImage:label.GetNSImage() ]; + [v setButtonType:NSOnOffButton]; - wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v ); + wxWidgetCocoaImpl* c = new wxButtonCocoaImpl( wxpeer, v ); return c; }