From 518a5ddbf15d50a254c732a80d5907ef8878abe0 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Wed, 15 Apr 2015 18:49:45 -0400 Subject: Split all OS backends into their own folders. --- new/darwin/label.m | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 new/darwin/label.m (limited to 'new/darwin/label.m') diff --git a/new/darwin/label.m b/new/darwin/label.m new file mode 100644 index 0000000..e3fb351 --- /dev/null +++ b/new/darwin/label.m @@ -0,0 +1,53 @@ +// 9 april 2015 +#import "uipriv_darwin.h" + +@interface uiLabelNSTextField : NSTextField +@property uiControl *uiC; +@end + +@implementation uiLabelNSTextField + +- (void)viewDidMoveToSuperview +{ + if (uiDarwinControlFreeWhenAppropriate(self.uiC, [self superview])) { + [self setTarget:nil]; + self.uiC = NULL; + } + [super viewDidMoveToSuperview]; +} + +@end + +uiControl *uiNewLabel(const char *text) +{ + uiControl *c; + uiLabelNSTextField *l; + + c = uiDarwinNewControl([uiLabelNSTextField class], NO, NO); + l = (uiLabelNSTextField *) uiControlHandle(c); + l.uiC = c; + + [l setStringValue:toNSString(text)]; + [l setEditable:NO]; + [l setSelectable:NO]; + [l setDrawsBackground:NO]; + finishNewTextField((NSTextField *) l, NO); + + return l.uiC; +} + +char *uiLabelText(uiControl *c) +{ + uiLabelNSTextField *t; + + t = (uiLabelNSTextField *) uiControlHandle(c); + return uiDarwinNSStringToText([t stringValue]); +} + +void uiLabelSetText(uiControl *c, const char *text) +{ + uiLabelNSTextField *t; + + t = (uiLabelNSTextField *) uiControlHandle(c); + [t setStringValue:toNSString(text)]; +} -- cgit v1.2.3