В моем приложении есть панель настроек, в которой у меня есть NSColorWell
для установки некоторого цвета фона и кнопка, которая открывает NSFontPanel
для выбора шрифта.
Я хочу иметь следующее поведение:
Когда я нажимаю NSColorWell
, затем перетаскиваю какой-нибудь цвет на панели, я хочу, чтобы он изменил цвет фона в моей области «предварительного просмотра» как Я тащу.
Когда я нажимаю кнопку «Изменить шрифт ...», я показываю свой NSFontPanel
, и когда я выбираю шрифт, он также должен измениться в области «предварительного просмотра». Скажем, я нажимаю color кнопку NSFontPanel
, я хочу изменить цвет моего шрифта .
По сути, я пытаюсь заставить обе цветовые панели (хотя из того, что я видел, на самом деле только одна общая панель на приложение) работать независимо друг от друга.
Прямо сейчас, скажем, у меня открыты панели шрифтов и цветов. Когда я щелкаю по цвету в моем окне, оно активируется, затем, если я нажимаю на цветную кнопку на панели шрифтов, цвет влияет не на шрифт, а на фон, так как цвет остается активным и потому что я зарегистрировался для изменения цвета уведомления в моем классе контроллера.
Может ли кто-нибудь дать мне пример конкретного способа кодирования такого рода поведения? Похоже, существует множество различных способов заставить NSFontPanel
и NSColorPanel
отображаться (NSFontPanel
или NSFontManager
?), А также много способов обработки событий, исходящих от самих панелей (уведомления? Делегаты). (на NSFontManager
или NSFontPanel
) «вставка контроллера в цепочку респондента»). Я не нашел никаких рекомендаций относительно идеального способа обработки более чем одного источника цвета одновременно, и я немного растерялся.
Заранее спасибо!