Párbeszédablak-beállítások

A org.eclipse.jface.dialogs csomag egy DialogSettings, nevű segédprogram-osztályt biztosít a rögzített értékek tárolásához és lekéréséhez. Az osztály segítségével elmentheti és lekérheti a kulcsnevekhez rendelt primitív adattípusokat és karaktersorozat-értékeket. Ezek a beállítások egy XML fájl segítségével kerülnek betöltésre és mentésre.

Az AbstractUIPlugin támogatást biztosít a bedolgozó könyvtárában lévő XML fájlban tárolt bedolgozó szintű párbeszédablak-beállításokhoz. Ha a párbeszédablak-beállítás nem található a bedolgozókönyvtárban, akkor egy üres DialogSettings beállítás jön létre. Ha a bedolgozó le van állítva, akkor a hozzáadott beállítások mentésre kerülnek az XML fájlban és lekérésére kerülnek a bedolgozó következő elindításakor.

A párbeszédablak-beállítások a bedolgozókód tetszőleges helyén elérhetők. Az alábbi részlet megjeleníti, hogy a párbeszédablak-beállítások hogyan kérhetők le a readme eszközhöz.

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

Az értékek a get és put metódusok segítségével kerülnek tárolásra és lekérésre. A get metódusok az elért primitív típusa után kerülnek elnevezésre. Logikai, hosszú egész, dupla pontosságú, lebegőpontos, egész, tömb és karaktersorozat értékek tárolhatók és kérhetők le. Az alábbi részlet megjeleníti, hogy a párbeszédablak-beállítások segítségével hogyan inicializálhatók a vezérlőértékek a párbeszédablakban.

   protected Control createDialogArea(Composite parent) {
      IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
      checkbox = new Button(parent,SWT.CHECK);
      checkbox.setText("Generate sample section titles");
      // a jelölőnégyzet inicializálása a párbeszédablak-beállításoknak megfelelően
      checkbox.setSelection(settings.getBoolean("GenSections"));
   }

A beállítás értéke később az ok gomb megnyomásakor tárolható.

   protected void okPressed() {
      IDialogSettings settings = ReadmePlugin.getDefault().getDialogSettings();
      // az előállítási szakaszok jelölőnégyzetének értéket tárolja
      settings.put("GenSections", checkbox.getSelection());
      super.okPressed();
   }