org.eclipse.ui.IWorkbenchPreferencePage? はウィンドウ >> 設定 にある設定ダイアログを表すインターフェースです。実際はorg.eclipse.jface.preference.FieldEditorPreferencePage? をextendsして使うのが多いようです。
org.eclipse.ui.preferencePages
<extension point="org.eclipse.ui.preferencePages"> <page class="kino.plugin.samples.preferences.ExplorerPreferencePage" name="KinoExplorer設定" id="kino.plugin.samples.preferences.ExplorerPreferencePage"/> </extension>
使い方は
public static final String P_TARGET = "stringPreference";
addField(new StringFieldEditor (P_TARGET, "&Target:", getFieldEditorParent()));
private void initializeDefaults() { IPreferenceStore store = getPreferenceStore(); store.setDefault(P_TARGET, "hoge"); }これで以下のようなダイアログが作成されます。簡単ですね。
設定した値へのアクセス方法は、設定値を用いたい箇所でそれぞれ、
String target = SamplePlugin.getDefault().getPreferenceStore() .getString(ExplorerPreferencePage.P_TARGET);
とすればよいようです。ながい。。
このままだと一度設定を開かないとデフォルト値が反映されないので、どこかでインスタンスを生成しておかないといけないのですが、そのフックメソッドはプラグインクラスにありました。AbstractUIPluginのサブクラスで、
protected void initializeDefaultPreferences(IPreferenceStore store) { ExplorerPreferencePage pref = new ExplorerPreferencePage(); store = pref.getPreferenceStore(); super.initializeDefaultPreferences(store); }
としておけばOKです*1。
この記事は
現在のアクセス:24163