Il pacchetto org.eclipse.jface.dialogs fornisce una classe di utilità, DialogSettings, per la memorizzazione e il richiamo di valori basati su chiavi. È possibile utilizzare questa classe per salvare e richiamare tipi di dati e valori di stringa primitivi che siano stati associati a nomi di chiavi. Le impostazioni vengono caricate e salvate mediante un file XML.
AbstractUIPlugin fornisce il supporto per le impostazioni di grandi finestre di dialogo del plug-in memorizzate in un file XML nella directory del plug-in dell'utente. Se nessun file di impostazioni delle finestre di dialogo viene rilevato in tale directory, verrà automaticamente creato una classe DialogSettings vuota. Quando il plug-in viene chiuso, tutte le impostazioni aggiunte verranno salvate in un file XML e richiamate al successivo avvio del plug-in.
È possibile accedere alle proprie impostazioni di finestre di dialogo da qualsiasi punto del codice del plug-in. Il seguente frammento mostra come ottenere le impostazioni di finestra di dialogo per lo strumento readme.
IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
I valori vengono memorizzati e richiamati mediante metodi get e put. I metodi get vengono stabiliti dopo il tipo di primitivo a cui si sta accedendo. È possibile memorizzare e richiamare valori boolean, long, double, float, int, array e string. Il seguente frammento mostra come utilizzare le impostazioni della finestra di dialogo per inizializzare i valori di controllo in una finestra di dialogo.
protected Control createDialogArea(Composite parent) {
IDialogSettings settings =
ReadmePlugin.getDefault().getDialogSettings();
checkbox = new Button(parent,SWT.CHECK);
checkbox.setText("Generate sample section titles");
// inizializzare la casella di controllo in base alle impostazioni della finestra di dialogo
checkbox.setSelection(settings.getBoolean("GenSections"));
}
Il valore dell'impostazione può essere memorizzato successivamente, quando viene premuto il pulsante OK.
protected void okPressed() {
IDialogSettings settings =
ReadmePlugin.getDefault().getDialogSettings();
// memorizzare il valore della casella di controllo Genera sezioni
settings.put("GenSections", checkbox.getSelection());
super.okPressed();
}