沙漠中的魚

          欲上天堂,先下地獄
          posts - 0, comments - 56, trackbacks - 0, articles - 119
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          RCP開發學習筆記

          Posted on 2009-11-25 15:57 沙漠中的魚 閱讀(422) 評論(0)  編輯  收藏 所屬分類: RCP開發

          Application.java 整個程序的入口點,在程序運行時,會選執行run方法,將創建用戶界面的工作交給ApplicationWorkbenchAdvisor類
          ApplicationWorkbenchAdvisor.java 指定默認的透視圖,把創建窗口的開作交給ApplicationWorkbenchWindowAdvisor類
          ApplicationWorkbenchWindowAdvisor.java,可能重載它的preWindowCreate,postWindowCreate,preWindowOpen,postWindowOpen等方法,以便修改窗口的外觀
          ApplicationActionBarAdvisor.java,可以創建菜單和工具條
          添加菜單
          添加菜單工具欄第一種方法
          makeActions創建action,注冊action;regsiter(action)是用來把實例注冊到工作臺中,當工作臺銷毀的時候,action也可以被銷毀
          action需要實現IWorkbenchAction接口
          fillMenuBar建菜單,工具條,設置相對應的action;
          添加菜單工具欄第二種方法
          在plugin.xml中添加配置
          <extension
           id ="cn.blogjava.youxia.actionset"
           name ="我的菜單擴展"
           point ="org.eclipse.ui.actionSets">
                  <actionSet
           description ="第一個擴展"
           id ="RCP_Start.actionSet1"
           label ="RCP_Start.actionSet1"
           visible ="true" >
           <action class ="cn.blogjava.youxia.actions.Action2"
            icon ="icons/alt_window_16.gif"
            id ="RCP_Start.action2"
            label ="第二個菜單項"
            menubarPath ="cn.blogjava.youxia.firstmenu/additions"
            style ="push"
            toolbarPath ="additions"
            tooltip ="第二個菜單項的按鈕" />
                 </actionSet>
          </extension>
          Action2必須要實現實現org.eclipse.ui.IWorkbenchWindowActionDelegate接口,多定義了一個方法public void selectionChanged(IAction action, ISelection selection),這個方法是必須的,以便工作臺窗口在用戶選定哪一項資源的時候通知我們的Action類的實例。這個方法是必須的,以便工作臺窗口在用戶選定哪一項資源時通知我們的action類的實例

          添加視圖
          在File->New->Other->Designer->RCP->ViewPart->Next
          Perspective類:這是RCP應用的默認視圖,實現了IPerspectiveFactory接口,并且通過org.eclipse.ui.perspectives擴展ClassName屬性指定
          在Perspective類中createInitialLayout方法中添加如下代碼
          layout.addView( BrowserView.ID,
          IPageLayout.TOP,
          IPageLayout.RATIO_MAX,
          IPageLayout.ID_EDITOR_AREA );
          在plugin.xml中添加如下節點
          <extension point="org.eclipse.ui.views">
              <view
                  class="helloworld_rcp.BrowView"
                  id="BrowView"
                  name="New ViewPart">
              </view>
          </extension>
          設置隱藏編輯面板
          layout.setEditorAreaVisible(false);

          Selection Service的整體架構
          注冊
          this.getSite().setSelectionProvider(viewer);
          viewer需要實現ISelectProvider接口
          監聽
          this.getSite().getPage().addSelectionListener(this);
          this.實現ISelectionListener接口

          主站蜘蛛池模板: 太和县| 铅山县| 屯留县| 周宁县| 同江市| 姚安县| 扶绥县| 巴林右旗| 灵台县| 信宜市| 噶尔县| 天津市| 六安市| 婺源县| 莱阳市| 尤溪县| 金寨县| 龙江县| 昔阳县| 阜城县| 伊宁市| 临洮县| 阳东县| 深圳市| 扶余县| 大港区| 麻栗坡县| 老河口市| 七台河市| 米泉市| 休宁县| 芦山县| 禄劝| 娄底市| 游戏| 中阳县| 调兵山市| 禹州市| 永福县| 中卫市| 金塔县|