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 單飛 閱讀(466) 評論(0)  編輯  收藏 所屬分類: Eclipse Plugin
          主站蜘蛛池模板: 涟水县| 兴隆县| 宣城市| 沂源县| 武川县| 三江| 博爱县| 鄂托克旗| 定陶县| 曲阳县| 阿拉善左旗| 固镇县| 高州市| 新乡市| 临朐县| 汉沽区| 乌什县| 托克逊县| 太和县| 桓仁| 阳谷县| 长丰县| 洛扎县| 西平县| 绥德县| 盱眙县| 伊川县| 理塘县| 景宁| 隆化县| 阿尔山市| 华坪县| 玛沁县| 台前县| 钟山县| 兴仁县| 巴塘县| 赣州市| 庐江县| 汽车| 灵武市|