当前位置: 首页 > 面试题库 >

Eclipse e4 RCP:核心表达式-少一些XML?

娄弘
2023-03-14
问题内容

我正在使用E4
RCP应用程序,并且有一个上下文菜单,其中的菜单项是否可见取决于选择。我发现这样做的方法是使用plugin.xml中定义的核心表达式,如下所示:

<extension
     point="org.eclipse.core.expressions.definitions">
     <definition
        id="com.foo.bar.test.core.expression">
      <with variable="org.eclipse.ui.selection">
        <iterate ifEmpty="false">
            <or>
          <instanceof value="com.foo.bar.Class1">
          </instanceof>
          <instanceof value="com.foo.bar.Class2">
          </instanceof>
            </or>
        </iterate>
      </with>
  </definition>

这可以工作,并且如果所选项目是Class1或Class2的实例,则显示菜单项。

这一切似乎都是一种极其讨厌的做事方式!当其中许多添加时,它将成为维护和调试的噩梦。

任何人都可以演示一种不太像XML的方式吗?Java中的纯编程方法会很棒!


问题答案:

例如,核心表达式不适用于工具栏项目。您可以在命令处理程序中使用以下变通办法:

public class SomeHandler {
    protected MToolItem toolItem;

    @CanExecute
    @Inject
    public boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION) @Optional ISelection selection)
    {
        boolean canExecute = ...
        setToolItemVisible(canExecute);
        ...
    }

    private void setToolItemVisible(final boolean visible) {
        if (toolItem != null) {
            Display.getDefault().asyncExec(new Runnable() {
                @Override
                public void run() {
                    toolItem.setVisible(visible);
                }
            });
        }
    }
}

toolItemEModelService 在哪里检索



 类似资料:
  • 问题内容: 下面我正在创建表。 当我尝试更新数据库表时,这是下面的UPSERT_SQL查询,我总是在 获取java.sql.SQLException:ORA-00936:缺少表达式 。我检查了我的SQL,找不到找不到表达式的地方。下面的SQL有问题吗? 从下面开始,我执行该UPSERT_SQL语句。 问题答案: 是的,SQL有点问题,这是您在 FROM dual 之前写了一个逗号。这导致Oracl

  • 问题内容: 我有这个查询 引发ORA-00936缺少表达式的allow查询有什么问题?任何人?任何帮助将不胜感激…在第一个顺序的开头处,列:80处引发错误: 问题答案: 您的查询可以大大简化。它具有诸如子查询的额外层和在子查询中不必要的东西。您想做什么就可以:

  • 我正在尝试导入谷歌的ZXing。 我从下载了最新版本https://code.google.com/p/zxing/downloads/detail?name=ZXing-2.2.拉链 从cmd提示符中,我导航到下载的zstar的根目录并尝试执行 ant-f核心\构建。xml 问题: 构建文件:构建。xml不存在! 生成失败 我的zxing-2.2/core文件包含: src公司 测验 pom.x

  • 问题内容: 我收到以下查询的ORA:00936错误。请让我知道查询中的问题 问题答案: SELECT convert(DATE,r.created_dt)作为created_dt 问题在于错误使用了 CONVERT 函数。请参阅文档。 我猜您正在尝试转换数据类型,可以使用 TO_DATE 将字符串转换为日期。或者, TO_CHAR 反之亦然。

  • 本文向大家介绍Dubbo 核心的配置有哪些?相关面试题,主要包含被问及Dubbo 核心的配置有哪些?时的应答技巧和注意事项,需要的朋友参考一下 我曾经面试就遇到过面试官让你写这些配置,我也是蒙逼。。 配置之间的关系见下图。        

  • .NET核心和ASP.NET核心到底有什么区别?