// Created: 08.02.01
// RCS-ID: $Id: tglbtn.cpp 54129 2008-06-11 19:30:52Z SC $
// Copyright: (c) Stefan Csomor
-// License: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
#include "wx/tglbtn.h"
#include "wx/osx/private.h"
-wxWidgetImplType* wxWidgetImpl::CreateToggleButton( wxWindowMac* wxpeer,
- wxWindowMac* WXUNUSED(parent),
- wxWindowID WXUNUSED(id),
+// 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 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);
+
[v setButtonType:NSOnOffButton];
wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( 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 WXUNUSED(id),
+ 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];
-
- [v setBezelStyle:NSRegularSquareBezelStyle];
+
+ if (label.Ok())
+ [v setImage:label.GetNSImage() ];
+
+ SetBezelStyleFromBorderFlags(v, style);
+
[v setButtonType:NSOnOffButton];
wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v );
return c;