如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存
2010-05-04 00:00:00 来源:WEB开发网ContentProvider 类用于帮助 CommonViewer 访问树型结点元素的,在 CNF 中,如果 Viewer 上的元素可以被保存,则该类必须实现 IAdaptable 可适配于 SaveablesProvider 实例。SaveablesProvider 将要保存的模型与树型结点元素进行映射,用于为导航器提供可保存的对象。SaveblesProvider 包含以下几个关键的方法:
public abstract Saveable[] getSaveables():返回该 provider 所能访问到的所有对象。
public abstract Object[] getElements(Saveable saveable):返回可保存对象所对应的树型结点上的模型元素。
public abstract Saveable getSaveable(Object element):返回树型结点元素所对应的可保存元素。
final protected void fireSaveablesOpened(Saveable[] models):通知所注册的监听器参数数组中的可保存的模型元素已经被打开。
final protected boolean fireSaveablesClosing(Saveable[] models, boolean force):通知所注册的监听器参数数组中的可保存的模型元素正在被关闭。
final protected void fireSaveablesClosed(Saveable[] models):通知所注册的监听器参数数组中的可保存的模型元素已经关闭。
其中,fire* 方法必须在 UI 线程中被执行。同时,在 CommonNavigator 实现了 ISaveablesSourcer 接口,用于提供可保存对象。
Saveable[] getSaveables():返回所有可保存的模型元素。当其中的元素发生改变时,navigator 会通知所注册的监听器做出相应的反应。
返回当前处于活动状态的可保存元素,所返回的元素基于用户当前所选择的元素。
Saveable[] getActiveSaveables():
图 4. Saveables 框架的调用过程
更多精彩
赞助商链接