Я пытаюсь создать простой пользовательский интерфейс в Pharo 3.0. В определенном месте мне нужен выбор цвета, поэтому я подумал об использовании ColorSelectorDialogWindow
.Система событий в pharo
Моя проблема в том, что я не уверен, как на самом деле получить цвет из него. Я видел, что у него есть сообщение selectedColor
, но я пропускаю способ фактически поймать событие, когда пользователь нажимает кнопку ok.
Я пробовал on: send: to:
, но, похоже, это не помогает, и в любом случае я не знаю название мероприятия. Я также видел, что на подтверждение, сообщение applyChanges
отправляется к себе, поэтому я попытался подклассов ColorSelectorDialogWindow
просто добавить
applyChanges
super applyChanges.
self triggerEvent: 'selectedColor' with: self selectedColor.
но мне кажется, что я не могу поймать мое собственное selectedColor
событие с помощью on: send: to:
.
Каков правильный способ подключения к диалоговому окну и, в общем, для отправки событий между компонентами?
Спасибо, это работает в основном прекрасный. Тем не менее, он улавливает момент, когда выбран цвет, а не когда он подтвержден. Есть ли шанс отреагировать на нажатие кнопки ОК? – Andrea
Кажется, я могу посмотреть объявление «WindowClosed», а затем проверить, отменено ли «окно объявления», истинно или ложно. Есть ли что-нибудь более прямое? – Andrea
См. Мой второй ответ для подхода без анонсов. – MartinW