如何在Eclipse RCP中将父首选项页面链接到子首选项页面?

时间:2018-09-19 14:58:01

标签: java eclipse eclipse-plugin eclipse-rcp

我在Eclipse中有一个首选项页面,其中包含一个复选框。这是父母首选项页面。

基于父页面中某些复选框的值,子首选项页面应包含不同的字段编辑器。

示例:如果选中父项中的复选框,则在子项中创建一个文本字段。

当我按下Apply时,我想更新/重绘子页面。

我试图通过以下方式做到这一点:

我的子页面类如下:

public class MyChildPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage

覆盖setVisible方法:

@Override
public void setVisible(final boolean visible)
{        
    super.setVisible(visible);        
    if (visible)
        createFieldEditors();            
}

我的createFieldEditors方法每次都使用相同的Composite来创建字段。

仍然,没有任何更新。

在更改焦点/可见性时是否可以重新触发偏好页面的创建?

此问题未得到回答,它类似于: Refresh the contents of an eclipse preference page

2 个答案:

答案 0 :(得分:0)

您可以尝试致电FieldEditorPreferencePage#initialize()吗?这会在每个字段编辑器上调用load()

答案 1 :(得分:0)

您只能创建一次字段编辑器。

您可以覆盖propertyChange的{​​{1}}方法,以了解每个首选项属性的更改:

FieldEditorPreferencePage