posts - 31,  comments - 31,  trackbacks - 0

          1、編制菜單:?
          ?????每個(gè)Plug-In可以包括一個(gè)MenuBar(菜單)、CoolBar(工具欄)、PerspectiveBar(面板欄)、FastViewBar(快速視圖欄),這些欄目是在Plug-In運(yùn)行過(guò)程中不會(huì)改變的,MenuBar(菜單)由ApplicationActionBarAdvisor類的fillMenuBar()方法定義,例:

          ????????????MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
          ????????????fileMenu.add(new?Separator());
          ????????fileMenu.add(newViewAction);

          CoolBar(工具欄)由ApplicationActionBarAdvisor類的fillCoolBar()方法定義,例:

          IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);?
          toolbar.add(newViewAction);


          PerspectiveBar由PlugIn.xml文件中關(guān)于Perspective的配置自動(dòng)生成,F(xiàn)astViweBar由PlugIn.xml文件中關(guān)于View的配置自動(dòng)生成,MenuBar和CoolBar中各個(gè)功能按鈕的action在ApplicationActionBarAdvisor類的makeActions()方法中注冊(cè)。例:

          newViewAction? = ? new ?OpenNewViewAction(window,? " 打開(kāi)新視圖菜單 " ,?IEntryID.NEW_VIEW_ID);
          ????????register(newViewAction);


          2、編寫(xiě)面板和視圖:?
          ??????在Plug-In運(yùn)行過(guò)程中Perspective(面板),View(視圖)會(huì)被經(jīng)常切換,其中Perspective由若干個(gè)View組成,Perspective要實(shí)現(xiàn)IPerspectiveFactory接口,并在Perspective中定義要加載的View。View要繼承ViewPart類,View還要有一個(gè)唯一的ID。并把Perspective和View在PlugIn.xml作注冊(cè)。例:

          < extension??? point ="org.eclipse.ui.views" >
          < view
          ????????????
          name ="新打開(kāi)的視圖"
          ????????????allowMultiple
          ="true"
          ????????????icon
          ="icons/sample3.gif"
          ????????????class
          ="uuu.NewView"
          ????????????id
          ="uuu.NewView" >
          ??????
          </ view >
          </ extension >
          ???
          < extension???? point ="org.eclipse.ui.perspectives" >
          ??????
          < perspective
          ????????????
          name ="New?Perspective"
          ????????????class
          ="uuu.NewPerspective"
          ????????????id
          ="uuu.NewPerspective" >
          ??????
          </ perspective >
          ???
          </ extension >

          3、添加action
          編寫(xiě)一個(gè)繼承了Action的XXXaction類,再此之前先定義一個(gè)接口,如下:

          public ? interface ?IEntryID? {

          ????
          public ? static ? final ?String?NEW_VIEW_ID? = ? " uuu.NewView " ;
          ????
          public ? static ? final ?String?CMD_OPEN_NEW_VIEW? = ? " uuu.OpenNewView " ;????
          }

          實(shí)現(xiàn)XXXaction的構(gòu)造函數(shù),如下:

          this .window? = ?window;
          ????????
          this .viewId? = ?viewId;
          ????????setText(label);
          ????????
          // ?The?id?is?used?to?refer?to?the?action?in?a?menu?or?toolbar
          ????????setId(IEntryID.CMD_OPEN_NEW_VIEW);
          ????????
          // ?Associate?the?action?with?a?pre-defined?command,?to?allow?key?bindings.
          ????????setActionDefinitionId(ICommandIds.CMD_OPEN);
          ????????setImageDescriptor(uuu.Activator.getImageDescriptor(
          " /icons/sample2.gif " ));

          在PlugIn.xml中添加相應(yīng)的配置:

          < extension?????? point ="org.eclipse.ui.commands" >
          ????????
          < command
          ????????????
          name ="打開(kāi)新視圖"
          ????????????description
          ="打開(kāi)一個(gè)新的視圖"
          ????????????categoryId
          ="uuu.OpenNewView"
          ????????????id
          ="uuu.OpenNewView" >
          ??????
          </ command >
          ????
          </ extension? >

          4、顯示工具欄:
          在ApplicationWorkbenchWindowAdvisor類的preWindowOpen();方法中添加
          ?

          ?configurer.setShowCoolBar( true );
          ?configurer.setShowPerspectiveBar(
          true );
          ?configurer.setShowFastViewBars(
          true );
          posted on 2007-01-31 14:33 小平 閱讀(352) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          framework

          j2me

          java

          linux

          web

          其他

          友情鏈接

          素材

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 龙里县| 唐河县| 镇赉县| 琼结县| 萨嘎县| 昌乐县| 莱州市| 八宿县| 阳城县| 会同县| 永仁县| 城市| 蒙城县| 上思县| 海南省| 维西| 中西区| 甘泉县| 平果县| 泌阳县| 宿州市| 宁武县| 同心县| 富民县| 湖南省| 乌拉特后旗| 合川市| 丹寨县| 封开县| 霍州市| 张家界市| 来安县| 汉源县| 黄浦区| 东兰县| 读书| 辽宁省| 金溪县| 石阡县| 长白| 武安市|