X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/18f3decb46a80b38801dd6590d08eb525d3a3963..c7c6e54baed01937426239dd38164ee0326fa172:/src/mac/classic/control.cpp?ds=sidebyside diff --git a/src/mac/classic/control.cpp b/src/mac/classic/control.cpp index 4d5f5c15ad..d5c0ca1880 100644 --- a/src/mac/classic/control.cpp +++ b/src/mac/classic/control.cpp @@ -16,20 +16,24 @@ #endif #include "wx/control.h" -#include "wx/panel.h" -#include "wx/app.h" -#include "wx/dc.h" -#include "wx/dcclient.h" + +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/panel.h" + #include "wx/dc.h" + #include "wx/dcclient.h" + #include "wx/button.h" + #include "wx/dialog.h" + #include "wx/scrolbar.h" + #include "wx/stattext.h" + #include "wx/statbox.h" + #include "wx/radiobox.h" + #include "wx/sizer.h" +#endif // WX_PRECOMP + #include "wx/notebook.h" #include "wx/tabctrl.h" -#include "wx/radiobox.h" #include "wx/spinbutt.h" -#include "wx/scrolbar.h" -#include "wx/button.h" -#include "wx/dialog.h" -#include "wx/statbox.h" -#include "wx/sizer.h" -#include "wx/stattext.h" IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow) @@ -186,11 +190,11 @@ wxControl::~wxControl() wxRemoveMacControlAssociation( this ) ; // If we delete an item, we should initialize the parent panel, // because it could now be invalid. - wxWindow *parent = GetParent() ; - if ( parent ) + wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow); + if ( tlw ) { - if (parent->GetDefaultItem() == (wxButton*) this) - parent->SetDefaultItem(NULL); + if ( tlw->GetDefaultItem() == (wxButton*) this) + tlw->SetDefaultItem(NULL); } if ( (ControlHandle) m_macControl ) { @@ -203,7 +207,7 @@ wxControl::~wxControl() void wxControl::SetLabel(const wxString& title) { - m_label = wxStripMenuCodes(title) ; + m_label = GetLabelText(title) ; if ( m_macControl ) { @@ -305,7 +309,7 @@ void wxControl::MacPreControlCreate( wxWindow *parent, wxWindowID id, wxString l ((Rect*)outBounds)->bottom = 0; ((Rect*)outBounds)->right = 0; - wxMacStringToPascal( wxStripMenuCodes(label) , maclabel ) ; + wxMacStringToPascal( GetLabelText(label) , maclabel ) ; } void wxControl::MacPostControlCreate() @@ -394,7 +398,7 @@ void wxControl::MacPostControlCreate() SetSize(pos.x, pos.y, new_size.x, new_size.y); #if wxUSE_UNICODE - UMASetControlTitle( (ControlHandle) m_macControl , wxStripMenuCodes(m_label) , m_font.GetEncoding() ) ; + UMASetControlTitle( (ControlHandle) m_macControl , GetLabelText(m_label) , m_font.GetEncoding() ) ; #endif if ( m_macControlIsShown ) @@ -435,13 +439,13 @@ void wxControl::MacAdjustControlRect() { if ( IsKindOf( CLASSINFO( wxButton ) ) ) { - m_width = m_label.Length() * 8 + 12 ; + m_width = m_label.length() * 8 + 12 ; if ( m_width < 70 ) m_width = 70 ; } else if ( IsKindOf( CLASSINFO( wxStaticText ) ) ) { - m_width = m_label.Length() * 8 ; + m_width = m_label.length() * 8 ; } else m_width = bestsize.right - bestsize.left ;