]> git.saurik.com Git - wxWidgets.git/commitdiff
Implemented SetLabel
authorDavid Elliott <dfe@tgwbd.org>
Mon, 23 May 2005 05:55:10 +0000 (05:55 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Mon, 23 May 2005 05:55:10 +0000 (05:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/cocoa/stattext.mm

index 1e9c86e7f3632a48658876a1b49cb8f4c33ac8de..d77446dcc27727561a11c496a711fbf90f14cfbe 100644 (file)
 #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 <Foundation/NSString.h>
 #import <AppKit/NSTextField.h>
@@ -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)