Egyéni elrendezések
Esetenként szükség lehet saját egyéni
Layout osztály létrehozására. Az ekkor a legmegfelelőbb, ha
összetett elrendezéssel rendelkezik, amely az alkalmazás számos helyén
használatra kerül. Hacsak nem ír nagyon általános elrendezést, amelyet
számos
Composite felületi elem használ, akkor bizonyos esetekben a
leszármazott méretét és helyét egy átméretezés-figyelőben egyszerűbb és
könnyebb kiszámítani.
Az elrendezések felelősek két metódus megvalósításáért:
- computeSize(...) kiszámítja a téglalap szélességét
és magasságát, amely bezárja az összes összetett elem leszármazottját,
miután az elrendezés algoritmusnak megfelelően méretezésre és elhelyezésre
kerültek. A tipp paraméterek segítségével a szélesség és/vagy magasság
megszorítható. Az elrendezés például növekedhet az egyik irányba, ha a
másikban korlátozva van.
- layout(...) pozícionálja és méretezi az összetett
elem leszármazottját.
Az elrendezés ideiglenesen tárolhatja az elrendezéssel
kapcsolatos információkat, mint például a leszármazottak preferált
extentje. A
flushCache paraméter utasítja a
Layout elemet, hogy ürítse ki az ideiglenesen tárolt adatokat,
amely akkor szükséges, ha a méreten kívül az összetett elem más
tényezői - mint például a leszármazott eltávolításának létrehozása, vagy a
felületi elem betűkészletének módosítása - is változtak.
A harmadik metódus, a flushCache(...) egy adott
vezérlőelemhez tartozó ideiglenesen tárolt adatok kiürítése érdekében
valósítható meg.
A felületi elem computeSize() metódusa gyakran költséges, ezért az
elrendezések a teljesítmény javítása érdekében gyorsítótárban tárolhatják
az eredményeket.
Az egyéni elrendezések további leírását az
SWT
elrendezéseinek megismerése rész tartalmazza.