Preferenceページを作成する方法です。
plugin.xmlにエクステンションとして登録します。
<extension point="org.eclipse.ui.preferencePages"> <page ... /> </extension>
Preferenceページを定義します。
<page
name="LimyEclipse"
class="org.limy.eclipse.preference.LimyPreferencePage"
id="org.limy.eclipse.preference.LimyPreferencePage">
</page>
<page
name="Lrd"
category="org.limy.eclipse.preference.LimyPreferencePage"
class="org.limy.eclipse.preference.LrdPrefrerencePage"
id="org.limy.eclipse.preference.LrdPreferencePage">
</page>
Preferenceページに付けるID
Preferenceページの表示名
Preferenceページのクラス名を指定します。org.eclipse.ui.IWorkbenchPreferencePage を実装しているクラスである必要があります。org.eclipse.jface.preference.FieldEditorPreferencePage などの抽象クラスを利用すると便利です。
親カテゴリとなるPreferenceページのIDを指定します。
省略すると、ルート要素が親カテゴリとなります。
ここでは org.eclipse.jface.preference.FieldEditorPreferencePage のサブクラスを使用します。
public LrdPrefrerencePage() {
super(GRID);
setPreferenceStore(LimyEclipsePlugin.getDefault().getPreferenceStore());
IPreferenceStore store = getPreferenceStore();
store.setDefault("storeColor", "0,0,255");
store.setDefault("storeText", "");
}
最初にスーパーコンストラクタの呼び出し、次にストア(設定の格納場所)の設定、
最後にデフォルト値の設定を行っています。
色の値はRGB値(0?255)をカンマで区切って指定します。
FieldEditorPreferencePage には簡易フォーム作成機能が付いているので、これを利用します。
protected void createFieldEditors() {
addField(new ColorFieldEditor(
"storeColor", "color:", getFieldEditorParent()));
addField(new StringFieldEditor(
"storeText", "text:", getFieldEditorParent()));
}
色設定フィールドと文字列設定をフィールドに追加しています。
他にもいくつかの種類のフィールドが利用できます。org.eclipse.jface.preference.FieldEditor のサブクラスを検索してみて下さい。
各コンストラクタのパラメータは順番に「ストア文字列」「表示ラベル文字列」「親コンポーネント」になります。
addField メソッドで追加したフィールドが順番にフォームに配置されます。
より複雑なフォームを作成したい場合は
protected Control createContents(Composite parent)
メソッドをオーバーライドする必要があります。
|
|