如何强制Eclipse重新评估所有处理程序的activeWhen条件?
情况: 我在TreeViewer上定义了一个命令。此命令具有多个可能的处理程序。处理程序已定义了一些条件来决定是否激活处理程序。
我的问题是,在我取消选择树中的项目(例如选择另一个项目)并再次选择它之前,不会重新评估处理程序条件。
如果选择没有改变但是提升条件没有改变(例如由于元素的更新),将执行错误的处理程序。
有没有办法手动强制Handler重新评估选择?
答案 0 :(得分:1)
如果您的条件使用属性测试人员检查树查看器选择中的状态,则需要通知IEvaluationService相关属性已更改。见org.eclipse.ui.services.IEvaluationService.requestEvaluation(String)