Eclipse Luna: методы @CanExecute обработчиков не вызваны из-за неправильного контекста
Я обновил свое приложение RCP Eclipse с Juno на Luna. Это заставило мою панель инструментов приложения быть постоянно отключенной.
Я нашел решение в этой теме: Eclipse Luna: не вызваны методы @CanExecute обработчиков (решение: создать событие вручную). Но, увы, лекарство не сработало:-(.
Я углубился в отладчик, чтобы найти основную причину сбоя. Я обнаружил, что в HandlerServiceHandler.class метод setEnabled(ObjectvaluationContext) завершается ошибкой. Это связано с извлечением неправильного контекста выполнения из контекста оценки.
Я более подробно расскажу: что происходит после того, как я выполню выбор в проводнике проекта, я отправляю свое событие. SetEnabled (ObjectvaluationContext) ищет обработчик соответствующей команды, которая связана с моим элементом панели инструментов. Однако он ищет обработчик в * контексте выполнения * проводника проекта. Обработчик не в этом контексте, поэтому метод не работает!!
Любые идеи о том, как решить эту проблему. Я не очень понимаю, как я могу хорошо контролировать свои контексты.
Спасибо!!!!!