wxSize wxButton::DoGetBestSize() const
{
if ( GetId() == wxID_HELP )
- return wxSize( 20 , 20 ) ;
+ return wxSize( 23 , 23 ) ;
wxSize sz = GetDefaultSize() ;
@implementation wxNSButton
-- (id)initWithFrame:(NSRect)frame
++ (void)initialize
{
- [super initWithFrame:frame];
- impl = NULL;
- [self setTarget: self];
- [self setAction: @selector(clickedAction:)];
- return self;
-}
-
-WXCOCOAIMPL_COMMON_IMPLEMENTATION
-
-- (void) clickedAction: (id) sender
-{
- if ( impl )
+ static BOOL initialized = NO;
+ if (!initialized)
{
- wxWindow* wxpeer = (wxWindow*) impl->GetWXPeer();
- if ( wxpeer )
- wxpeer->OSXHandleClicked(0);
+ initialized = YES;
+ wxOSXCocoaClassAddWXMethods( self );
}
}
wxWidgetImplType* wxWidgetImpl::CreateButton( wxWindowMac* wxpeer,
- wxWindowMac* parent,
+ wxWindowMac* WXUNUSED(parent),
wxWindowID id,
- const wxString& label,
+ const wxString& WXUNUSED(label),
const wxPoint& pos,
const wxSize& size,
- long style,
- long extraStyle)
+ long WXUNUSED(style),
+ long WXUNUSED(extraStyle))
{
NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
wxNSButton* v = [[wxNSButton alloc] initWithFrame:r];
[v setButtonType:NSMomentaryPushInButton];
wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v );
- [v setImplementation:c];
return c;
/*
OSStatus err;
void wxWidgetCocoaImpl::SetDefaultButton( bool isDefault )
{
- if ( [m_osxView isKindOfClass:[NSButton class]] )
- [(NSButton*)m_osxView setKeyEquivalent: isDefault ? @"\r" : nil ];
+ if ( isDefault && [m_osxView isKindOfClass:[NSButton class]] )
+ // NOTE: setKeyEquivalent: nil will trigger an assert
+ // instead do not call in that case.
+ [(NSButton*)m_osxView setKeyEquivalent: @"\r" ];
}
void wxWidgetCocoaImpl::PerformClick()
}
wxWidgetImplType* wxWidgetImpl::CreateDisclosureTriangle( wxWindowMac* wxpeer,
- wxWindowMac* parent,
- wxWindowID id,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID WXUNUSED(id),
const wxString& label,
const wxPoint& pos,
const wxSize& size,
- long style,
- long extraStyle)
+ long WXUNUSED(style),
+ long WXUNUSED(extraStyle))
{
NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
wxNSButton* v = [[wxNSButton alloc] initWithFrame:r];
[v setTitle:wxCFStringRef( label).AsNSString()];
[v setImagePosition:NSImageRight];
wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v );
- [v setImplementation:c];
return c;
}