В состав пакета org.eclipse.jface.dialogs входит служебный класс DialogSettings, предназначенный для хранения и загрузки ключевых значений. С его помощью можно сохранять и загружать простые типы данных и строковые значения, связанные с ключевыми именами. Параметры загружаются из файла XML и сохраняются в нем.
Класс AbstractUIPlugin обеспечивает поддержку параметров окна диалога уровня модуля, которые хранятся в файле XML, расположенном в каталоге модуля. Если файл параметров окна диалога в каталоге модуля отсутствует, создается пустой объект DialogSettings. После завершения работы модуля все новые параметры сохраняются в файле XML и загружаются в ходе следующего запуска этого модуля.
К параметрам окна диалога можно обратиться из произвольного расположения исходного кода модуля. Следующий фрагмент исходного кода позволяет получить параметры окна диалога для утилиты readme.
IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
Для сохранения и загрузки значений применяются методы получения и установки. Имена методов получения совпадают с именем типа соответствующего простого значения. Сохранять и загружать можно значения следующих типов: 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"); // инициализация переключателя в соответствии с параметрами окна диалога checkbox.setSelection(settings.getBoolean("GenSections")); }
Значение параметра можно сохранить позже, нажав кнопку ОК.
protected void okPressed() { IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings(); // сохранение значения переключателя settings.put("GenSections", checkbox.getSelection()); super.okPressed(); }