我有一个核心项目和一些扩展核心的项目。 我知道如何扩展大纲以及如何将页面添加到扩展轮廓,但我的问题是菜单。
我想在扩展项目上扩展菜单。
我在网上找到了一些例子,我认为我理解,但这不适合我。
我拥有的是:
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
}
我错过了什么?为什么这不起作用?
答案 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);
}
}
}
结果:
答案 1 :(得分:0)
使您的桌面扩展基类AbstractExtensibleDesktop。常规AbstractDesktop
类不会加载扩展名。
如果是这种情况,AbstractExtensibleDesktop#AbstractExtensibleDesktop的断点应该为调试提供一个很好的起点。
答案 2 :(得分:0)
我很抱歉误导这个问题。
上面的代码工作,我的问题是,我没有在产品文件中添加客户端。这导致客户端无法使用,因此无法添加扩展名。
无论如何,谢谢你的回答,是的,绝对需要AbstractExtensibleDesktop。