Vous pouvez tirer le meilleur profit de la puissance de la commande FormText
en ajoutant des balises de formatage au texte. La balise racine attendue est form
.
Elle a un ou plusieurs enfants qui peuvent être <p>
ou <li>
.
L'un de ces derniers peut disposer de texte normal, texte entre balises <b>
ou
<span>
, images, liens et commandes SWT
. Les images sont déclarées au moyen de <img href="image key"/>
(aucun contenu), tandis que les liens sont exprimés au moyen de <a href="href">text</a>
.
Certaines des balises mentionnées ci-dessus ont d'autres attributs. La balise
<a>
peut accepter nowrap="true"
pour éviter que le lien ne soit encapsulé dans la nouvelle ligne. La balise <p>
peut être associée à l'attribut
vspace="false"
(true
par défaut) qui ajoute un espace supplémentaire entre les paragraphes. La balise <li>
dispose d'attributs supplémentaires :
style - peut avoir la valeur text
, bullet
et image
(la valeur par défaut est bullet
)
value - non utilisé pour bullet
; si le style est
text
, la valeur sera affichée à la place d'une puce ;
si le style est image
, la valeur représente une clé dans la table d'image d'une image à afficher à la place d'une puce
vspace - la même chose que pour la balise 'p
'.
indent - le nombre de pixels de retrait du texte
bindent - le nombre de pixels de retrait de la puce (ce nombre est tributaire de 'indent' - veillez à ne pas les faire chevaucher)
Les balises qui modifient l'apparence du texte normal sont <b>
(fonctionne comme prévu) et <span>
. Ce dernier permet de changer la police et/ou la couleur du texte de la balise. Enfin, des retours à la ligne facultatifs peuvent être ajoutés au moyen de la balise <br/>
(notez qu'il s'agit de XML et que vous ne pouvez pas utiliser un <br>
ouvert comme en HTML).
Depuis l'édition 3.1, FormText
permet de combiner des widgets SWT dans le texte, les hyperliens et les images. Les commandes SWT sont créées en tant qu'enfants de
FormText
, ce qui transforme FormText
en gestionnaire de mise en page donnant des instructions sur l'emplacement de la commande relative au texte imbriqué directement dans XML.
On observe toutefois que FormText
ne prend pas en charge le chargement des images, des polices, des liens à résoudre ou des couleurs. Comme il ne s'agit pas d'un navigateur, il est préférable de bien établir la distinction et d'attribuer les images et les
couleurs gérées dans une autre application. Les liens et les images ont simplement un attribut 'href
'
pour les référencer. Pour les liens, la valeur de cet attribut est fournie dans l'événement hyperlien, lors de la notification des écouteurs. Les images doivent être
enregistrées avec la commande de texte au moyen de la clé de correspondance 'href'. De cette façon, la commande n'a pas à se préoccuper du chargement des images - elle les conserve dans la table de hachage et peut les afficher immédiatement.
Une approche similaire est retenue pour les couleurs et les polices. Les couleurs sont déjà traitées par les outils de développement, de sorte que vous pouvez en attribuer autant que vous voulez au moyen d'une clé unique et des valeurs RVB et en appelant toolkit.getColors().createColor()
.
Il reste à définir toutes les couleurs référencées dans la balise 'span
', de manière à ce que la commande puisse les utiliser lors de l'affichage.