Küresel düzeyde tercihlerin Proje düzeyinde nasıl depolanabileceği konusunda POC yapıyorum.Genel tercihler proje düzeyinde nasıl depolanır
MyPreferencePage
sayfasını oluşturduğum örnek uygulamayı oluşturdum ve bu sayfayı eclipse tercihlerine eklemek için org.eclipse.ui.preferencePages
uzantısını kullandım.
Ayrıca sayfa verilerini kaydedip setPreferenceStore(Activator.getDefault().getPreferenceStore())
kodunu kullanarak da alabiliyorum. Artık proje özellikleri düzeyi altında yeni sayfa oluşturmak ve sayfa değerlerini proje düzeyinde depolamak istiyorum.
MyPreferencePage
ve preferencePages
uzantısının kodu aşağıdadır.
<extension
point="org.eclipse.ui.preferencePages">
<page
class="com.vogella.preference.MyPreferencePage"
id="com.vogella.preference.page1"
name="MyPreferencePage">
</page>
</extension>
public class MyPreferencePage extends FieldEditorPreferencePage implements
IWorkbenchPreferencePage {
public MyPreferencePage() {
super(GRID);
}
@Override
public void createFieldEditors() {
addField(new DirectoryFieldEditor(PreferenceConstants.P_PATH,
"&Directory preference:", getFieldEditorParent()));
addField(new BooleanFieldEditor(PreferenceConstants.P_BOOLEAN,
"&An example of a boolean preference", getFieldEditorParent()));
addField(new RadioGroupFieldEditor(PreferenceConstants.P_CHOICE,
"An example of a multiple-choice preference", 1,
new String[][] { { "&Choice 1", "choice1" },
{ "C&hoice 2", "choice2" } }, getFieldEditorParent()));
addField(new StringFieldEditor(PreferenceConstants.P_STRING,
"A &text preference:", getFieldEditorParent()));
addField(new StringFieldEditor(PreferenceConstants.P_STRING,
"A &text preference:", getFieldEditorParent()));
}
@Override
public void init(IWorkbench workbench) {
setPreferenceStore(Activator.getDefault().getPreferenceStore());
setDescription("A demonstration of a preference page implementation");
}