4D Write Pro permet de créer facilement des documents complexes. Les attributs d’affichage et de mise en page peuvent être appliqués à différentes parties des documents, qu’il s’agisse de texte, d’images ou de tableaux. En parlant des tableaux, ils bénéficient d’une nouvelle propriété pour mieux définir la mise en page ! Voyons ce que la 4D v19 R4 vous réserve.
HDI Ruptures à l’intérieur des lignes du tableau
Petits et grands tableaux
Les tableaux peuvent contenir de nombreuses lignes, et l’espace qu’ils occupent dans un document peut être important.
Lorsqu’il ne reste plus assez d’espace sur une page, il existe déjà un attribut qui définit si un tableau peut être automatiquement divisé en deux parties ou précédé d’un saut de page pour tenir sur la page suivante.
Jusqu’à 4D V19R4, lorsqueles tableaux sont séparés en deux parties, la séparation se fait toujours entre deux lignes. Cela est généralement suffisant car les lignes d’un tableau ne contiennent que des chiffres ou des étiquettes la plupart du temps. En revanche, lorsque les cellules contiennent un texte plus long (voire plusieurs paragraphes), il peut être intéressant de permettre de les scinder en deux (et donc de scinder également les lignes du tableau) pour remplir l’espace disponible.
Nouveaux attributs
wk page break inside row permet également de diviser un tableau, mais cette fois-ci à l’intérieur des lignes. Notez que cette option est dépendante de la précédente. Si un tableau ne peut pas être divisé, ses lignes ne le peuvent pas non plus.
Cet attribut peut être appliqué à une plage de lignes, à un élément de ligne ou à n’importe quelle cible. Dans ce dernier cas, rappelez-vous qu’au final, ce sont les attributs des lignes qui sont réellement affectés de manière transparente.
wk page break inside paragraph peut être appliqué aux paragraphes, mais aussi à toute cible telle que le document lui-même, une section particulière, une plage de texte, etc. Dans tous les cas, l’attribut sera effectivement attribué aux paragraphes à l’intérieur de la cible. Il s’agit simplement d’une fonctionnalité de « qualité de vie ».
Remarque : L’attribut existant wk page break inside qui s’appliquait à la fois aux paragraphes et aux tableaux est désormais obsolète (mais continuera à fonctionner pour des raisons de compatibilité). Il est avantageusement remplacé par les nouveaux attributs plus explicites décrits ci-dessus.
Qu’est-ce que cela va changer ?
Pour les nouveaux documents, cette nouvelle option est activée par défaut. En fait, elle ne changera rien si les lignes du tableau ne comportent qu’une seule ligne de texte. En revanche, si les cellules contiennent un ou plusieurs paragraphes, ces lignes seront scindées automatiquement.
Pour les documents créés avec une version antérieure, afin de garantir leur mise en page identique, cette option sera désactivée dans toutes les lignes de tous les tableaux lors de l’ouverture des documents.
Exemples de code
Exemple 1 : Autoriser les sauts de page dans n’importe quelle ligne d’un tableau
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
Exemple 2 : Autoriser les sauts de page dans toutes les lignes d’un tableau sauf la première et la dernière ligne.
Vous avez deux façons de programmer ceci selon vos goûts !
#1 Utiliser les plages de lignes
// all rows can be split
WP SET ATTRIBUTES($table ; wk page break inside row; wk auto)
// except first
WP SET ATTRIBUTES (
WP Table get rows($table; 1 ; 1) ; wk page break inside row; wk avoid)
// and last
WP SET ATTRIBUTES (
WP Table get rows($table; $table.rowCount; 1) ; wk page break inside row; wk avoid)
#2 Utiliser des éléments de ligne
// all rows can be split
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
// get row elements
$colRows:=WP Get elements($table; wk type table row)
// except first
WP SET ATTRIBUTES (
$colRows[0] ; wk page break inside row; wk avoid)
//
and last
WP SET ATTRIBUTES (
$colRows[$colRows.length-1] ; wk page break inside row; wk avoid)
Interface
L’interface fournie a, bien entendu, été modifiée pour prendre en compte ces nouveaux attributs dans le menu des tableaux et des lignes.
Conclusion
De nouveaux attributs ont été créés pour plus de clarté, et un autre a été ajouté pour plus de souplesse dans la présentation. A vous de créer de belles mises en page et de beaux documents !
La liste de tous les attributs et constantes se trouve dans la documentation.