Allow wxTopLevelWindowCocoa::SetDefaultItem(NULL)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Elliott
2008-01-31 19:17:42 +00:00
parent 1f526a8c79
commit f3f56f2fe2

View File

@@ -352,21 +352,26 @@ wxString wxTopLevelWindowCocoa::GetTitle() const
wxWindow* wxTopLevelWindowCocoa::SetDefaultItem(wxWindow *win)
{
wxWindow *old = wxTopLevelWindowBase::SetDefaultItem(win);
NSView *newView = win->GetNSView();
NSCell *newCell;
// newView does not have to be an NSControl, we only cast to NSControl*
// to silence the warning about cell not being implemented.
if(newView != nil && [newView respondsToSelector:@selector(cell)])
newCell = [(NSControl*)newView cell];
if(win != NULL)
{
NSView *newView = win->GetNSView();
// newView does not have to be an NSControl, we only cast to NSControl*
// to silence the warning about cell not being implemented.
if(newView != nil && [newView respondsToSelector:@selector(cell)])
newCell = [(NSControl*)newView cell];
else
newCell = nil;
if(newCell != nil && ![newCell isKindOfClass:[NSButtonCell class]])
{ // It's not an NSButtonCell, set the default to nil.
newCell = nil;
}
}
else
newCell = nil;
if(newCell != nil && ![newCell isKindOfClass:[NSButtonCell class]])
{ // It's not an NSButtonCell, set the default to nil.
newCell = nil;
}
[GetNSWindow() setDefaultButtonCell:(NSButtonCell*)newCell];
return old;
}