Элементы панели инструментов set1 являются общими для обоих представлений, а элементы панели инструментов set2 должны отображаться только в представлении2 вместе с set1.
Я использую функцию вклада меню eclipse. Я создал два URI местоположения
toolbar:com.omg.views.Objects.custom --> которые имеют общие элементы
toolbar:com.omg.views.Objects.custom1 --> которые необходимы только для View2.
Я попробовал следующее:
Код: Выделить всё
CoolBar coolBar = new CoolBar(toolBarComposite, SWT.NONE);
GridData gridData1 = new GridData(GridData.FILL_BOTH);
coolBar.setLayoutData(gridData1);
CoolBarManager coolManager = new CoolBarManager(SWT.DEFAULT);
IMenuService menuService = (IMenuService)
PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getService(IMenuService.class);
manager = new ToolBarManager(SWT.FLAT);
menuService.populateContributionManager(manager,
"toolbar:com.omg.views.Objects.custom"); //$NON-NLS-1$
manager.createControl(coolBar);
manager.getControl().setLayoutData(new GridData(SWT.END, SWT.CENTER,
true, false));
manager1 = new ToolBarManager(SWT.FLAT);
menuService.populateContributionManager(manager1,
"toolbar:com.omg.views.Objects.custom1"); //$NON-NLS-1$
manager1.createControl(coolBar);
manager1.getControl().setLayoutData(new GridData(SWT.END,
SWT.CENTER, true, false));
coolManager.add(manager);
coolManager.add(manager1);
coolManager.createControl(toolBarComposite);
coolManager.getControl().setLayoutData(new GridData(SWT.END,
SWT.CENTER, true, false));
Подробнее здесь: https://stackoverflow.com/questions/360 ... ternatives