【发布时间】:2012-01-26 01:36:13
【问题描述】:
我有一个 RCP 应用程序,我想在执行某些操作时禁用/启用工具栏的某些元素。我的分机:
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar id="vendor.toolbar1h">
<command commandId="vendor.commands.MyCommand"
icon="icon.png"
id="MyButtonID1"
style="toggle">
</command>
</toolbar>
</menuContribution>
</extension>
我尝试用这段代码列举所有工具栏的贡献,但它不起作用,它只显示视图的贡献。
IViewReference[] refs = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage().getViewReferences();
for (IViewReference ref : refs) {
System.err.println("ID: "+ref.getId());
IViewPart viewPart = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage().findView(ref.getId());
IActionBars bars = viewPart.getViewSite().getActionBars();
if (bars != null) {
IToolBarManager tbm = bars.getToolBarManager();
if (tbm != null) {
IContributionItem[] items = tbm.getItems();
for (IContributionItem item : items)
System.err.println("\t" + item);
}
}
}
存在获取主操作栏的方法吗?
【问题讨论】:
标签: eclipse eclipse-rcp