From: David Elliott Date: Mon, 23 May 2005 05:55:10 +0000 (+0000) Subject: Implemented SetLabel X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/b9d29922de1ec34073c0093d75a9ec05ac117012 Implemented SetLabel git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/cocoa/stattext.mm b/src/cocoa/stattext.mm index 1e9c86e7f3..d77446dcc2 100644 --- a/src/cocoa/stattext.mm +++ b/src/cocoa/stattext.mm @@ -13,10 +13,12 @@ #ifndef WX_PRECOMP #include "wx/app.h" #include "wx/stattext.h" + #include "wx/log.h" #endif //WX_PRECOMP #include "wx/cocoa/autorelease.h" #include "wx/cocoa/string.h" +#include "wx/cocoa/log.h" #import #import @@ -66,7 +68,21 @@ wxStaticText::~wxStaticText() void wxStaticText::SetLabel(const wxString& label) { - // TODO + [GetNSTextField() setStringValue:wxNSStringWithWxString(label)]; + NSRect oldFrameRect = [GetNSTextField() frame]; + NSView *superview = [GetNSTextField() superview]; + wxLogTrace(wxTRACE_COCOA_Window_Size, "wxStaticText::SetLabel Old Position: (%d,%d)", GetPosition().x, GetPosition().y); + [GetNSTextField() sizeToFit]; + NSRect newFrameRect = [GetNSTextField() frame]; + if(![superview isFlipped]) + { + newFrameRect.origin.y = oldFrameRect.origin.y + oldFrameRect.size.height - newFrameRect.size.height; + [GetNSTextField() setFrame:newFrameRect]; + } + wxLogTrace(wxTRACE_COCOA_Window_Size, "wxStaticText::SetLabel New Position: (%d,%d)", GetPosition().x, GetPosition().y); + + [[GetNSTextField() superview] setNeedsDisplayInRect:oldFrameRect]; + [[GetNSTextField() superview] setNeedsDisplayInRect:newFrameRect]; } void wxStaticText::Cocoa_didChangeText(void)