Соединение NSMenuItems с действиями и наоборот - PullRequest
0 голосов
/ 23 марта 2012

Позвольте мне объяснить, что я имею в виду:

Допустим, у нас есть меню с несколькими пунктами (скажем, это ... набор опций, только один из которых может быть включен в любой момент).

Что такое предлагаемая реализация (привязки? Я не знаю ...), чтобы я мог удовлетворить следующие сценарии:

  • Пользователь щелкает элемент в меню, и это вызывает действие doSomething на некотором контроллере. Кроме того, когда действие doSomething вызывается независимо, следует также проверить соответствующий пункт меню.

  • У нас идентичное меню (где-то еще) с теми же параметрами, что и в исходном меню. Пользователь нажимает на элемент меню A, этот же элемент проверяется в меню B, выполняется действие doSomething. Это должно работать в любом порядке действий (A-> B-> action, B-> A-> action, action-> A-> B)

Ответы [ 2 ]

1 голос
/ 23 марта 2012

-doSomething: должен установить переменную BOOL, указывающую, следует ли проверять пункты меню.

Используйте протокол NSUserInterfaceValidations, как я объяснил в ответе на ваш предыдущий вопрос .

В -validateUserInterfaceItem: получите значение этого BOOL, затем:

[(NSMenuItem*)anItem setState:(boolValue ? NSOnState : NSOffState)];
1 голос
/ 23 марта 2012

Я хотел бы, чтобы каждый пункт меню вызывал свой собственный метод действия, чтобы каждый метод действия устанавливал переменную экземпляра в значение, в зависимости от того, какой он есть, и они реализуют метод для неформального протокола NSMenuValidation, и мы должны это обновить менюпункт, чтобы показать его галочку, а также обычное включение / отключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...