小哈兒的 學習日記

          像瘋子一樣去戰斗!
          posts - 13, comments - 0, trackbacks - 0, articles - 0

          在rcp中獲得父Shell的幾種方法

          Posted on 2007-04-23 14:00 dayue 閱讀(1217) 評論(0)  編輯  收藏 所屬分類: eclipse
          在實現了IWorkbenchWindowActionDelegate接口的類中:
          private IWorkbenchWindow window;

          public void init(IWorkbenchWindow window) {
             
          this.window = window;
          }

          public void run(IAction action) {
             Shell parentShell 
          = window.getShell();
             MyDialog dialog 
          = new MyDialog(parentShell, );
              etc 
          }


          在實現了IObjectActionDelegate 接口的類中:
          private IWorkbenchPart targetPart;

          public void setActivePart(IAction action, IWorkbenchPart targetPart)
          {
             
          this.targetPart = targetPart;
          }


          public void run(IAction action) {
             IWorkbenchPartSite site 
          = targetPart.getSite();
             MyDialog dialog 
          = new MyDialog(site, );
              etc 
          }


          IViewPart 或者IEditorPart
          IShellProvider shellProvider = viewOrEditor.getSite();
          PlatformUI:
          Shell parentShell =
             PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();

          Display
          Shell parentShell = Display.getDefault().getActiveShell();


          以上各種方法對于獲取其它的一些rcp中的重要對象也都有借鑒意義。
          主站蜘蛛池模板: 东乌珠穆沁旗| 江门市| 开化县| 聂荣县| 和平县| 利津县| 突泉县| 普格县| 苗栗县| 巴楚县| 泌阳县| 乌苏市| 通州区| 体育| 昌图县| 安乡县| 黄石市| 上饶市| 东台市| 旅游| 鲜城| 高要市| 英山县| 临江市| 北票市| 乐至县| 青冈县| 涪陵区| 辽源市| 蓝山县| 景东| 长沙县| 若羌县| 克山县| 德昌县| 黄陵县| 镇赉县| 舒城县| 秭归县| 平定县| 章丘市|