У меня есть приложение 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);
}
}
}
Существует ли способ получить главную панель действий?