X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d015713e787da8241e92ff86ee2e911868b8024c..dd107c50be43e8d4dbdba20df162faf119a3781c:/src/mac/stattext.cpp diff --git a/src/mac/stattext.cpp b/src/mac/stattext.cpp index 06d6fe9c3c..26f16be642 100644 --- a/src/mac/stattext.cpp +++ b/src/mac/stattext.cpp @@ -15,6 +15,10 @@ #include "wx/app.h" #include "wx/stattext.h" +#include "wx/notebook.h" +#include "wx/tabctrl.h" +#include "wx/dc.h" +#include "wx/dcclient.h" #include @@ -59,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 ; @@ -257,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 ) ; }