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