Как получить события MOUSE_MOVE в отключенном элементе управления (чтобы разрешить всплывающие подсказки)?

На самом деле я хочу добавить другую всплывающую подсказку, если элемент управления отключен (например, чтобы сообщить пользователю, как его включить), но первым шагом является получение событий MOUSE_MOVE, когда элемент управления отключен, поскольку именно так ToolTipManager запускает всплывающую подсказку. процесс.

Теперь SkinnableComponent использует .mouseEnabled для отключения событий мыши при отключении. Я пытаюсь взломать его, чтобы он соблюдал явный .mouseEnabled, но также съедал (или отказывался от отправки) все события мыши, когда он отключен для обратной совместимости.

Любые идеи? комментарий?

ОБНОВЛЕНИЕ: я собираюсь попробовать использовать скин в качестве обертки. Скин будет UIComponent, содержащим обычный TextInput. Мне все равно придется потреблять события мыши, когда они отключены (для совместимости), но если я переопределю addEventListener() в хост-компоненте (не скин) и скопирую ссылки на любой слушатель для ToolTipManager, я могу передать ему события MOUSE_OVER и MOUSE_OUT.

Это позволяет мне избежать взлома UIComponent(this).enabled = value;, который меня очень беспокоил.


person Richard Haven    schedule 24.02.2013    source источник
comment
возможный дубликат Adobe Flex: всплывающая подсказка искрового компонента с включено=ложь   -  person JeffryHouser    schedule 24.02.2013
comment
Я проголосовал за то, чтобы закрыть как дубликат. Вопрос немного в другом; но я думаю, что вы найдете решение то же самое.   -  person JeffryHouser    schedule 24.02.2013
comment
Это еще ближе к вашему: stackoverflow.com/questions/2914149/   -  person JeffryHouser    schedule 24.02.2013
comment
Нет, я пытаюсь преодолеть этот (плохой?) дизайн. SkinnableComponent не должен использовать для этого mouseEnabled; он должен съесть события мыши, если захочет.   -  person Richard Haven    schedule 25.02.2013
comment
Я тоже не уверен, что вы говорите "нет". Ответы на два других вопроса не решают вашу проблему? Вся цель отключенного компонента заключается в том, что он не будет принимать ввод.   -  person JeffryHouser    schedule 25.02.2013
comment
Но отключенный элемент управления может генерировать события мыши; остановка событий мыши была произвольным дизайнерским решением.   -  person Richard Haven    schedule 25.02.2013
comment
Я не думаю, что это было произвольно; мне это кажется логичным. Например, я думаю, что изменение состояния мыши над отключенной кнопкой может запутать пользователей. Какие фреймворки/технологии вы использовали, когда отключенные элементы управления будут отправлять события мыши?   -  person JeffryHouser    schedule 25.02.2013
comment
Я согласен с состоянием мыши, но запуск сообщений — это другое. Информирование подписчиков о положении мыши полезно. Если пользователь нажимает отключенную кнопку, я предпочитаю явно сообщать ему, почему кнопка отключена и как они могут ее включить, а не оставлять их разочарованными и сбитыми с толку. Сейчас слишком поздно менять фреймворк Flex: слишком много кода сломается. Я хочу, чтобы компонент получал события, чтобы disabledToolTip мог работать, но затем съедал их, чтобы ни один слушатель не получил неожиданное событие.   -  person Richard Haven    schedule 27.02.2013