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