天天看点

RCP添加帮助插件

RCP,SWT,插件开发【qq群】336280109

插件开发的基础---ppt:http://wenku.baidu.com/view/aa68db1d5f0e7cd184253686?fr=prin

开发基于Eclipse开的RCP软件可以直接加入Eclipse的帮助系统,使您的产品更加完善。Eclipse帮助系统提供的良好组织模式以及基于lucene的全文搜索功能。在Eclipse的网站上有一篇文章专门介绍如何为Mail示例RCP添加帮助系统的,但是写的不完全,按照里面的说明添加后无法正常地显示帮助框架。网上有少部分文章也提及这个主题,但是都没有说明白。

    经过一翻摸索,最后终于折腾出来,在这里记录下面,与大家分享。如果你做过RCP产品,下面这些内容应该很熟悉。

    1. 添加帮助的菜单。

       在ApplicationActionBarAdvisor类中加入帮助菜单项。代码片断如下:

// 帮助

     private  IWorkbenchAction helpAction;

     protected   void  makeActions(IWorkbenchWindow window) {

        ....

        .....

        helpAction  =  ActionFactory.HELP_CONTENTS.create(window);

        register(helpAction);

        .....

     }

     protected   void  fillMenuBar(IMenuManager menuBar) {

        IMenuManager mainMenu  =  getActionBarConfigurer().getMenuManager();

        MenuManager helpMenu  =   new  MenuManager( " 帮助(&H) " , IWorkbenchActionConstants.M_HELP);

        helpMenu.add(introAction);

        helpMenu.add(helpAction);

        ....

        mainMenu.add(helpMenu);

    }    2.  添加相关的依赖项。

       打开plugin.xml,转到"依赖项"的tab页,点击"添加"按钮,需要加入下面的这些依赖项: 1. org.apache.lucene

2. org.eclipse.help.appserver

3. org.eclipse.help.base

4. org.eclipse.help.ui

5. org.eclipse.help.webapp

6. org.eclipse.tomcat

7.org.eclipse.ui.forms

    3. 添加org.eclipse.help.toc扩展点

       这个非常容易,转到"扩展"tab页,点击“添加”按钮。网上或是相关的书籍有很多关于添加help内容的介绍,为了节省篇幅,这里直接添加一个扩展向导来完成。选择"扩展向导"-->"帮助内容",确定后可以看到“所有扩展”的列表中多了一个org.eclipse.help.toc扩展,这里可能需要修改一下,生成的toc.xml和testToc.xml里面的label属性标签不能是乱码,不然帮助框架会读不出,到时候显示不出帮助的组织结构。

       结构如下:

< extension

          point ="org.eclipse.help.toc" >

       < toc  file ="toc.xml" />

       < toc

             file ="testToc.xml"

            primary ="true" />

    </ extension >    

    4. 部署产品配置

       为您的RCP添加一个产品配置,打开产品配置编辑器(xxx.product),转到"配置"tab页,点击“添加”,加入你的插件,然后点击“添加必需的插件”,这样在“插件和段”列表会看到你的插件以及你的RCP要完整启动的所有必需相关插件。在这里你应该看到你在plugin.xml中依赖的那七个help相关的插件,以及一些以nl1结尾的插件,这些是语言插件。保存,转到“概述”tab页,点击"启动产品"。然后打开“帮助--> 帮助内容”,就可能看到你的帮助系统了。

    到此一个完整的帮助系统就完成了。下面是一个截图:

RCP添加帮助插件

继续阅读