Yeti
Yeti

Reputation: 1160

BooleanFieldEditor doesn't load value from PreferenceStore

For an own PreferencePage in an Eclipse-RCP-Plugin I use an BooleanFieldEditor. Its value is saved in the PreferenceStore (confirmed that it is saved). But the Editor always is set to "false" after opening the PreferencePage again.

public class PreferencePage extends FieldEditorPreferencePage implements
IWorkbenchPreferencePage {

[...]
protected void createFieldEditors() {
subversionSupportBooleanFieldEditor = new BooleanFieldEditor
    (PreferenceConstants.FIELD_SUBVERSION_SUPPORT, "Enable Subversion support", BooleanFieldEditor.DEFAULT, getFieldEditorParent());
subversionSupportBooleanFieldEditor.setPreferenceStore(Activator.getDefault().getPreferenceStore());
subversionSupportBooleanFieldEditor.load();
[...]}

What is missing?

Upvotes: 0

Views: 154

Answers (1)

Rüdiger Herrmann
Rüdiger Herrmann

Reputation: 20985

You need to override the doGetPreferenceStore method of PreferencePage and return the preference store that should be used by the field editors.

  @Override
  protected IPreferenceStore doGetPreferenceStore() {
    return Activator.getDefault().getPreferenceStore();
  }

The initialize method of FieldEditorPreferencePage assigns the value returned here to each field editor. If you do not override doGetPreferenceStore the preference store of the container is taken.

Upvotes: 1

Related Questions