diff options
| author | Pietro Gagliardi <[email protected]> | 2015-04-16 14:41:24 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2015-04-16 14:41:24 -0400 |
| commit | 0660104659c17852035233617ce9885339c93d7c (patch) | |
| tree | b52848e71704207ffc62a9a9a5488383b9b913a2 /new/darwin/entry.m | |
| parent | 89931668a56b0b12edcf4e77423313f5917e6bb0 (diff) | |
Migrated darwin/label.m; fixed up some of the other files.
Diffstat (limited to 'new/darwin/entry.m')
| -rw-r--r-- | new/darwin/entry.m | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/new/darwin/entry.m b/new/darwin/entry.m index f2b208b..84835f3 100644 --- a/new/darwin/entry.m +++ b/new/darwin/entry.m @@ -2,22 +2,38 @@ #import "uipriv_darwin.h" @interface uiNSTextField : NSTextField -@property uiControl *uiC; +@property uiEntry *uiE; @end @implementation uiNSTextField - (void)viewDidMoveToSuperview { - if (uiDarwinControlFreeWhenAppropriate(self.uiC, [self superview])) { + if (uiDarwinControlFreeWhenAppropriate(uiControl(self.uiE), [self superview])) { [self setTarget:nil]; - self.uiC = NULL; + self.uiE = NULL; } [super viewDidMoveToSuperview]; } @end +static char *entryText(uiEntry *e) +{ + uiNSTextField *t; + + t = (uiNSTextField *) uiControlHandle(uiControl(e)); + return uiDarwinNSStringToText([t stringValue]); +} + +static void entrySetText(uiEntry *e, const char *text) +{ + uiNSTextField *t; + + t = (uiNSTextField *) uiControlHandle(uiControl(e)); + [t setStringValue:toNSString(text)]; +} + // TOOD move elsewhere // these are based on interface builder defaults; my comments in the old code weren't very good so I don't really know what talked about what, sorry :/ void finishNewTextField(NSTextField *t, BOOL isEntry) @@ -35,33 +51,23 @@ void finishNewTextField(NSTextField *t, BOOL isEntry) [[t cell] setScrollable:YES]; } -uiControl *uiNewEntry(void) +uiEntry *uiNewEntry(void) { - uiControl *c; + uiEntry *e; uiNSTextField *t; - c = uiDarwinNewControl([uiNSTextField class], NO, NO); + e = uiNew(uiEntry); + + uiDarwinNewControl(uiControl(e), [uiNSTextField class], NO, NO); t = (uiNSTextField *) uiControlHandle(c); - t.uiC = c; [t setSelectable:YES]; // otherwise the setting is masked by the editable default of YES finishNewTextField((NSTextField *) t, YES); - return t.uiC; -} - -char *uiEntryText(uiControl *c) -{ - uiNSTextField *t; - - t = (uiNSTextField *) uiControlHandle(c); - return uiDarwinNSStringToText([t stringValue]); -} + uiEntry(e)->Text = entryText; + uiEntry(e)->SetText = entrySetText; -void uiEntrySetText(uiControl *c, const char *text) -{ - uiNSTextField *t; + t.uiE = e; - t = (uiNSTextField *) uiControlHandle(c); - [t setStringValue:toNSString(text)]; + return t.uiE; } |
