TableWrapLayout

TableWrapLayout est une présentation basée sur une grille similaire à GridLayout des outils polyvalents SWT. La seule différence concerne l'utilisation d'un algorithme de présentation dont le fonctionnement s'apparente à celui des tables HTML. Cette présentation tente de respecter la largeur de zone client fournie et s'étend verticalement pour compenser.

Il existe de nombreuses similitudes entre GridLayout et TableWrapLayout. Elles organisent toutes les deux les enfants sous forme de grilles. Elles disposent de données de présentation qui indiquent à la présentation comment traiter chaque commande. Elles acceptent les conseils relatifs à la commande devant s'approprier de l'espace supplémentaire, etc.

Toutefois, leur approche en matière de présentation est totalement différente. TableWrapLayout commence par les colonnes. Elle calcule les largeurs minimale, privilégiée et maximale de chaque colonne et utilise les informations obtenues pour attribuer de l'espace supplémentaire. Elle tente également de répartir l'espace de façon équitable entre les colonnes, de manière à éviter un encapsulage excessif de certaines commandes.

Il est possible de combiner GridLayout et TableWrapLayout mais l'encapsulage s'arrête au niveau de la branche sur laquelle GridLayout est utilisé. Cette contrainte est relativement acceptable si vous ne souhaitez pas procéder à l'encapsulage (si le composite contient des commandes qui ne s'encapsulent pas, comme du texte, des boutons, des arborescences, etc.). Toutefois, vous devez disposer d'un chemin ininterrompu entre le corps du formulaire et la commande de texte à encapsuler.