]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/button.cpp
fix a few hundreds of harmless unused parameters warnings and a couple of real bugs...
[wxWidgets.git] / src / mac / carbon / button.cpp
index c5a3f521bdb67a90f8a1f707c512a0f05eb6a0e5..9da363eb5091ac37898a824c91c99fd6ce8cf120 100644 (file)
@@ -15,6 +15,7 @@
 
 #ifndef WX_PRECOMP
     #include "wx/panel.h"
+    #include "wx/toplevel.h"
 #endif
 
 #include "wx/stockitem.h"
@@ -42,7 +43,7 @@ bool wxButton::Create(wxWindow *parent,
     if ( !wxButtonBase::Create(parent, id, pos, size, style, validator, name) )
         return false;
 
-    m_label = label ;
+    m_labelOrig = m_label = label ;
 
     OSStatus err;
     Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
@@ -100,21 +101,19 @@ bool wxButton::Create(wxWindow *parent,
     return true;
 }
 
-void wxButton::SetDefault()
+wxWindow *wxButton::SetDefault()
 {
-    wxWindow *parent = GetParent();
-    wxButton *btnOldDefault = NULL;
+    wxWindow *btnOldDefault = wxButtonBase::SetDefault();
 
-    if ( parent )
+    if ( btnOldDefault )
     {
-        btnOldDefault = wxDynamicCast(parent->GetDefaultItem(), wxButton);
-        parent->SetDefaultItem(this);
+        // cast needed to access the protected member
+        btnOldDefault->GetPeer()->SetData(kControlButtonPart , kControlPushButtonDefaultTag , (Boolean) 0 ) ;
     }
 
-    if ( btnOldDefault )
-        btnOldDefault->m_peer->SetData(kControlButtonPart , kControlPushButtonDefaultTag , (Boolean) 0 ) ;
-
     m_peer->SetData(kControlButtonPart , kControlPushButtonDefaultTag , (Boolean) 1 ) ;
+
+    return btnOldDefault;
 }
 
 wxSize wxButton::DoGetBestSize() const