隨筆 - 59, 文章 - 4, 評論 - 184, 引用 - 7
          數據加載中……

          一個SWT Application如何轉職成為RCP Appliactioin

          昨天david問到如何將舊的swt應用轉成一個RCP應用,昨晚胃疼難忍,于是草草說了一下,就早早上床休息了,早上起來又想起這件事情,遂在這里說一下思路
          下面說一下我的思路
          (注:以下觀點未經證實,請自行斟酌使用)

          一個舊的SWT應用,應該都是有一個main函數里初始化一些UI組件,然后run一個事件循環

          在RCP中,由于是基于Eclipse的插件體系,也就是說,使用我前面那篇文章發布的RCP Application,是可以直接發布成Eclipse插件的
          所以,對于UI組件的控制也要遵循Eclipse的插件體系的代碼要求,看看Hello RCP模板中的幾個類:ApplicationActionBarAdvisor、ApplicationWorkbenchAdvisor、ApplicationWorkbenchWindowAdvisor以及RCPPlugin,想起了什么?對,OSGI

          我們只要將原swt的main函數中初始化的ui組件,放入到這幾個Advisor中進行初始化

          將下拉菜單項的ui組件的初始化工作放入到ApplicationActionBarAdvisor的如下方法:

              protected void makeActions(IWorkbenchWindow window) {
              }



              
          protected void fillMenuBar(IMenuManager menuBar) {
              }


          將其他UI組件初始化工作放入到ApplicationWorkbenchWindowAdvisor的如下方法:

              public void preWindowOpen() {

                  IWorkbenchWindowConfigurer configurer 
          = getWindowConfigurer();

                  configurer.setInitialSize(
          new Point(400300));

                  configurer.setShowCoolBar(
          false);

                  configurer.setShowStatusLine(
          false);

                  configurer.setTitle(
          "Hello RCP");

              }


          至于ApplicationWorkbenchAdvisor這個類,我想你一定想起了Eclipse中的Workbench概念
          在這里,可以定義當這個RCP作為plugin的時候的Worbench的透視圖的一些屬性。

          -----------------------------------

          最后,基于Eclipse3.1的product方式的RCP程序將獲得同Eclipse相同的插件體系支持
          也就是說:你的應用本身就是基于Eclipse Platform的,這樣,你的程序也可以接受插件插入了(如果你設計的好的話^_^)
          另外,還有其他很多好處,比如在線升級功能的自動綁定啊,幫助功能的使用啊等等
          想一想,你的程序將既能作為單獨的程序運行,又能作為Eclipse的插件運行,而且還跨平臺,think about it...
          So....try it now, you will get more

          posted on 2006-01-17 11:02 fisher 閱讀(1748) 評論(0)  編輯  收藏 所屬分類: Eclipse Tech

          主站蜘蛛池模板: 九龙县| 多伦县| 达尔| 大兴区| 靖西县| 山阳县| 三穗县| 且末县| 称多县| 河西区| 莎车县| 禹州市| 延津县| 嵊州市| 乌鲁木齐县| 辉县市| 平乡县| 察雅县| 乾安县| 崇左市| 襄垣县| 田东县| 富川| 福鼎市| 孟连| 沙田区| 棋牌| 天镇县| 闽清县| 兰溪市| 昌乐县| 金溪县| 濮阳市| 吉水县| 南陵县| 芜湖市| 马公市| 罗甸县| 赣榆县| 府谷县| 阳西县|