首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

RCP系统的菜单效能的使用

2012-10-08 
RCP系统的菜单功能的使用在项目RCP 应用程序中添加系统菜单的在ApplicationActionBarAdvisor 中创建相关的

RCP系统的菜单功能的使用

              在项目RCP 应用程序中添加系统菜单的在ApplicationActionBarAdvisor 中创建相关的Action,并注册之后使用。RCP系统提供的reflesh,save的功能均在ActionFactory类中使用时调用。如果想重新启动:采用以下代码: PlatformUI.getWorkbench().restart(); 看下面的源代码如下:package com.unutrip.plugin.dev;import org.eclipse.jface.action.Action;import org.eclipse.jface.action.GroupMarker;import org.eclipse.jface.action.ICoolBarManager;import org.eclipse.jface.action.IMenuManager;import org.eclipse.jface.action.IToolBarManager;import org.eclipse.jface.action.MenuManager;import org.eclipse.jface.action.Separator;import org.eclipse.jface.action.ToolBarContributionItem;import org.eclipse.jface.action.ToolBarManager;import org.eclipse.swt.SWT;import org.eclipse.ui.IWorkbenchActionConstants;import org.eclipse.ui.IWorkbenchWindow;import org.eclipse.ui.actions.ActionFactory;import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;import org.eclipse.ui.application.ActionBarAdvisor;import org.eclipse.ui.application.IActionBarConfigurer;/** *  * @author longgangbai * */public class ApplicationActionBarAdvisor extends ActionBarAdvisor {    // Actions - important to allocate these only in makeActions, and then use them    // in the fill methods.  This ensures that the actions aren't recreated    // when fillActionBars is called with FILL_PROXY.    private IWorkbenchAction exitAction;    private IWorkbenchAction aboutAction;    private IWorkbenchAction newWindowAction;    private OpenViewAction openViewAction;    private Action messagePopupAction;        public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {        super(configurer);    }    //如果是继承自Jface 中Action的Action类,不需要注册飞,否则出现错误    protected void makeActions(final IWorkbenchWindow window) {        // Creates the actions and registers them.        // Registering is needed to ensure that key bindings work.        // The corresponding commands keybindings are defined in the plugin.xml file.        // Registering also provides automatic disposal of the actions when        // the window is closed.        exitAction = ActionFactory.QUIT.create(window);        register(exitAction);                aboutAction = ActionFactory.ABOUT.create(window);        register(aboutAction);                newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);        register(newWindowAction);                openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);        register(openViewAction);                messagePopupAction = new MessagePopupAction("Open Message", window);        register(messagePopupAction);    }        protected void fillMenuBar(IMenuManager menuBar) {
       //MenuManger 必须绑定到一个菜单上        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);                menuBar.add(fileMenu);        // Add a group marker indicating where action set menus will appear.        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));        menuBar.add(helpMenu);                // File        fileMenu.add(newWindowAction);        fileMenu.add(new Separator());        fileMenu.add(messagePopupAction);        fileMenu.add(openViewAction);        fileMenu.add(new Separator());        fileMenu.add(exitAction);                // Help        helpMenu.add(aboutAction);    }        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);    }}

热点排行