[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-dev] [ ¿commit? ] SCTextView-keyDownAction call
it would be important to have the keyDownAction / keyUpAction called
on any key down or up. Currently it is not called on enter and tab.
I'd like to change this.
Any reasons not to?
Index: SCTextView.M
===================================================================
RCS file: /cvsroot/supercollider/SuperCollider3/source/app/SCTextView.M,v
retrieving revision 1.12
diff -p -b -B -r1.12 SCTextView.M
*** SCTextView.M 26 Dec 2004 21:48:21 -0000 1.12
--- SCTextView.M 27 Dec 2004 20:07:19 -0000
*************** extern bool compiledOK;
*** 69,77 ****
- (void) keyUp: (NSEvent*) event
{
NSString *characters = [event characters];
if ([characters isEqual: @"\03"]) {
} else if (([characters isEqual: @"\n"] || [characters isEqual:
@"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
! } else {
//call lang
if(compiledOK){
unsigned int modifiers = [event modifierFlags];
--- 69,81 ----
- (void) keyUp: (NSEvent*) event
{
NSString *characters = [event characters];
+ bool forwardCharToDocument=true;
+
if ([characters isEqual: @"\03"]) {
+ forwardCharToDocument = false;
} else if (([characters isEqual: @"\n"] || [characters isEqual:
@"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
! forwardCharToDocument = false;
! }
//call lang
if(compiledOK){
unsigned int modifiers = [event modifierFlags];
*************** extern bool compiledOK;
*** 101,106 ****
--- 105,111 ----
pthread_mutex_unlock (&gLangMutex);
}
}
+ if (forwardCharToDocument) {
[super keyUp: event];
}
}
*************** extern bool compiledOK;
*** 108,120 ****
- (void) keyDown: (NSEvent*) event
{
NSString *characters = [event characters];
if ([characters isEqual: @"\03"]) {
[[self delegate] executeSelection: self];
} else if (([characters isEqual: @"\n"] || [characters isEqual:
@"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
[self autoIndent: event];
! } else {
! //call lang
! if(compiledOK){
unsigned int modifiers = [event modifierFlags];
unichar character = 0;
if([characters length] > 0) {
--- 113,129 ----
- (void) keyDown: (NSEvent*) event
{
NSString *characters = [event characters];
+ bool forwardCharToDocument=true;
+
if ([characters isEqual: @"\03"]) {
[[self delegate] executeSelection: self];
+ forwardCharToDocument = false;
} else if (([characters isEqual: @"\n"] || [characters isEqual:
@"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
[self autoIndent: event];
! forwardCharToDocument = false;
! }
!
! if(compiledOK) {
unsigned int modifiers = [event modifierFlags];
unichar character = 0;
if([characters length] > 0) {
*************** extern bool compiledOK;
*** 145,150 ****
--- 154,160 ----
pthread_mutex_unlock (&gLangMutex);
}
}
+ if(forwardCharToDocument) {
[super keyDown: event];
}
}
--
.