小哈兒的 學習日記

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

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

          Posted on 2007-04-23 14:00 dayue 閱讀(1216) 評論(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中的重要對象也都有借鑒意義。
          主站蜘蛛池模板: 临湘市| 大理市| 南安市| 昌邑市| 永德县| 应城市| 新巴尔虎右旗| 龙南县| 包头市| 亚东县| 沁源县| 建宁县| 宝应县| 从化市| 淮滨县| 高要市| 清流县| 四平市| 环江| 通道| 克山县| 淮安市| 平遥县| 通海县| 郯城县| 东光县| 苗栗县| 龙川县| 长海县| 通海县| 林西县| 色达县| 清苑县| 遂平县| 崇文区| 容城县| 天镇县| 石家庄市| 休宁县| 顺昌县| 綦江县|