在eclipse中,我为他们拥有的主按钮工具栏中的按钮定义了命令。我有一个命令/按钮,设置为下拉按钮,我想以编程方式添加选项。有点像你可以点击eclipse中播放按钮上的小下拉按钮,看看不同的运行场景。我希望能够在我的下拉菜单中添加这样的选项。我不能通过插件编辑器来完成,因为我需要动态生成菜单选项。
所以说我在plugin.xml文件中定义了以下下拉按钮。如何以编程方式向下拉菜单添加选项?
<menuContribution
allPopups="false"
locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar
id="com.company.gui.base.toolBarMain">
<command
commandId="com.company.gui.base.command1"
icon="icons/magnifier.png"
id="com.company.gui.base.toolBarMain.monitor"
label="Im a pulldown menu"
style="pulldown">
</command>
</toolbar>
</menuContribution>
答案 0 :(得分:6)
请找到以下代码。
private void addContextMenu(SampleContributionFactory fac) {
final IMenuService menuService = (IMenuService) PlatformUI.getWorkbench().getService (IMenuService.class);
menuService.addContributionFactory(fac);
}
class SampleContributionFactory extends AbstractContributionFactory{
SampleContributionFactory(final String menuID) {
super("menu:" + menuID, null);
}
@Override
public void createContributionItems(IServiceLocator serviceLocator,
IContributionRoot additions) {
// add Command Contribution item
additions.addContributionItem(<YOUR CONTRIBUTION ITEM>, null);
// add one more Command Contribution item
....
}
}
现在创建一个SampleContributionFactory对象,如下所示。
SampleContributionFactory fac = new SampleContributionFactory ("com.company.gui.base.toolBarMain.monitor");
并调用方法
addContextMenu(fac);
TODO:根据您的要求在SampleContributionFactory中添加命令贡献项。