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 finestre di dialogo del plugin di grandi dimensioni memorizzate in un file XML nella directory del plugin 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 plugin viene chiuso, tutte le impostazioni aggiunte verranno salvate in un file XML e richiamate al successivo avvio del plugin.

È possibile accedere alle proprie impostazioni di finestre di dialogo da qualsiasi punto del codice del plugin. 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();
   }