Scout Eclipse扩展了Menu

时间:2015-09-21 07:44:07

标签: menu extends eclipse-scout

我有一个核心项目和一些扩展核心的项目。 我知道如何扩展大纲以及如何将页面添加到扩展轮廓,但我的问题是菜单。

我想在扩展项目上扩展菜单。

我在网上找到了一些例子,我认为我理解,但这不适合我。

我拥有的是:

public class JobRunnerMenu extends AbstractExtensibleMenu {

  @Override
  protected String getConfiguredText() {

    return TEXTS.get("Job");
  }

  @Override
  protected void execAction() throws ProcessingException {

    // TODO  Auto-generated method stub.
    super.execAction();
  }

  @Override
  protected void execToggleAction(final boolean selected) throws ProcessingException {

    // TODO  Auto-generated method stub.
    super.execToggleAction(selected);
  }
}

在plugin.xml里面

和我的JobRunnerMenu看起来像:

TableView {
    id: table
    ...

    TableViewColumn {           
        width: 575
        delegate: Text { text: model.name + " "  + model.surname }
    }       
    TableViewColumn {
        role: "phone"
        width: 575
    }
    TableViewColumn {
        role: "ip_address"
        width: 525
    }
    model: abonents
}

我错过了什么?为什么这不起作用?

3 个答案:

答案 0 :(得分:1)

相关论坛帖子:Multi Modul - Menu Extension

我刚测试了这种模式,它按预期工作。

以下是我的plugin.xml(在客户端扩展程序中)的内容:

<extension
    point="org.eclipse.scout.rt.extension.client.menus">
 <menuContribution
       active="true"
       class="myapp.extension.client.menu.MyMenu"
       order="22">
    <desktop
          class="myapp.client.ui.desktop.Desktop">
    </desktop>
 </menuContribution>
</extension>

由于“menuContribution”将“桌面”定义为容器,因此您将添加的菜单将提供给桌面。通常这些菜单是顶级菜单,包含子菜单。

public class MyMenu extends AbstractExtensibleMenu {

  @Override
  protected String getConfiguredText() {
    return "My Menu";
  }

  public class MessageBoxTestMenu extends AbstractExtensibleMenu {

    @Override
    protected String getConfiguredText() {
      return "Test MessageBox";
    }

    @Override
    protected void execAction() throws ProcessingException {
      MessageBox.showOkMessage(null, "This is a test", null);
    }
  }
}

结果:

Sceenshot

  • XML中的绝对类名是否正确?
  • 您的扩展程序是否已正确启动?

答案 1 :(得分:0)

使您的桌面扩展基类AbstractExtensibleDesktop。常规AbstractDesktop类不会加载扩展名。

如果是这种情况,AbstractExtensibleDesktop#AbstractExtensibleDesktop的断点应该为调试提供一个很好的起点。

答案 2 :(得分:0)

我很抱歉误导这个问题。

上面的代码工作,我的问题是,我没有在产品文件中添加客户端。这导致客户端无法使用,因此无法添加扩展名。

无论如何,谢谢你的回答,是的,绝对需要AbstractExtensibleDesktop。