java - RCP 3.x 可编辑 PropertySheet View

标签 java eclipse swt eclipse-rcp propertysheet

我实现了一个自定义 PropertySheet,如 here 中所述。 。

所以我有一个主视图,它实现了选择提供程序,并且可以在我的自定义 PropertySheet View 中显示属性。

我现在的问题是,如果属性 View 中存在未保存的更改,我想在属性 View 中编辑选择的某些属性,并防止更改主视图中的选择。

解决该问题的最佳方法是什么?

如果我在自定义属性 View 中实现 ISaveablePart,我可以将其标记为脏。如果我的属性 View 脏了,如何防止更改选择?

提前致谢!

最佳答案

由于 View 是非模式(例如非阻塞)UI 组件,因此没有真正的方法可以防止 View 外部的选择更改。因此,属性 View 的预期工作方式是尽快保存。

默认的、基于 TreeViewer 的 EMF 模型实现使用 CellEditor 来更改其值;当 CellEditor 中的值发生更改时,更改的值会自动写回原始模型,以避免您提到的数据丢失情况。

换句话说,您必须依赖数据源(例如提供选择的编辑器)来存储永久更改,并且可以通过该源(编辑器)对更改进行序列化。

关于java - RCP 3.x 可编辑 PropertySheet View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37943637/

相关文章:

java - 当某项为空时,哪种设置方式更快?

java - 从个人部门迁移到对齐规则

java - 尝试在空对象引用上调用虚拟方法 'android.view.Window$Callback android.view.Window.getCallback()'

java - 在maven eclipse项目中找不到spring框架的标签库描述符

events - 鼠标点击标签

javascript - 禁用组合框,直到从数据库获取值为止

java - 从 Eclipse/Android 开发者工具导出 .apk 时出错

java - MongoDB 与 Eclipse 不抛出异常?

java - SWT 文本小部件的清除状态

java - SWT shell 及其子 shell 的处理顺序是什么?