关于我的XML多页面编辑器的另一个问题。可以通过MultiPageEditorActionBarContributor
为eclipse的工具栏做出贡献,确切地说是通过覆盖contributeToToolBar(IToolBarManager manager)
方法并使用传递的管理器。在这种情况下,贡献按钮可以从编辑器的所有页面中看到。
@Override
public void contributeToToolBar(IToolBarManager manager)
{
manager.add(new Separator());
manager.add(updateTabsAction);
}
如果选择了特定页面,是否可以使某些按钮可见?
答案 0 :(得分:0)
这个很容易解决。我没有覆盖contributeToToolBar
,而是向setActivePage
添加了一些代码,并从那里使用了ToolBarManager
:
@Override
public void setActivePage(IEditorPart part)
{
// ...skipped...
IActionBars actionBars = getActionBars();
if (actionBars != null)
{
// ...skipped...
IToolBarManager toolBarManager = actionBars.getToolBarManager();
if (part instanceof StructuredTextEditor)
{
toolBarManager.add(separator);
toolBarManager.add(updateTabsAction);
}
else
{
toolBarManager.removeAll();
}
toolBarManager.update(true); //This is important. Otherwise the
//changes aren't applied to the toolbar.
actionBars.updateActionBars();
}
}