Каков правильный шаблон проектирования для обработки событий keyDown: в NSSplitView? - PullRequest
0 голосов
/ 28 мая 2020

Я хотел бы иметь отдельные обработчики KeyDown: для каждого из различных подпредставлений в сложном окне на основе splitview. Кроме того, я хотел бы иметь «глобальный» обработчик KeyDown: на уровне WindowController для любых ключей, которые не обрабатываются отдельными обработчиками подпредставления.

Исходя из моего понимания документации NSResponder, я должен уметь делать что-то вроде следующего: (в псевдокоде - пожалуйста, не жалуйтесь на синтаксис. Фактически я пишу этот Форт, но я думал, что цель - Псевдокод в стиле C может лучше передать эту идею.)

Но необработанные ключи не распространяются вверх по цепочке респондента на WindowController, как я ожидал. Похоже, что цепочка останавливается на ViewController.

Что мне здесь не хватает?

спасибо


(псевдокод)

- (void)keyDown:(NSEvent *)theEvent {

    IF{ certain-keys
    // subview  -- keydown event handling code responds only to certain keys.
       [mySubViewController doMysubviewKeyDown:theEvent etc 
    ELSE 
    // window controller -- keydown handling code for all other keys.
       [super keyDown:theEvent];
     }

}
...