X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/03e11df5470fd64d9d9a669d0b50b84c2d714736..1ec46a5b35233f3c69c5b73e4b0b36f44c650633:/src/mac/carbon/stattext.cpp diff --git a/src/mac/carbon/stattext.cpp b/src/mac/carbon/stattext.cpp index 5ce406a67a..26f16be642 100644 --- a/src/mac/carbon/stattext.cpp +++ b/src/mac/carbon/stattext.cpp @@ -15,6 +15,8 @@ #include "wx/app.h" #include "wx/stattext.h" +#include "wx/notebook.h" +#include "wx/tabctrl.h" #include "wx/dc.h" #include "wx/dcclient.h" @@ -61,8 +63,42 @@ void wxStaticText::OnDraw( wxDC &dc ) return; PrepareDC(dc); - dc.Clear() ; + bool doClear = true ; + WindowRef window = GetMacRootWindow() ; + if ( window ) + { + wxWindow* win = wxFindWinFromMacWindow( window ) ; + if ( win ) + { + wxWindow* parent = GetParent() ; + while ( parent ) + { + if( parent->MacGetWindowData() ) + { + break ; + } + + if( parent->IsKindOf( CLASSINFO( wxNotebook ) ) || parent->IsKindOf( CLASSINFO( wxTabCtrl ) )) + { + if ( ((wxControl*)parent)->GetMacControl() ) { + Rect rect = { -32767 , -32767 , 32767 , 32767 } ; + if ( DrawThemeTabPane != (void*)kUnresolvedCFragSymbolAddress ) + { + DrawThemeTabPane ( &rect, kThemeStateActive); + doClear = false ; + } + } + break ; + } + + parent = parent->GetParent() ; + } + } + } + if ( doClear ) + dc.Clear() ; + int x = 0 ; int y = 0 ; wxString text = m_label ; @@ -259,7 +295,9 @@ void wxStaticText::SetLabel(const wxString& st ) m_label = st ; if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) ) SetSizeOrDefault() ; - - wxClientDC dc(this); - OnDraw( dc ) ; + + Refresh() ; + MacUpdateImmediately() ; +// wxClientDC dc(this); +// OnDraw( dc ) ; }