群里有网友问到。刚好以前做过。
以为RCP的工具栏贡献锁定和隐藏右键为例吧。直接贴代码了。搞插件的,看代码就能明白吧?改写一下ActionBarAdvisor实现类的fillCoolBar方法。
protected void fillCoolBar(ICoolBarManager coolBar) {
IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
coolBar.add(new ToolBarContributionItem(toolbar, "main"));
toolbar.add(openViewAction);
toolbar.add(messagePopupAction);
//为工具栏添置右键菜单
MenuManager coolBarContextMenuManager = new MenuManager("context","com.jfans.ui.CoolBarContextMenu");
coolBar.setContextMenuManager(coolBarContextMenuManager);
//lock toolbar
IAction lockToolbarAction = getAction(ActionFactory.LOCK_TOOL_BAR.getId());
lockToolbarAction.setText("Lock Toolbar");
coolBarContextMenuManager.add(lockToolbarAction);
/* hide Toolbar*/
coolBarContextMenuManager.add(new Action("Hide Toolbar") {
@Override
public void run() {
ApplicationWorkbenchWindowAdvisor configurer = ApplicationWorkbenchAdvisor.primaryApplicationWorkbenchWindowAdvisor;
configurer.setToolBarVisible(false,true);
}
});
}