Valintaikkunan asetukset

org.eclipse.jface.dialogs-paketin apuohjelmaluokka DialogSettings tallentaa ja hakee merkityt arvot. Tämän luokan avulla voi tallentaa ja hakea alkeistietolajeja ja merkkijonoarvoja, jotka liitetään avainten nimiin. Asetukset ladataan ja tallennetaan XML-tiedoston avulla.

AbstractUIPlugin tukee lisäosan laajuisia valintaikkunoiden asetuksia, jotka on tallennettu xml-tiedostoon lisäosan hakemistoon. Jos lisäosan hakemistosta ei löydy valintaikkunan asetusten kansiota, tyhjä DialogSettings-luokka luodaan automaattisesti. Kun lisäosa suljetaan, mahdolliset lisätyt asetukset tallennetaan xml-tiedostoon, josta ne haetaan, kun lisäosa seuraavan kerran käynnistetään.

Valintaikkunan asetuksiin pääsee lisäosan koodin kautta. Seuraavasta koodikatkelmasta käy ilmi, kuinka Readme-työkalulle voidaan noutaa valintaikkunan asetukset.

      IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();

Arvot tallennetaan ja niitä haetaan haku- ja sijoitusmetodin avulla. Hakumetodit on nimetty käytössä olevan alkeistyypin lajin mukaan. Voit tallentaa ja hakea totuusarvoja, long-arvoja, double-arvoja, float-arvoja, int-arvoja sekä taulukon ja merkkijonon arvoja. Seuraavasta katkelmasta käy ilmi, miten valintaikkunan asetuksia voi käyttää valintaikkunan ohjausarvojen alustamiseen.

   protected Control createDialogArea(Composite parent) {
      IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
      checkbox = new Button(parent,SWT.CHECK);
      checkbox.setText("Generate sample section titles");
      // alusta valintaruutu valintaikkunan asetusten mukaan
      checkbox.setSelection(settings.getBoolean("GenSections"));
   }

Asetuksen arvo voidaan tallentaa sen jälkeen, kun OK-painiketta on painettu.

   protected void okPressed() {
      IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
      // tallenna luotujen osien valintaruutujen arvot
      settings.put("GenSections", checkbox.getSelection());
      super.okPressed();
   }

Valintaikkunan rajojen asetukset

Yleisesti ottaen valintaikkunan määritys ja tulkinta ovat lisäosan tehtäviä. On kuitenkin joitakin tiettyjä valintaikkunoiden asetusavaimia, jotka on määritetty JFace-valintaikkunan kehyksen sisällä ja joiden avulla järjestelmä muistaa valintaikkunan edellisen koon ja sijainnin, jotta valintaikkunan voi avata saman kokoisen ja samassa sijainnissa seuraavan kutsun yhteydessä. Kehys kyselee ja tallentaa valintaikkunan koon ja sijainnin, mutta joudut toteuttamaan metodin, joka toimittaa IDialogSettings-ilmentymän, jonka avulla valintaikkunan rajojen tiedot tallennetaan. Seuraavassa katkelmassa esitetään, kuinka SectionsDialog voi hyödyntää tätä ominaisuutta.

   protected IDialogSettings getDialogBoundsSettings() {
	   return ReadmePlugin.getDefault().getDialogSettings();
   }

Tämän metodin toteutus tallentaa SectionsDialog-valintaikkunan koon ja sijainnin ennalta määritettyihin avaimiin lisäosan valintaikkuna-asetuksissa, joten valintaikkuna avataan aiemmassa sijainnissaan.