如何在更改文本字段值时标记部分脏?

时间:2015-07-13 09:21:05

标签: eclipse eclipse-rcp rcp e4

Part包含TreeViewer NodeNode,每个name都有IViewerObservableValue observedElementSingleSelection = ViewersObservables .observeSingleSelection(treeViewer); IObservableValue detailValue = PojoProperties.value(Node.PROPERTY_NAME, String.class) .observeDetail(observedElementSingleSelection); ISWTObservableValue observableNameText = WidgetProperties.text(SWT.Modify) .observe(nameText); dataBindingContext.bindValue(observableNameText, detailValue); 属性。我有一个文本字段来编辑当前所选节点的名称。我已将当前选择和此文本字段绑定如下:

treeViewer

现在,当用户编辑任何Node的名称时,我想将此Part标记为脏的部分。

当此Node打开时,将从数据库中检索ModifyListener并创建树。如果我在文本字段中添加Part以标记部分脏,那么在初始加载时Part被标记为脏,这是我不想要的。有没有办法只在用户编辑任何Node的名称时标记UpdateStrategy脏,但在初始加载时没有?

我尝试设置Node,以便数据绑定是单向的,即仅从视图到模型,但在选择时,KeyListener名称不会出现在文本字段中。

我尝试使用Part,但后来我必须过滤所有不可打印的键,将{{1}}标记为脏。有没有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

您可以在加载完成后添加ModifyListener,或者在加载完成时删除修改监听器,或者在加载期间设置一个标志,修改监听器可以测试并且不将部件设置为很脏。