【问题标题】:Make menu entry visible depending on visibility of view in Eclipse plugin?根据 Eclipse 插件中视图的可见性使菜单条目可见?
【发布时间】:2016-01-22 00:44:30
【问题描述】:

我想实现以下几点:

在我的 Eclipse 插件中,我有一个菜单项(通过向 plugin.xml 和处理程序类添加命令来实现)。按下该条目会触发一些操作,这些操作取决于视图中显示的数据(也由插件提供)。

现在,如果视图关闭,则无法执行操作。因此,我认为当视图不可见时禁用菜单条目将是一种很好的风格。

我找到了this article,它描述了如何禁用/启用菜单,但我不知道如何将它与视图的可见性结合起来。

有人可以帮忙吗?

编辑:我以不同的方式解决了我的问题。但是 greg 的回答通常应该可以解决这个问题,正如官方 eclipse 文档中所述: http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fworkbench_cmd_expressions.htm

【问题讨论】:

    标签: java eclipse eclipse-plugin


    【解决方案1】:

    使用

    <with variable="activePartId">
        <equals value="part id"/>
    </with>
    

    在“enabledWhen”、“activeWhen”或“visibleWhen”表达式中(取决于您使用表达式的确切位置)。

    例如选择“项目资源管理器”何时处于活动状态:

    <with variable="activePartId">
        <equals value="org.eclipse.ui.navigator.ProjectExplorer"/>
    </with>
    

    【讨论】:

    • 遗憾的是,这对我不起作用。我必须保留 activePartId 并且我必须将 value="" 替换为我希望菜单条目的状态所依赖的视图的 id 是对的吗?我是这么理解的。 enabledWhen 和 activeWhen 导致条目处于活动状态,无论我想要依赖的视图发生什么,并且使用 visibleWhen 导致条目 not 无论如何都不会显示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多