org.eclipse.jface.dialogs パッケージは、 キー付きの値を保管し、取り出すためのユーティリティー・クラス DialogSettings を 提供しています。 このクラスを使用すると、キー名に関連付けられているプリミティブ・データ型とストリング値を保管し、取り出すことができます。 設定値は、XML ファイルを使用してロードおよび保管されます。
AbstractUIPlugin は、 プラグインのディレクトリー内の XML ファイルに保管されているプラグイン全体のダイアログの設定値をサポートします。 ダイアログの設定ファイルがプラグインのディレクトリーに見つからない場合は、 空の DialogSettings が作成されます。 プラグインがシャットダウンするときに、そのプラグインに追加されたすべての設定値が XML ファイルに保管され、 次回そのプラグインが開始したときに取り出されます。
ダイアログの設定値には、プラグイン・コードの任意の場所からアクセスすることができます。 以下のコードの断片は、readme ツールのダイアログの設定値を取得する方法を示しています。
IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
値は、get および put メソッドを使用して保管および取得することができます。 get メソッドは、アクセスされるプリミティブ型の後に指定されます。 保管および取得できるのは、boolean、long、double、float、int、array、および string 型の値です。 以下のコードの断片は、ダイアログ内のコントロールの値をダイアログの設定値を使用して初期化する方法を示しています。
protected Control createDialogArea(Composite parent) { IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings(); checkbox = new Button(parent,SWT.CHECK); checkbox.setText("Generate sample section titles"); // initialize the checkbox according to the dialog settings checkbox.setSelection(settings.getBoolean("GenSections")); }
設定値は、「OK」ボタンが押された後に保管されます。
protected void okPressed() { IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings(); // store the value of the generate sections checkbox settings.put("GenSections", checkbox.getSelection()); super.okPressed(); }