TableWrapLayout

TableWrapLayout is een rasterlayout die veel overeenkomsten vertoont met de veelzijdige GridLayout van SWT. Bij TableWrapLayout wordt echter een layoutalgoritme gebruikt dat meer zoals HTML-tabellen werkt. Hierbij wordt geprobeerd de breedte van het werkgebied aan te houden en eventueel ruimtegebrek te compenseren door het gebied te vergroten in verticale richting.

GridLayout en TableWrapLayout vertonen veel overeenkomsten. Bij beide layouts worden de onderliggende items georganiseerd in een raster. Beide zijn gekoppeld aan layoutgegevens waarin is aangegeven hoe elk besturingselement moet worden verwerkt. Bovendien kunt u voor beide layouts aangeven aan welk besturingselement eventuele resterende ruimte moet worden toegewezen.

De werkwijze van TableWrapLayout is echter fundamenteel anders. TableWrapLayout gaat uit van kolommen. Hierbij wordt de minimale, de gewenste en de maximale breedte van elke kolom berekend. Vervolgens wordt op basis van deze informatie de resterende ruimte toegewezen. Verder wordt geprobeerd de kolommen gelijkmatig over de volle breedte te verdelen zodat er zo weinig mogelijk doorloop van besturingselementen nodig is.

Het is mogelijk om GridLayout en TableWrapLayout te combineren, maar na de vertakking waar GridLayout is gebruikt, vindt geen terugloop meer plaats. Dit is geen probleem als u geen terugloop wenst (bijvoorbeeld als het samengestelde item besturingselementen bevat die toch al niet mogen doorlopen, zoals tekst, knoppen, structuren, enzovoort). U moet echter een ongebroken pad van TableWrapLayouts hebben vanaf het corpus van het formulier tot en met elk tekstbesturingselement waarvoor regelterugloop nodig is.