Call wxTLW::SetDefaultItem() from wxButtonBase::SetDefault() instead of doing

it in wxButton implementations in (almost) all ports; changed its return type
to "wxWindow *" from "void" to accommodate the ports needing the old default
item (replaces part of patch 1696563)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-04-08 22:18:35 +00:00
parent a78a8f7fd5
commit 94aff5ff86
34 changed files with 252 additions and 110 deletions

View File

@@ -343,14 +343,10 @@ wxSize wxButtonBase::GetDefaultSize()
*/
// set this button as the (permanently) default one in its panel
void wxButton::SetDefault()
wxWindow *wxButton::SetDefault()
{
wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
wxCHECK_RET( tlw, _T("button without top level window?") );
// set this one as the default button both for wxWidgets ...
wxWindow *winOldDefault = tlw->SetDefaultItem(this);
wxWindow *winOldDefault = wxButtonBase::SetDefault();
// ... and Windows
SetDefaultStyle(wxDynamicCast(winOldDefault, wxButton), false);