RCP學習筆記(RCP Tutorial)
          在一個RCP中,我們將org.eclipse.core.runtime.applications擴展(extension)定義為工程中主程序的id,將org.eclipse.ui.perspectives擴展定義為工程中Perspective的id。

          RCP的最小Plugin集合為org.eclipse.core.runtime、org.eclipse.ui,所以我們肯定要將他們加到Dependencies Tab

          Plugin.xml用到的變量(如:%pluginName)在build.properties里定義,可以通過它實現國際化

          plugin.xml的大體結構:
          <?xml version="1.0" encoding="UTF-8"?>
          <?eclipse version="3.1"?>
          <plugin
           id="org.eclipse.ui.tutorials.rcp.part1"
           name
           version
           provider-name
           <runtime>
            <library name="yourproject.jar">
             <export name="*">
            </library>
           </runtime>
           <requires>
            <import plugin="org.eclipse.core.runtime"/>
            <import plugin="org.eclipse.ui"/>
           </requires>

           <extension
            id="RCPApplication"
            point="org.eclipse.core.runtime.applications">
            <application>
             <run
              class="your application path">
             </run>
            </application>
           </extension>
           <extension
            point="org.eclipse.ui.perspectives">
            <perspective
             name="Display Name"
             class=
             id="eclipse.ui.tutorials.rcp.part1.RCPPerspective">
            </perspective>
           </extension>
          </plugin>

          由于歷史原因,eclipse優先考慮plugin的id而不是最頂層元素(如extension)的,所以盡管plugin.xml聲明extension的id為RCPApplication,但這個extension的id還是org.eclipse.ui.tutorials.rcp.part1.RcpApplication。而perspective的id寫在了perspective這個子元素里(不是頂層id),所以他的id要寫成org.eclipse.ui.tutorials.rcp.part1.RCPPerspective,而不能像RCPApplication extension的id那樣縮寫。

          Main program:
          主程序入口由org.eclipse.core.runtime.applications extension指定,告訴Eclipse runtime生成一個它的實例。Main program要實現IPlatformRunnable接口,程序執行代碼放在run()里。


          一個Perspective(視角:由視圖、編輯器、導航器組成)
          至少要定義一個Perspective,實現IPerspectiveFactory,并將它賦值給org.eclipse.ui.perspectives extension。這個接口最主要的方法是createInitialLayout(),他負責管理程序start時views和editor的放置方式等。

          Workbench Advisor管理Workbench上的toolbar、perspectives等的添加和刪除(主要方法:getInitialWindowPerspectiveId()返回默認Perspective的id)

          文章最后提到怎么部署一個獨立的RCP程序,步驟比較煩,3.1M7以上版本可以參考PainFree RCP



          版權所有 羅明
          posted on 2005-06-24 09:25 羅明 閱讀(266) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          主站蜘蛛池模板: 宜黄县| 托里县| 陆河县| 嵊泗县| 通化县| 富顺县| 营口市| 鲁山县| 青海省| 太和县| 洪雅县| 台南市| 女性| 贵德县| 博乐市| 张北县| 车险| 元朗区| 内乡县| 建阳市| 清水河县| 东港市| 阜平县| 建始县| 鹰潭市| 枣强县| 安西县| 六枝特区| 铜梁县| 宜阳县| 于田县| 安阳市| 小金县| 留坝县| 信丰县| 大足县| 屏山县| 县级市| 庆阳市| 子洲县| 宜宾市|