В моем приложении RCP есть панель управления, отображаемая установкой configurer.setShowCoolBar(true)
в WorkbenchWindowAdvisor#preWindowOpen
. Но когда я вношу панель инструментов на главную панель инструментов, она никогда не появляется. Вот мой вклад Код:Eclipse RCP не может внести вклад в основную панель инструментов
<extension point="org.eclipse.ui.menus">
<menuContribution
allPopups="true"
locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar id="toolbar.perspectivesDynamic">
<dynamic
class="my.package.PerspectiveSwitcherToolbar"
id="perspectiveSwitcherToolbar">
</dynamic>
</toolbar>
</menuContribution>
</extension>
И ContributionItem
класса:
public class PerspectiveSwitcherToolbar extends ContributionItem {
...
@Override
public void fill(final ToolBar parent, int index) {
//Does not get called
}
@Override
public void fill(CoolBar parent, int index) {
//Does not get called
}
...
}
Я использую this code для добавления пользовательской перспективы переключателя. Это довольно старый, но я вижу примеры повсюду в Интернете, добавив панель инструментов, как это на главной панели инструментов, так что я что-то отсутствует elsewher, я полагаю,
Спасибо. Я применил его в обходном пути в ошибке. Он работает, за исключением того, что я не могу заставить панель инструментов показывать обновления. В методе заполнения WorkbecnWindowControlContribution я создаю панель инструментов для родителя, созданного в createControl. Я успешно заполняю панель инструментов, когда приложение загружается. Но позже, когда я хочу добавить элемент на панель инструментов, я вызываю fill, я вижу, что он добавляет элемент, но панель инструментов не показывает новый элемент, пока я не перезапущу приложение. Я попытался вызвать обновление и макет на панели инструментов и ее родителя. Также называется updateActionBars на Workbecnhindow. Как я могу обновить панель инструментов? – MidnightJava