diff options
| author | Pietro Gagliardi <[email protected]> | 2015-04-11 23:49:34 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2015-04-11 23:49:34 -0400 |
| commit | 995db0bc28c42733e3d5239e36e84c6881f693ff (patch) | |
| tree | 4351a0c9c0f6e9457aa5e844191403f703a25176 /new/label_darwin.m | |
| parent | bc4818786a711002bbb2beef9476e1d6a9161e68 (diff) | |
Implemented uiLabel on Mac OS X.
Diffstat (limited to 'new/label_darwin.m')
| -rw-r--r-- | new/label_darwin.m | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/new/label_darwin.m b/new/label_darwin.m new file mode 100644 index 0000000..e3fb351 --- /dev/null +++ b/new/label_darwin.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)]; +} |
