沙漠中的魚

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

          RCP開發(fā)學(xué)習(xí)筆記

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

          Application.java 整個(gè)程序的入口點(diǎn),在程序運(yùn)行時(shí),會(huì)選執(zhí)行run方法,將創(chuàng)建用戶界面的工作交給ApplicationWorkbenchAdvisor類
          ApplicationWorkbenchAdvisor.java 指定默認(rèn)的透視圖,把創(chuàng)建窗口的開作交給ApplicationWorkbenchWindowAdvisor類
          ApplicationWorkbenchWindowAdvisor.java,可能重載它的preWindowCreate,postWindowCreate,preWindowOpen,postWindowOpen等方法,以便修改窗口的外觀
          ApplicationActionBarAdvisor.java,可以創(chuàng)建菜單和工具條
          添加菜單
          添加菜單工具欄第一種方法
          makeActions創(chuàng)建action,注冊action;regsiter(action)是用來把實(shí)例注冊到工作臺(tái)中,當(dāng)工作臺(tái)銷毀的時(shí)候,action也可以被銷毀
          action需要實(shí)現(xiàn)IWorkbenchAction接口
          fillMenuBar建菜單,工具條,設(shè)置相對應(yīng)的action;
          添加菜單工具欄第二種方法
          在plugin.xml中添加配置
          <extension
           id ="cn.blogjava.youxia.actionset"
           name ="我的菜單擴(kuò)展"
           point ="org.eclipse.ui.actionSets">
                  <actionSet
           description ="第一個(gè)擴(kuò)展"
           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 ="第二個(gè)菜單項(xiàng)"
            menubarPath ="cn.blogjava.youxia.firstmenu/additions"
            style ="push"
            toolbarPath ="additions"
            tooltip ="第二個(gè)菜單項(xiàng)的按鈕" />
                 </actionSet>
          </extension>
          Action2必須要實(shí)現(xiàn)實(shí)現(xiàn)org.eclipse.ui.IWorkbenchWindowActionDelegate接口,多定義了一個(gè)方法public void selectionChanged(IAction action, ISelection selection),這個(gè)方法是必須的,以便工作臺(tái)窗口在用戶選定哪一項(xiàng)資源的時(shí)候通知我們的Action類的實(shí)例。這個(gè)方法是必須的,以便工作臺(tái)窗口在用戶選定哪一項(xiàng)資源時(shí)通知我們的action類的實(shí)例

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

          Selection Service的整體架構(gòu)
          注冊
          this.getSite().setSelectionProvider(viewer);
          viewer需要實(shí)現(xiàn)ISelectProvider接口
          監(jiān)聽
          this.getSite().getPage().addSelectionListener(this);
          this.實(shí)現(xiàn)ISelectionListener接口

          主站蜘蛛池模板: 那曲县| 仲巴县| 铁岭市| 南和县| 兴山县| 桓仁| 泰来县| 汉阴县| 军事| 鄂尔多斯市| 永泰县| 英吉沙县| 扬州市| 基隆市| 邳州市| 福泉市| 固原市| 富平县| 固安县| 曲沃县| 扎兰屯市| 利津县| 永靖县| 芜湖县| 湘潭市| 含山县| 涞源县| 得荣县| 长泰县| 庆安县| 石嘴山市| 凤阳县| 美姑县| 松滋市| 阳城县| 乃东县| 漳浦县| 旺苍县| 唐海县| 太湖县| 望谟县|