9910

          單飛

             :: 首頁 :: 聯系 :: 聚合  :: 管理
          public class HtmlEditor extends MultiPageEditorPart
          public
           void init(IEditorSite site, IEditorInput editorInput) throws PartInitException {

             initResourceChangeListener();
          }
              
              
          private IWorkspace getWorkspace() {
                  
          return ((IFileEditorInput) getEditorInput()).getFile().getWorkspace();
              }
              
              
          private void initResourceChangeListener() {
                  IResourceChangeListener resourceChangeListener 
          = new IResourceChangeListener() {
                      
          public void resourceChanged(IResourceChangeEvent event) {
                          handleResourceChange(event);
                      }
                  };
                  getWorkspace().addResourceChangeListener(resourceChangeListener);
              }

              
          private void handleResourceChange(IResourceChangeEvent event) {
                  
          if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
                      IFile file 
          = ((IFileEditorInput) getEditorInput()).getFile();
                      
          // update editor
                      
                  }
              }
          /**
           *當更新或者刪除文件的時候
          **/
          public void resourceChanged(final IResourceChangeEvent event) {
                  if (event.getType() == IResourceChangeEvent.POST_CHANGE)
                      Display.getDefault().asyncExec(new Runnable() {

                          public void run() {
                              IResourceDelta rootDelta = event.getDelta();
                              if(rootDelta ==null){
                                  return;
                              }
                              IResourceDelta htmlDelta = rootDelta.findMember(new Path("DefaultProject/t.html"));
                              if(htmlDelta == null){
                                  return;
                              }
                          }
                      });
                  if (event.getType() == IResourceChangeEvent.PRE_CLOSE) {
                      Display.getDefault().asyncExec(new Runnable() {
                          public void run() {
                              IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
                              for (int i = 0; i < pages.length; i++) {
                                  if (((FileEditorInput) getSourceEditor().getEditorInput()).getFile().getProject().equals(event.getResource())) {
                                      IEditorPart editorPart = pages[i].findEditor(getSourceEditor().getEditorInput());
                                      pages[i].closeEditor(editorPart, true);
                                  }
                              }
                          }
                      });
                  }
              }

          posted on 2009-03-20 10:07 單飛 閱讀(469) 評論(0)  編輯  收藏 所屬分類: Eclipse Plugin
          主站蜘蛛池模板: 永善县| 原平市| 若尔盖县| 汉中市| 曲麻莱县| 永平县| 南城县| 军事| 应城市| 文安县| 宜丰县| 手游| 谢通门县| 长海县| 利津县| 阆中市| 墨竹工卡县| 荣昌县| 桑日县| 高陵县| 保靖县| 来宾市| 南丹县| 昌图县| 仁化县| 抚松县| 和顺县| 镇远县| 长岛县| 工布江达县| 东乡县| 揭西县| 靖宇县| 利津县| 北碚区| 正宁县| 宁安市| 安仁县| 彭阳县| 隆化县| 永康市|