package org.xtest.ui.editor;
import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess;
import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer;
import org.xtest.preferences.DefaultPreferenceProvider;
import org.xtest.preferences.RuntimePref;
import com.google.inject.Inject;
/**
* Override {@link DefaultPreferenceProvider} for UI such that the default preference values for
* each file come from the preference store.
*
* @author Michael Barry
*/
public class UIDefaultPreferenceProvider extends DefaultPreferenceProvider {
@Inject
private IPreferenceStoreAccess preferenceStoreAccess;
@Override
public Boolean getDefault(RuntimePref pref) {
return preferenceStoreAccess.getPreferenceStore().getBoolean(pref.getId());
}
/**
* Initializer for xtest preferences
*
* @author Michael Barry
*/
public static class Initializer implements IPreferenceStoreInitializer {
@Override
public void initialize(IPreferenceStoreAccess access) {
for (RuntimePref pref : RuntimePref.values()) {
access.getWritablePreferenceStore()
.setDefault(pref.getId(), pref.getDefaultValue());
}
}
}
}