Вставка кнопки Action из AbstractPropertySection - PullRequest
0 голосов
/ 22 марта 2011

У меня есть вкладка propertiesContributor (и несколько propertySections, чтобы идти с ним), используя org.eclipse.ui.views.properties.tabbed.propertySections точка расширения

Я хотел бы поместить кнопку действия обновления для конкретной вкладки в панель действий и не могу понять, как это должно быть сделано. Есть очень заманчивый метод ..

TabbedPropertySheetPage.setActionBars( ... )

... доступно в 'createControls ()', но я не могу понять, как это использовать.

Может кто-нибудь подсказать мне какой-нибудь рабочий пример кода о том, как этого добиться?

Ваши подсказки и приветствия приветствуются.

М.

Ответы [ 2 ]

0 голосов
/ 30 марта 2011

Решением было использование экземпляра org.eclipse.ui.SubActionBars и добавление к нему действий, специфичных для вкладок, например ...

@Override
public void createControls(Composite parent, final TabbedPropertySheetPage aTabbedPropertySheetPage)
{
    ...

    makeActions();
    subActionBars = new SubActionBars( tabbedPropertySheetPage.getSite().getActionBars() );
    subActionBars.getToolBarManager().add( refreshAction );
    subActionBars.getMenuManager().add( refreshAction );
}

.., затем переопределение aboutToBeShown () иaboutToBeHidden () вот так ...

@Override
public void aboutToBeShown()
{
    super.aboutToBeShown();
    subActionBars.activate();
    subActionBars.updateActionBars();
}

@Override
public void aboutToBeHidden()
{
    super.aboutToBeHidden();
    subActionBars.deactivate();
    subActionBars.updateActionBars();
}
0 голосов
/ 23 марта 2011

Я не думаю, что есть способ добавить действие, специфичное для Tab, на панель действий представления. Возможно, вам придется добавить действие только в раздел этой вкладки.

...