WEB开发网
开发学院软件开发Java 如何使用 Eclipse CNF 的 Saveable Protocol 实现... 阅读

如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存

 2010-05-04 00:00:00 来源:WEB开发网   
核心提示: 当元素保存时,由 SaveableContentProvider 返回可保存的实现 Saveable 对象,如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存(9),其中 Saveable 对象的实现类片段如下:publicclassSaveabl

当元素保存时,由 SaveableContentProvider 返回可保存的实现 Saveable 对象。其中 Saveable 对象的实现类片段如下:

 public class SaveablePart extends Saveable{ 
 
   private IWorkbenchPart part; 
 
  public SaveablePart(IWorkbenchPart part) { 
    this.part = part; 
  } 
 
  public void doSave(IProgressMonitor monitor) { 
     if (part instanceof ISaveablePart) { 
      ISaveablePart saveable = (ISaveablePart) part; 
      saveable.doSave(monitor); 
    } 
  } 
 
  public boolean isDirty() { 
    if (part instanceof ISaveablePart) { 
      return ((ISaveablePart) part).isDirty(); 
    } 
    return false; 
  } 
 
  public IWorkbenchPart getWorkbenchPart(){ 
    return this.part; 
  } 
 
 } 

保存完毕后,通知编辑器、视图、模型元素标题作出相应的修改。代码片段如下:


清单 4. 样例代码

 public class TextFileEditor extends EditorPart{ 
  @Override 
    public void createPartControl(Composite parent) { 
    parent.setLayout(new FillLayout()); 
    textSect = new Text(parent, SWT.MULTI); 
    textSect.addModifyListener( new ModifyListener() { 
      @Override 
      public void modifyText(ModifyEvent e) { 
        dirty = true; 
        PlatformUI.getWorkbench().getDisplay().asyncExec( new Runnable() { 
          public void run() { 
            firePropertyChange(IEditorPart.PROP_DIRTY); 
            refreshDecoration(); 
            FolderManager.fireSaveablesDirtyChanged(); 
          } 
        }); 
      } 
    }); 
  } 
 } 

总结

本文分对 CommonNavigaor 的 Saveables Protocol 的实现原理进行说,并通过一个实例对其实现方法进行说明。通过该机制,开发者可以不用关注保存的具体机制,而将更多的精力投入到与具体业务流程的开发中,从而更加快速地实现在视图上完成对模型元素的保存。

上一页  4 5 6 7 8 9 

Tags:如何 使用 Eclipse

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接