DialogCellEditor:如何在更改时触发事件/将属性标记为已更改?

时间:2012-05-08 18:31:30

标签: eclipse-rcp jface

我有一个类,它扩展了 PropertyDescriptor ,它将打开一个小值输入对话框。
它到目前为止工作,显示对话框,我可以输入所有值。但系统没有显示该文件已被编辑。

该对话框是 InputDialog 的副本。

我尝试使用fireApplyEditorValuefireEditorValueChangedvalueChanged等方法。但它没有区别 我已经检查过侦听器,它们可以在fire方法中找到,它们是相同的侦听器,由 TextCellEditor 使用。

我无法弄明白,我错过了什么。

感谢您的任何建议。

这是我的createPropertyEditor方法:

public CellEditor createPropertyEditor(Composite parent) {
    CellEditor editor = new DialogCellEditor(parent) {
        @Override
        protected Object openDialogBox(Control cellEditorWindow) {
            SimpleDialog dialog = new SimpleDialog(cellEditorWindow.getShell(), (SomeValue) doGetValue());
            dialog.open();
            return dialog.getValue();
        }
    };
    if (getValidator() != null)
        editor.setValidator(getValidator());
    return editor;
}

1 个答案:

答案 0 :(得分:2)

我发现了自己的错误 我必须在我的班级 SomeValue 中覆盖方法equals