RCP开发小技巧(二)

定制Console View的ToolBar:
去掉RCP Console View 中的Open Console和Select Console按钮。

    WorkbenchPage page = PlatformUI.getWorkbench().getWorkbenchWindows()[0].getPages()[0];
    IViewPart viewpart = page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
    IActionBars actionBar = viewpart.getViewSite().getActionBars();
    IToolBarManager toolbarMgr = actionBar.getToolBarManager();
    IContributionItem[] items = toolbarMgr.getItems();
    for (IContributionItem item : items) {
        if (item instanceof ActionContributionItem) {
            IAction action = ((ActionContributionItem) item).getAction();
            String text = action.getText();
            if (text.equals("Open Console") || text.equals("Select Console")) {
                toolbarMgr.remove(item);
            }
        }
    }
    actionBar.updateActionBars();

 

如果不需要toobar中的任何东西,可以直接

  1. toolbarMgr.removeAll(); 

可以看到现在的rcp上有很多menubar,这些是我们所不需要的,可以通过在代码中添加下列代码来简化menubar

IWorkbenchPage page = PlatformUI.getWorkbench().getWorkbenchWindows()[0]
                    .getPages()[0];
IViewPart viewpart = page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
 // IActionBars actionBar = viewpart.getViewSite().getActionBars();
IToolBarManager toolbarMgr = viewpart.getViewSite().getActionBars()
                    .getToolBarManager();
// IToolBarManager toolbarMgr = actionBar.getToolBarManager();
IContributionItem[] items = toolbarMgr.getItems();
for (IContributionItem item : items) {
    if (item instanceof ActionContributionItem) {
       IAction action = ((ActionContributionItem) item).getAction();
        String text = action.getText();
        if (text.equals("Open Console")|| text.equals("Select Console")) {
            toolbarMgr.remove(item);
        }
    }
}
viewpart.getViewSite().getActionBars().updateActionBars();

 

posted @ 2016-08-06 11:07  redaijufeng  阅读(251)  评论(0)    收藏  举报