【问题标题】:Updating Eclipse context menu contributions on right click右键单击更新 Eclipse 上下文菜单贡献
【发布时间】:2012-06-27 08:50:45
【问题描述】:

在我的 Eclipse RCP 应用程序中,我在树形查看器中创建了一个上下文菜单,其中包含根据各种属性测试器的结果添加的一些贡献。这些属性测试器评估模型对象的属性,在打开上下文菜单时右键单击选择的模型对象。

在调试时,我注意到属性测试器仅在树查看器中的选择更改时执行,而不是在打开上下文菜单时右键单击时执行。右键单击时如何调用属性测试器?

我需要在右键单击时执行属性测试程序,因为某些操作会更改底层模型对象,因此应该会导致不同的上下文菜单。并且用户可能会执行这样的操作并在不更改选择的情况下立即打开上下文菜单。

【问题讨论】:

    标签: eclipse swt eclipse-rcp jface


    【解决方案1】:

    看看IEvaluationService.requestEvaluation(String propertyName)...它正是你所需要的。您可以像所有其他服务一样从网站获得评估服务:

    IEvaluationService es = (IEvaluationService)getSite().getService(IEvaluationService.class);
    

    【讨论】:

    • 我不确定在哪里以编程方式调用评估服务。上下文菜单是通过扩展点添加的,所以当上下文菜单打开时,不确定在哪里调用 ist。
    • 你应该在控制属性的数据模型发生变化的时候调用它...如果调用比较频繁也不要太担心:-)
    猜你喜欢
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2017-04-22
    相关资源
    最近更新 更多