À partir de la version 4D 21 R3, vous pouvez créer dans 4D Write Pro des listes à puces et numérotées structurées et complexes, comportant plusieurs niveaux, à l’aide de feuilles de style, et les exporter vers tous les formats, y compris le format docx. Par exemple, si vous souhaitez créer une liste à plusieurs niveaux dont la numérotation s’ajuste automatiquement lorsque du contenu est supprimé ou ajouté à tous les niveaux, ou si vous souhaitez que les titres et sous-titres aient des styles et une numérotation cohérents dans l’ensemble de votre document 4D Write Pro, cette nouvelle fonctionnalité est faite pour vous. Dans cet article, nous vous montrerons exactement comment créer des listes à plusieurs niveaux à l’aide de feuilles de style à plusieurs niveaux.
Plus précisément, nous expliquerons comment utiliser les actions standard ainsi que les commandes pour gérer les feuilles de style à plusieurs niveaux.
HDI_4DWP_MultiLevelStyleSheets
Gérer les feuilles de style à plusieurs niveaux via les actions standard
Si vous souhaitez obtenir le résultat présenté dans l’animation ci-dessous, voici comment procéder :
- Étape 1: Disposez d’une feuille de style de paragraphe avec un type de style de liste appliqué à plusieurs paragraphes
- Étape 2: Utilisez l’action standard « listLevelAppend» afin d’ajouter de nouveaux niveaux à votre feuille de style de paragraphe ; vous passez ainsi d’une liste à un seul niveau à une liste à plusieurs niveaux
- Étape 3: Utilisez les actions standard « listLevelDec » et « listLevelInc» pour augmenter ou diminuer le niveau des paragraphes sélectionnés
- Étape 4: Ajustez le format des marqueurs de numérotation à l’aide des actions standard « listConcatStringFormat » et « listNumberFormat»

Gestion des feuilles de style à plusieurs niveaux via les commandes 4D
Avant la version 4D 21 R3, 4D Write Pro proposait déjà des feuilles de style pouvant inclure tous les styles de paragraphe (y compris les types de liste) et pouvant être appliquées aux paragraphes. Nous avons enrichi ce concept existant afin qu’il puisse être utilisé pour créer des listes à plusieurs niveaux.
La liste à plusieurs niveaux de la capture d’écran ci-dessous comporte 3 niveaux : un niveau racine et 2 sous-niveaux. Pour y parvenir, vous avez besoin de 3 feuilles de style de paragraphe liées entre elles : une feuille de style de niveau racine et 2 feuilles de style de sous-niveau qui lui sont associées. Voici comment procéder en quelques étapes concrètes :
- Étape 1: Créez la feuille de style de niveau racine et les deux feuilles de style de sous-niveaux associées à l’aide de la commande ` WP New style sheet ` en une seule ligne de code. Ces trois feuilles de style sont créées avec les valeurs par défaut suivantes : ` wk list type = wk decimal ` et ` wk margin left = 0,75 cm* (nombre de niveaux précédents)
- Étape 2: Récupérez les 3 objets de feuille de style différents à l’aide de la commande WP Get style sheet
- Étape 3: Mettez à jour le style de la feuille de style de niveau racine et de chacune des feuilles de style de sous-niveau à l’aide de la commande WP SET ATTRIBUTES , exactement comme vous l’avez fait précédemment avec les feuilles de style de paragraphe normales. Les styles spécifiques que nous devons mettre à jour dans notre cas sont les suivants : wk list style type, wk color, wk font size, wk font, wk font bold, wk list string format ltr, et wk list format string concat (nouvel attribut)
- Étape 4: Appliquez chaque feuille de style aux paragraphes correspondants à l’aide de la commande WP SET ATTRIBUTES , comme vous l’avez fait précédemment avec les feuilles de style de paragraphe normales.
- Étape 5 (facultative): Vous pouvez supprimer une feuille de style spécifique à l’aide de la commande WP DELETE STYLE SHEET si vous changez d’avis, mais n’oubliez pas que si vous supprimez la feuille de style de niveau racine, les feuilles de style de niveau inférieur qui y sont associées seront également supprimées.
- Étape 6 (facultative): Vous pouvez exporter votre document 4D Write Pro contenant votre liste à plusieurs niveaux à l’aide de la commande WP EXPORT DOCUMENT vers d’autres formats : DOCX, SVG, PDF et HTML. Dans ce cas, votre liste exportée conservera la même hiérarchie, les mêmes styles et la même structure sans perdre l’indentation ni la numérotation.

Voici l’ensemble du code nécessaire pour créer la liste à plusieurs niveaux à l’aide de feuilles de style à plusieurs niveaux :
$spanishNovels:="Spanish Novels\n20th century\nCien años de soledad\nEl túnel\nFicciones\n"
$frenchNovels:="French Novels\n19th century\nLes Misérables\nMadame Bovary\nGerminal"
WP SET TEXT(WParea; $spanishNovels+$frenchNovels; wk append)
//Creating 3 multi-level style sheets
WP New style sheet(WParea; wk type paragraph; "MyList"; 3)
//Getting the multi-level style sheets objects
levelStyle1:=WP Get style sheet(WParea; "MyList"; 1)
levelStyle2:=WP Get style sheet(WParea; "MyList"; 2)
levelStyle3:=WP Get style sheet(WParea; "MyList"; 3)
//Modifying the paragraph styles of the multi-level style sheets
WP SET ATTRIBUTES(levelStyle1; \
{listStyleType: wk upper latin; color: "#1F3A5F"; fontSize: 18; font: "Tahoma"; listFont: "Tahoma"; fontBold: wk true})
WP SET ATTRIBUTES(levelStyle2; \
{listStyleType: wk decimal; listConcatStringFormat: True; color: "#52796F"; fontSize: 16; font: "Tahoma"; listFont: "Tahoma"; fontBold: wk true})
WP SET ATTRIBUTES(levelStyle3; \
{listStringFormatLtr: "(#)"; listConcatStringFormat: False; color: "Black"; fontSize: 12; font: "Times New Roman"; listFont: "Times New Roman"})
//Setting the multi-level style sheets to the appropriate paragraphs
$paragraphs:=WP Get elements(WParea; wk type paragraph)
For ($i; 0; 9)
If (($i=0) ' ($i=5))
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle1)
Else
If (($i=1) ' ($i=6))
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle2)
Else
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle3)
End if
End if
End for
Importation et exportation de listes à plusieurs niveaux
Les listes à plusieurs niveaux ne sont pas seulement disponibles dans 4D Write Pro, elles sont également conservées lors de l’exportation ou de l’importation vers ou depuis d’autres formats.
Lorsque vous exportez un document 4D Write Pro contenant des listes à plusieurs niveaux, le document résultant conserve la même structure de liste et les mêmes niveaux dans tous les formats d’exportation pris en charge, y compris DOCX, PDF, SVG, page Web HTML complète et HTML-MIME. Cela signifie que votre numérotation à plusieurs niveaux (niveau racine et sous-niveaux) reste cohérente, sans aplatissement de la liste ni perte d’indentation et de hiérarchie.
De même, lors de l’importation d’un document DOCX contenant une liste à plusieurs niveaux, 4D Write Pro conserve la même structure à plusieurs niveaux dans le document 4D Write Pro résultant.
Les listes plates et à plusieurs niveaux sont importées avec leur hiérarchie intacte, et vous pouvez continuer à les modifier par programmation ou via des actions standard.
Conclusion
Grâce aux feuilles de style à plusieurs niveaux de 4D Write Pro, la création de documents structurés et professionnels devient plus simple et plus puissante que jamais. Que vous construisiez des plans complexes, organisiez des informations hiérarchiques ou assuriez une numérotation cohérente dans de longs documents, cette fonctionnalité vous offre un contrôle total sur la structure et la présentation de votre contenu.
En combinant des actions standard pour l’édition interactive et des commandes 4D pour le contrôle programmatique, vous pouvez facilement créer, gérer et maintenir des listes à plusieurs niveaux qui s’adaptent automatiquement à mesure que votre document évolue. Mieux encore, ces listes conservent leur structure et leur mise en forme lors de l’exportation ou de l’importation de documents, garantissant une interopérabilité transparente avec des formats tels que DOCX, PDF, HTML et bien d’autres.
Alors que 4D 21 R3 offre déjà de puissantes fonctionnalités pour gérer les listes à plusieurs niveaux par programmation et via des actions standard, une interface utilisateur dédiée permettant de gérer ces fonctionnalités de manière plus intuitive sera introduite dans 4D 21 R4, améliorant encore l’expérience globale.
Pour plus de détails sur les listes dans 4D Write Pro, consultez la documentation, et pour vos questions et remarques, rendez-vous sur le forum 4D.
Les commentaires ne sont pas disponibles pour cet article pour le moment.