天天看點

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添加幫助插件

繼續閱讀