Проверка элементов панели инструментов
Панель инструментов проверяет каждый видимый элемент изображения и пункт меню переполнения каждого невидимого элемента.
Панелью инструментов по умолчанию элементы имеют щелчок - через поведение, которое должно сказать, что элементы панели инструментов остаются включенными и активируемыми по щелчку, когда пользователь переключается на другое окно или даже другое приложение. Для изменения этого поведения для элемента панели инструментов код доступа должен принять большую среду во внимание. См. Инструкции по Интерфейсу пользователя Воды для получения дополнительной информации о щелчке - через поведение.
Проверка элемента изображения
Панель инструментов автоматически заботится о затемнении элемента изображения, когда по этому щелкают и исчезновение его, когда это отключено. Весь Ваш код должен сделать, проверяют элемент. Если элемент изображения будет иметь допустимую пару цели/действия, то панель инструментов вызовет NSToolbarItemValidation validateToolbarItem:
на цели, если цель реализует его; иначе элемент включен по умолчанию.
В отсутствие представления формы пользовательского меню NSToolbar проверяет меню переполнения элемента изображения таким же образом, что он проверяет элемент панели инструментов на панели инструментов.
Проверка элемента представления
Проверка для элементов представления не является автоматической, потому что элемент представления может иметь неизвестную сложность. Для реализации проверки для элемента представления необходимо разделить на подклассы NSToolbarItem и переопределение validate
(потому что реализация NSToolbarItem validate
ничего не делает для элементов представления). В Вашем переопределенном методе сделайте проверку, определенную для поведения элемента представления, и затем включите или отключите то, что Вы хотите в содержании представления соответственно. Если представление является NSControl, можно вызвать setEnabled:
, который поочередно вызовет setEnabled:
на управлении.
В отсутствие представления формы пользовательского меню NSToolbar по умолчанию отключает пункт меню переполнения элемента представления.
Переполните проверки пункта меню
Если элемент панели инструментов будет иметь представление формы пользовательского меню без подменю, то панель инструментов проверит пункт меню переполнения и текст элемента панели инструментов в тексте Только Режим по-другому, чем это было бы с представлением формы меню по умолчанию: Если цель пункта меню представления формы меню реализует validateMenuItem:
(часть NSMenuValidation), панель инструментов вызывает тот метод для проверки и пункта меню переполнения и текста элемента панели инструментов в тексте Только Режим.