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

Párbeszédablak határainak beállításai

A párbeszédablak beállításainak meghatározása és értelmezése általában a bedolgozó dolga. De bizonyos párbeszédablak beállításkulcsok a JFace párbeszédablak keretrendszerben vannak meghatározva, amelyek emlékeznek a párbeszédablak legutóbbi méretére és helyzetére, így a párbeszédablak a következő meghíváskor ugyanabban a méretben és helyzetben nyitható meg. A keretrendszer lekérdezi és eltárolja a párbeszédablak méretét és helyzetét, de a párbeszédablak határinformációinak tároláshoz használandó IDialogSettings példányt biztosító metódust Önnek kell megvalósítania. Az alábbi részlet mutatja, hogy a SectionsDialog hogyan használhatja ki ezt a lehetőséget.

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

Ennek a módszernek a megvalósításával a SectionsDialog mérete és helyzete előre meghatározott kulcsokban kerül tárolásra a bedolgozó párbeszédablakának beállításaiban és így valósítja meg, hogy a párbeszédablak a korábbi helyén jelenjen meg.