Impostazioni delle finestre di dialogo

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();
}