diff options
| author | Pietro Gagliardi <[email protected]> | 2014-08-22 22:32:31 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-08-22 22:32:31 -0400 |
| commit | 89ea8f5cbb502d0652595993a062ea1a947b50d6 (patch) | |
| tree | 38f01eac1fe1698fc13232cb56285a4215b641f5 /redo/area_darwin.m | |
| parent | c7268f8feed749a385d171409ac99430d88d348a (diff) | |
Started the Mac OS X implementation of Area.OpenTextFieldAt().
Diffstat (limited to 'redo/area_darwin.m')
| -rw-r--r-- | redo/area_darwin.m | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/redo/area_darwin.m b/redo/area_darwin.m index b3d095e..280cb9e 100644 --- a/redo/area_darwin.m +++ b/redo/area_darwin.m @@ -6,6 +6,7 @@ #define toNSEvent(x) ((NSEvent *) (x)) #define toNSView(x) ((NSView *) (x)) +#define toNSTextField(x) ((NSTextField *) (x)) #define toNSInteger(x) ((NSInteger) (x)) #define fromNSInteger(x) ((intptr_t) (x)) @@ -203,3 +204,44 @@ void areaRepaintAll(id view) { [toNSView(view) display]; } + +@interface goAreaTextField : NSTextField { +@public + void *goarea; +} +@end + +@implementation goAreaTextField +/* +- (BOOL)resignFirstResponder +{ + [self setHidden:YES]; + areaTextFieldDismissed(self->goarea); + return [super resignFirstResponder]; +} +*/ +@end + +id newAreaTextField(id area, void *goarea) +{ + goAreaTextField *tf; + + tf = [[goAreaTextField alloc] initWithFrame:NSZeroRect]; + finishNewTextField((id) tf, YES); + [toNSView(area) addSubview:tf]; + [tf setHidden:YES]; + tf->goarea = goarea; + return (id) tf; +} + +void areaTextFieldOpen(id textfield, intptr_t x, intptr_t y) +{ + NSTextField *tf = toNSTextField(textfield); + + [tf sizeToFit]; + // TODO + [tf setFrameSize:NSMakeSize(150, 20)]; + [tf setFrameOrigin:NSMakePoint((CGFloat) x, (CGFloat) y)]; + [tf setHidden:NO]; + [[tf window] makeFirstResponder:tf]; +} |
