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 finestre di dialogo del plug-in di grandi dimensioni 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 creata 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 accede. È 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(); }