Guten Tag Leute
Ich spiele gerade ein bisschen mit Eclipse RCP rum und bin gerade etwas verwirrt werden Einstellungen bzw. Preferences. Ich hab mir schon das Tutorial von Eclipse Preferences - Tutorial durchgelesen.
Was ich gerade mache ist folgendes:
Ich hab ein RCP-Plugin welches eine Oberfläche besitzt und eine PreferencePage. Die Einstellungen sollen aber in einem anderen Plugin names "Core" gespeichert werden. Die klappt auch alles soweit wunderbar.
Hier mal der Code für die PreferencePage um den PreferenceStore des Core-Plugin zu verwenden.
Im Core-Plugin hab ich einen PreferenceInitializer erstellt und hier fängt meine Verwirrung an. Was ist der richtige Weg um den Preference Store zu erstellen und mit Standardwerten zu füllen?
Ist es:
oder ist es:
Welches ist die richtige Lösung? Wie gesagt sie funktioniert soweit, nur ich finde sie irgendwie unschön.
Nachteilig ist auch, das ich im Core-Plugin das Paket mit dem CoreActivator exportieren muss, damit ich auf den CoreActivator im RCP-Plugin zugreifen kann. Geht das nicht auch noch anders?!
MFG
Blauerball
Ich spiele gerade ein bisschen mit Eclipse RCP rum und bin gerade etwas verwirrt werden Einstellungen bzw. Preferences. Ich hab mir schon das Tutorial von Eclipse Preferences - Tutorial durchgelesen.
Was ich gerade mache ist folgendes:
Ich hab ein RCP-Plugin welches eine Oberfläche besitzt und eine PreferencePage. Die Einstellungen sollen aber in einem anderen Plugin names "Core" gespeichert werden. Die klappt auch alles soweit wunderbar.
Hier mal der Code für die PreferencePage um den PreferenceStore des Core-Plugin zu verwenden.
Java:
@Override
public void init(IWorkbench workbench) {
setPreferenceStore(CoreActivator.getDefault().getPreferenceStore());
}
Im Core-Plugin hab ich einen PreferenceInitializer erstellt und hier fängt meine Verwirrung an. Was ist der richtige Weg um den Preference Store zu erstellen und mit Standardwerten zu füllen?
Ist es:
Java:
IEclipsePreferences node = DefaultScope.INSTANCE.getNode(CoreActivator.PLUGIN_ID);
node.putBoolean("TEST", false);
oder ist es:
Java:
IPreferenceStore store = CoreActivator.getDefault().getPreferenceStore();
store.setDefault("MySTRING1", "http://www.vogella.com");
Welches ist die richtige Lösung? Wie gesagt sie funktioniert soweit, nur ich finde sie irgendwie unschön.
Nachteilig ist auch, das ich im Core-Plugin das Paket mit dem CoreActivator exportieren muss, damit ich auf den CoreActivator im RCP-Plugin zugreifen kann. Geht das nicht auch noch anders?!
MFG
Blauerball