沙漠中的魚

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

          RCP開發學習筆記

          Posted on 2009-11-25 15:57 沙漠中的魚 閱讀(428) 評論(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接口

          主站蜘蛛池模板: 平阳县| 昌黎县| 衢州市| 宝坻区| 罗城| 平陆县| 尼勒克县| 海城市| 株洲县| 连云港市| 伊吾县| 高平市| 芷江| 谢通门县| 庆阳市| 平武县| 曲靖市| 平远县| 洛宁县| 武川县| 美姑县| 枣阳市| 安吉县| 嘉峪关市| 石棉县| 呼伦贝尔市| 盐源县| 肇东市| 泸定县| 龙岩市| 米林县| 新昌县| 惠来县| 灵武市| 宜兴市| 柳河县| 巨野县| 东方市| 夹江县| 揭西县| 普宁市|