9910

          單飛

             :: 首頁 :: 聯系 :: 聚合  :: 管理
          我只知道它屬于org.eclipse.pde.ui的擴展點org.eclipse.ui.perspectives,看來要好好研究一下這部分的代碼,才能解決隱藏Perspective,實現權限管理。

          參考了別人的代碼:
          看了看eclipse的源代碼,終于知道怎么關閉了:

          IWorkbench w=PlatformUI.getWorkbench();
          IPerspectiveRegistry pr=w.getPerspectiveRegistry() ;
          IPerspectiveDescriptor persdes=pr.findPerspectiveWithId("perspectiveID");

          WorkbenchPage p=(WorkbenchPage)w.getActiveWorkbenchWindow().getActivePage();
          Perspective persp = p.getActivePerspective();
          p.closePerspective(persdes,false,false);

          try {
          w.showPerspective("nextperspectiveID", w.getActiveWorkbenchWindow());
          } catch (WorkbenchException e) {
          e.printStackTrace();
          }

          關閉當前perspective,并打開一個新的perspective:

          IWorkbench w=PlatformUI.getWorkbench();

          ActionFactory.IWorkbenchAction closePerspectiveAction
          = ActionFactory.CLOSE_PERSPECTIVE.create(w.getActiveWorkbenchWindow());
          closePerspectiveAction.run();

          try {
          PlatformUI.getWorkbench().showPerspective("com.ibm.demo.saic.ui.views.NextPerspective", w.getActiveWorkbenchWindow());
          } catch (WorkbenchException e) {
          e.printStackTrace();
          }


          posted on 2008-08-12 22:37 單飛 閱讀(196) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 青川县| 高州市| 体育| 罗江县| 江山市| 巴中市| 垫江县| 景洪市| 来凤县| 延津县| 友谊县| 前郭尔| 万盛区| 赤峰市| 新晃| 潼南县| 永宁县| 监利县| 湾仔区| 巴东县| 安康市| 利川市| 习水县| 盘山县| 方城县| 张掖市| 额尔古纳市| 白水县| 花莲县| 九台市| 如东县| 将乐县| 宜黄县| 高安市| 泰州市| 尤溪县| 天镇县| 莎车县| 田林县| 平阴县| 时尚|