Don't test keyCodes directly in CPResponder now that we have proper key equivalent characters.

This commit is contained in:
Alexander Ljungberg authored and Ross Boucher committed 2010-06-11 12:05:31 -07:00
1 parent c28222e04d
commit 1c35bd22f8
2 files changed
+31 -34

No files matched your search

+30 -34
View File
@@ -22,7 +22,6 @@
@import <Foundation/CPObject.j>
CPDeleteKeyCode = 8;
CPTabKeyCode = 9;
CPReturnKeyCode = 13;
@@ -39,7 +38,7 @@ CPDeleteForwardKeyCode = 46;
/*!
@ingroup appkit
@class CPResponder
Subclasses of CPResonder can be part of the responder chain.
*/
@implementation CPResponder : CPObject
@@ -107,39 +106,36 @@ CPDeleteForwardKeyCode = 46;
{
var event = events[index];
switch([event keyCode])
switch([[event characters] characterAtIndex:0])
{
case CPPageUpKeyCode: [self doCommandBySelector:@selector(pageUp:)];
break;
case CPPageDownKeyCode: [self doCommandBySelector:@selector(pageDown:)];
break;
case CPLeftArrowKeyCode: [self doCommandBySelector:@selector(moveLeft:)];
break;
case CPRightArrowKeyCode: [self doCommandBySelector:@selector(moveRight:)];
break;
case CPUpArrowKeyCode: [self doCommandBySelector:@selector(moveUp:)];
break;
case CPDownArrowKeyCode: [self doCommandBySelector:@selector(moveDown:)];
break;
case CPDeleteKeyCode: [self doCommandBySelector:@selector(deleteBackward:)];
break;
case CPReturnKeyCode:
case 3: [self doCommandBySelector:@selector(insertLineBreak:)];
break;
case CPEscapeKeyCode: [self doCommandBySelector:@selector(cancel:)];
break;
case CPPageUpFunctionKey: [self doCommandBySelector:@selector(pageUp:)];
break;
case CPPageDownFunctionKey: [self doCommandBySelector:@selector(pageDown:)];
break;
case CPLeftArrowFunctionKey: [self doCommandBySelector:@selector(moveLeft:)];
break;
case CPRightArrowFunctionKey: [self doCommandBySelector:@selector(moveRight:)];
break;
case CPUpArrowFunctionKey: [self doCommandBySelector:@selector(moveUp:)];
break;
case CPDownArrowFunctionKey: [self doCommandBySelector:@selector(moveDown:)];
break;
case CPDeleteCharacter: [self doCommandBySelector:@selector(deleteBackward:)];
break;
case CPCarriageReturnCharacter:
case CPNewlineCharacter: [self doCommandBySelector:@selector(insertLineBreak:)];
break;
case CPTabKeyCode: var shift = [event modifierFlags] & CPShiftKeyMask;
case CPEscapeFunctionKey: [self doCommandBySelector:@selector(cancel:)];
break;
if (!shift)
[self doCommandBySelector:@selector(insertTab:)];
else
[self doCommandBySelector:@selector(insertBackTab:)];
case CPTabCharacter: if (!([event modifierFlags] & CPShiftKeyMask))
[self doCommandBySelector:@selector(insertTab:)];
else
[self doCommandBySelector:@selector(insertBackTab:)];
break;
break;
default: [self insertText:[event characters]];
default: [self insertText:[event characters]];
}
}
}
@@ -316,7 +312,7 @@ CPDeleteForwardKeyCode = 46;
if([self respondsToSelector:aSelector])
{
[self performSelector:aSelector withObject:anObject];
return YES;
}
@@ -367,10 +363,10 @@ var CPResponderNextResponderKey = @"CPResponderNextResponderKey";
- (id)initWithCoder:(CPCoder)aCoder
{
self = [super init];
if (self)
_nextResponder = [aCoder decodeObjectForKey:CPResponderNextResponderKey];
return self;
}
+1
View File
@@ -29,6 +29,7 @@
CPKeyCodes.DOWN, CPDownArrowFunctionKey, @selector(moveDown:),
CPKeyCodes.BACKSPACE, CPDeleteCharacter, @selector(deleteBackward:),
CPKeyCodes.ENTER, CPCarriageReturnCharacter, @selector(insertLineBreak:),
0, CPNewlineCharacter, @selector(insertLineBreak:),
CPKeyCodes.ESC, CPEscapeFunctionKey, @selector(cancel:),
CPKeyCodes.TAB, CPTabCharacter, @selector(insertTab:)
];