9910

          單飛

             :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
          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
                      
                  }
              }
          /**
           *當(dāng)更新或者刪除文件的時(shí)候
          **/
          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) 評(píng)論(0)  編輯  收藏 所屬分類: Eclipse Plugin
          主站蜘蛛池模板: 桐庐县| 清镇市| 彭阳县| 泗洪县| 阜康市| 涿鹿县| 五莲县| 阿拉善左旗| 乐东| 林西县| 峡江县| 禄丰县| 营口市| 安阳市| 烟台市| 云霄县| 苏尼特左旗| 西峡县| 当涂县| 右玉县| 容城县| 阿坝| 华容县| 河间市| 龙陵县| 汶上县| 灵武市| 宿松县| 商南县| 开封市| 定边县| 临汾市| 英山县| 洛川县| 木兰县| 确山县| 武冈市| 贵南县| 聂拉木县| 玛纳斯县| 乌拉特中旗|