]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/button.cpp
[ 1563875 ] wxTreeCtrl::FindItem asserts when item not found
[wxWidgets.git] / src / mac / classic / button.cpp
index 681d76170367f909fb1283a3490e5d73e769527b..714983c2fa028b4a97c985493f8b7b7f94964418 100644 (file)
@@ -1,18 +1,26 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        button.cpp
+// Name:        src/mac/classic/button.cpp
 // Purpose:     wxButton
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
-// Licence:       wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#include "wx/defs.h"
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
 
 #include "wx/button.h"
-#include "wx/panel.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/panel.h"
+#endif
+
 #include "wx/stockitem.h"
 
 IMPLEMENT_DYNAMIC_CLASS(wxButton, wxControl)
@@ -32,7 +40,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& lbl,
     wxString label(lbl);
     if (label.empty() && wxIsStockID(id))
         label = wxGetStockLabel(id);
-    
+
     if ( !wxButtonBase::Create(parent, id, pos, size, style, validator, name) )
         return false;
 
@@ -44,27 +52,26 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& lbl,
         m_macHorizontalBorder = kMacOSXHorizontalBorder;
         m_macVerticalBorder = kMacOSXVerticalBorder;
     }
-    
+
     MacPreControlCreate( parent , id ,  label , pos , size ,style, validator , name , &bounds , title ) ;
 
-    m_macControl = (WXWidget) ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , 0 , 1, 
+    m_macControl = (WXWidget) ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , 0 , 1,
           kControlPushButtonProc , (long) this ) ;
     wxASSERT_MSG( (ControlHandle) m_macControl != NULL , wxT("No valid mac control") ) ;
-    
+
     MacPostControlCreate() ;
-    
-  return TRUE;
+
+    return true;
 }
 
 void wxButton::SetDefault()
 {
-    wxWindow *parent = GetParent();
+    wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
     wxButton *btnOldDefault = NULL;
-    if ( parent )
+    if ( tlw )
     {
-        btnOldDefault = wxDynamicCast(parent->GetDefaultItem(),
-           wxButton);
-        parent->SetDefaultItem(this);
+        btnOldDefault = wxDynamicCast(tlw->GetDefaultItem(), wxButton);
+        tlw->SetDefaultItem(this);
     }
 
     Boolean inData;
@@ -84,18 +91,18 @@ void wxButton::SetDefault()
 
 wxSize wxButton::DoGetBestSize() const
 {
-  wxSize sz = GetDefaultSize() ;
-  
-  int wBtn = m_label.Length() * 8 + 12 + 2 * kMacOSXHorizontalBorder ;
-    
-  if (wBtn > sz.x) sz.x = wBtn;
-  
-  return sz ;
+    wxSize sz = GetDefaultSize() ;
+
+    int wBtn = m_label.length() * 8 + 12 + 2 * kMacOSXHorizontalBorder ;
+
+    if (wBtn > sz.x) sz.x = wBtn;
+
+    return sz ;
 }
 
 wxSize wxButton::GetDefaultSize()
 {
-    int wBtn = 70 ; 
+    int wBtn = 70 ;
     int hBtn = 20 ;
 
     if ( UMAHasAquaLayout() )
@@ -119,7 +126,7 @@ void wxButton::Command (wxCommandEvent & event)
     ProcessCommand (event);
 }
 
-void wxButton::MacHandleControlClick( WXWidget WXUNUSED(control) , wxInt16 controlpart , bool WXUNUSED(mouseStillDown) ) 
+void wxButton::MacHandleControlClick( WXWidget WXUNUSED(control) , wxInt16 controlpart , bool WXUNUSED(mouseStillDown) )
 {
     if ( controlpart != kControlNoPart )
     {
@@ -128,4 +135,3 @@ void wxButton::MacHandleControlClick( WXWidget WXUNUSED(control) , wxInt16 contr
         ProcessCommand(event);
     }
 }
-