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

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

 2010-05-04 00:00:00 来源:WEB开发网   
核心提示: 如上图所示,当所需要保存的元素发生改变时,如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存(5),调用 CommonNavigator 的 firePropertyChange 方法,表明其中的元素发生了变化,在本文的例子中,由于框架的 getA

如上图所示,当所需要保存的元素发生改变时,调用 CommonNavigator 的 firePropertyChange 方法,表明其中的元素发生了变化,些时注册在其中的监听器,如 SaveAction, SaveAllAction 会通过 CommonNavigator 的 getActiveSaveables() 计算是否有可保存的元素发生修改,如果有元素发生修改,更新 SaveAction 与 SaveAllAction 的可用状态,如果有可保存的元素,Navigator 的标题栏也将出现“*”,表明其为可保存的状态。

当用户选择所需要保存的元素时,并选择保存时,由 SaveableProvider 返回可保存的 Saveable 对象,由 CommonNaviagator 的 Saveables 框架调用对象的 doSave 方法进行保存。

实例说明

本节通过一个简单的例子来说明白如何何使用 CommonNavigator 的 Saveable Protocol. 在这个例子中的模型部分,包括文件夹结点和文件结点,其中文件结点可以通过编辑器进行编辑,文件内容发生改变时,相应地导航器上的结点名称将发生变化,当焦点处于导航器结点视图时,Save 与 SaveAll 按钮状态将随着所选择的结点的变化而变化。

图 5. 可保存的 Navigator 视图
如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存

第一步:创建视图 (view),这部分通过视图扩展点的实现,其中对指定的视图实现类继承 CommonNavigator,并重写它的 getSaveables 方法,在本文的例子中,由于框架的 getActiveSaveables() 将返回处于活动状态的 getSaveables,因此我们将处于活动状态的 Saveables 返回。

 public class SaveableView extends CommonNavigator { 
 
  public static String ID = "ViewSaveableProtocol.SaveableView"; 
 
  public Saveable[] getSaveables() { 
    return this.getActiveSaveables(); 
  } 
 
  public void fireSaveabelsChanged(){ 
    this.firePropertyChange(IWorkbenchPartConstants.PROP_DIRTY); 
  } 
 
 } 

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:如何 使用 Eclipse

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