X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=KeyInputTextView.m;h=91a2a3453d797d1f2a1494469e16cddbf2166f43;hp=7bda696fa07dea90139d3a0be7990729796b051c;hb=1bb3f553caac2b6b74380bd20ddc4bb1ff22abb2;hpb=0a402879ee3beb79bb4d2270f909ad75eead0c96 diff --git a/KeyInputTextView.m b/KeyInputTextView.m index 7bda696..91a2a34 100644 --- a/KeyInputTextView.m +++ b/KeyInputTextView.m @@ -14,8 +14,6 @@ BOOL enabled; } -@synthesize descr; - - (id)initWithFrame:(NSRect)frameRect { if ((self = [super initWithFrame:frameRect])) { self.alignment = NSCenterTextAlignment; @@ -27,6 +25,8 @@ - (void)clear { self.vk = -1; + [targetController keyChanged]; + [self resignIfFirstResponder]; } - (BOOL)hasKey { @@ -157,7 +157,7 @@ } - (BOOL)acceptsFirstResponder { - return enabled; + return self.enabled; } - (BOOL)becomeFirstResponder { @@ -170,16 +170,9 @@ return [super resignFirstResponder]; } -- (void)setBackgroundColor:(NSColor *)color { - [super setBackgroundColor:color]; -} - - (void)setVk:(int)key { vk = key; - descr = [KeyInputTextView stringForKeyCode:key]; - [self setStringValue:descr]; - if (self.hasKey) - [targetController keyChanged]; + [self setStringValue:[KeyInputTextView stringForKeyCode:key]]; } - (int)vk { @@ -189,20 +182,27 @@ - (void)keyDown:(NSEvent *)evt { if (!evt.isARepeat) { self.vk = evt.keyCode; - [[self window] makeFirstResponder:nil]; + [targetController keyChanged]; + [self resignIfFirstResponder]; } } +- (void)mouseDown:(NSEvent *)theEvent { + [targetController keyChanged]; + [self.window makeFirstResponder:self]; +} + - (void)flagsChanged:(NSEvent *)evt { self.vk = evt.keyCode; - [[self window] makeFirstResponder:nil]; + [targetController keyChanged]; + [self resignIfFirstResponder]; } - (void)setEnabled:(BOOL)newEnabled { enabled = newEnabled; - if (!enabled && window.firstResponder == self) - [window makeFirstResponder:nil]; + if (!enabled) + [self resignIfFirstResponder]; } - (BOOL)enabled {