Eclipse Luna: методы @CanExecute обработчиков не вызваны
У меня проблема с обработчиками команд в Eclipse Luna RCP.
В моей модели приложения E4 я определил некоторые команды и связанные обработчики, которые должны быть включены только при определенных обстоятельствах. По этой причине в моем POJO-обработчике я реализовал методы, аннотированные @CanExecute
где я проверяю необходимые условия.
Я также определил пункты меню и панели инструментов, связанные с этими командами.
Проблема в том, что мой @CanExecute
методы не вызываются должным образом, и, как следствие, элементы меню и панели инструментов не включаются / не отключаются соответственно.
В частности, для пунктов меню @CanExecute
методы запускаются только несколько раз при запуске приложения, но никогда после этого.
Для элементов панели инструментов вместо @CanExecute
методы вызываются только при изменении активного контекста (например, при изменении активной части или открытии новой оболочки).
В Кеплере поведение было совсем другим (и работало как положено):
- для пунктов меню
@CanExecute
методы вызывались каждый раз, когда отображалось меню - для элементов панели инструментов был таймер, который вызывал
@CanExecute
методы каждые 400 мс
Это известная ошибка в Луне? Знаете ли вы какой-нибудь возможный обходной путь для достижения ожидаемого поведения?
Спасибо!