Java 以编程方式向eclipse中的下拉按钮添加选项
在eclipse中,我为主按钮工具栏中的按钮定义了命令。我有一个命令/按钮,它被设置为一个下拉按钮,我想通过编程向它添加选项。有点像在eclipse中点击play按钮上的小下拉按钮,可以看到不同的运行场景。我想能够添加这样的选项到我的下拉菜单。我不能通过插件编辑器来完成,因为我需要动态生成菜单选项 假设我在plugin.xml文件中定义了以下下拉按钮。如何以编程方式向下拉列表添加选项Java 以编程方式向eclipse中的下拉按钮添加选项,java,eclipse,eclipse-plugin,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,在eclipse中,我为主按钮工具栏中的按钮定义了命令。我有一个命令/按钮,它被设置为一个下拉按钮,我想通过编程向它添加选项。有点像在eclipse中点击play按钮上的小下拉按钮,可以看到不同的运行场景。我想能够添加这样的选项到我的下拉菜单。我不能通过插件编辑器来完成,因为我需要动态生成菜单选项 假设我在plugin.xml文件中定义了以下下拉按钮。如何以编程方式向下拉列表添加选项 <menuContribution allPopups="false"
<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>
请查找以下代码
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
....
}
}
并调用该方法
addContextMenu(fac);
TODO:根据需要在SampleContributionFactory中添加命令贡献项。eclipse文档中有关于此的教程吗?他们似乎很好地记录了所有可以声明式完成的事情,但是当需要对框架采用动态/编程方法时,我永远找不到正确的信息。您的解决方案非常有效,但是在深入研究并尝试了API文档中的许多内容之后,直到您出现,我才发现它的用途。一些可能对您有所帮助的链接是:和。但是你是对的,有些东西很难找到文档。唯一的方法就是挖掘eclipse源代码本身。:-)可能也有帮助
addContextMenu(fac);