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)  編輯  收藏

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


          網站導航:
           
           
          主站蜘蛛池模板: 武川县| 澳门| 利川市| 中宁县| 磐安县| 安塞县| 霍邱县| 福鼎市| 大方县| 红桥区| 广西| 方山县| 高淳县| 齐齐哈尔市| 东乡县| 南漳县| 漳州市| 周口市| 新安县| 济阳县| 辽宁省| 积石山| 天柱县| 项城市| 苏尼特左旗| 汾西县| 屏边| 内乡县| 玉田县| 萍乡市| 梁河县| 临漳县| 开化县| 紫金县| 平谷区| 庄河市| 林西县| 闵行区| 金湖县| 靖江市| 吴江市|