wxMacCFStringHolder str(m_label,m_font.GetEncoding() ) ;
m_peer = new wxMacControl() ;
verify_noerr(CreateStaticTextControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()),&bounds, str ,
- NULL , *m_peer ) ) ;
+ NULL , m_peer->GetControlRefAddr() ) ) ;
MacPostControlCreate(pos,size) ;
wxSize wxStaticText::DoGetBestSize() const
{
ControlFontStyleRec controlFont ;
- Size outSize ;
- verify_noerr( GetControlData( *m_peer , kControlEntireControl , kControlFontStyleTag , sizeof(controlFont) , &controlFont , &outSize ) ) ;
+ verify_noerr( m_peer->GetData<ControlFontStyleRec>(kControlEntireControl , kControlFontStyleTag , &controlFont ) ) ;
Point bounds ;
SInt16 baseline ;
}
if ( m_label.Length() == 0 )
bounds.h = 0 ;
+
+ bounds.h += MacGetLeftBorderSize() + MacGetRightBorderSize() ;
+ bounds.v += MacGetTopBorderSize() + MacGetBottomBorderSize() ;
return wxSize(bounds.h, bounds.v);
}
wxMacCFStringHolder str(m_label,m_font.GetEncoding() ) ;
CFStringRef ref = str ;
- SetControlData( *m_peer, kControlEntireControl , kControlStaticTextCFStringTag, sizeof( CFStringRef ),
- &ref );
-
- if (GetAdjustMinSizeFlag())
- SetBestSize(wxDefaultSize);
+ verify_noerr( m_peer->SetData<CFStringRef>(kControlEntireControl , kControlStaticTextCFStringTag, ref ) ) ;
+ if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) )
+ {
+ InvalidateBestSize();
+ SetSize( GetBestSize() ) ;
+ }
+ Refresh() ;
Update() ;
}
+bool wxStaticText::SetFont(const wxFont& font)
+{
+ bool ret = wxControl::SetFont(font);
+
+ if ( ret )
+ {
+ if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) )
+ {
+ InvalidateBestSize();
+ SetSize( GetBestSize() );
+ }
+ }
+
+ return ret;
+}