X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4dd9fdf82749bb5f9e2bf9c2ad1bbd59e0eeb00e..0afeb753e0a6a3fdba290bf3612bb2f012d44d95:/src/osx/cocoa/tglbtn.mm diff --git a/src/osx/cocoa/tglbtn.mm b/src/osx/cocoa/tglbtn.mm index f5d052809e..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* parent, - wxWindowID id, +// 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 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:NSRoundedBezelStyle]; + + 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* parent, - wxWindowID id, +wxWidgetImplType* wxWidgetImpl::CreateBitmapToggleButton( wxWindowMac* wxpeer, + wxWindowMac* WXUNUSED(parent), + wxWindowID winid, 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]; + + 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; }