]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/button.cpp
using native key handling, closes #10406
[wxWidgets.git] / src / os2 / button.cpp
index 7f02cfd61fab7ee48a0db8a59cc9ae1e408ec5a5..0dfafaa3b3c3bbb3b503e3700264ab59c3074e46 100644 (file)
@@ -22,6 +22,7 @@
     #include "wx/settings.h"
     #include "wx/dcscreen.h"
     #include "wx/scrolwin.h"
+    #include "wx/toplevel.h"
 #endif
 
 #include "wx/stockitem.h"
@@ -79,7 +80,7 @@ bool wxButton::Create( wxWindow*          pParent,
 
     m_hWnd = (WXHWND)::WinCreateWindow( GetHwndOf(pParent)   // Parent handle
                                        ,WC_BUTTON            // A Button class window
-                                       ,(PSZ)sLabel.c_str()  // Button text
+                                       ,sLabel.c_str()  // Button text
                                        ,lStyle               // Button style
                                        ,0, 0, 0, 0           // Location and size
                                        ,GetHwndOf(pParent)   // Owner handle
@@ -230,26 +231,24 @@ bool wxButton::SendClickEvent()
     return ProcessCommand(vEvent);
 } // end of wxButton::SendClickEvent
 
-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 and Windows
     //
-    wxWindow*                       pWinOldDefault = tlw->SetDefaultItem(this);
+    wxWindow* pWinOldDefault = wxButtonBase::SetDefault();
 
     SetDefaultStyle( wxDynamicCast(pWinOldDefault, wxButton), false);
     SetDefaultStyle( this, true );
+
+    return pWinOldDefault;
 } // end of wxButton::SetDefault
 
 void wxButton::SetTmpDefault()
 {
     wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
 
-    wxCHECK_RET( tlw, _T("button without top level window?") );
+    wxCHECK_RET( tlw, wxT("button without top level window?") );
 
     wxWindow*                       pWinOldDefault = tlw->GetDefaultItem();
 
@@ -262,7 +261,7 @@ void wxButton::UnsetTmpDefault()
 {
     wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
 
-    wxCHECK_RET( tlw, _T("button without top level window?") );
+    wxCHECK_RET( tlw, wxT("button without top level window?") );
 
     tlw->SetTmpDefaultItem(NULL);