Analisi dei tag di formattazione

L'uso più efficace del controllo FormText è durante l'aggiunta di tag di formattazione al testo. Il tag principale previsto è form. Questo può avere uno o più elementi secondari di tipo <p> o <li>. Entrambi possono contenere testo normale, testo tra tag <b> o <span>, immagini, collegamenti e controlli SWT. Le immagini sono dichiarate utilizzando <img href="image key"/> (nessun contenuto), mentre i collegamenti sono espressi utilizzando <a href="href">text</a>.

Alcuni dei tag sopra indicati possono avere altri attributi. Il tag <a> può accettare nowrap="true" per evitare che il collegamento sia riportato a capo su una nuova riga. Il tag <p> può avere l'attributo vspace="false" (true per impostazione predefinita) che aggiunge ulteriore spazio tra i paragrafi. Il tag <li> prevede più attributi:

I tag che influenzano l'aspetto del testo normale sono <b> (secondo il funzionamento previsto) e <span>. Quest'ultimo consente di modificare tipo di carattere e/o colore del testo contenuto nel tag. Infine, è possibile aggiungere interruzioni di riga utilizzando il tag <br/> (questo è valido per XML, non è possibile utilizzare un <br> aperto come in HTML).

Dalla versione 3.1, FormText può essere utilizzato per combinare widget SWT nel testo, nei collegamenti ipertestuali e nelle immagini. I controlli SWT sono creati come elementi secondari di FormText; questo rende FormText una specie di gestore di layout, con istruzioni su dove collocare il controllo relativamente al testo integrato direttamente in XML.

Va tenuto in considerazione che FormText non è responsabile per il caricamento delle immagini, dei tipi di carattere, della risoluzione dei collegamenti o dei colori. Questo non è un browser; si consiglia di tenere separate le funzioni ed assegnare semplicemente immagini e colori gestiti altrove. Sia i collegamenti che le immagini presentano solo un attributo 'href' per referenziarle. Per i collegamenti, il valore di questo attributo verrà fornito dall'evento di collegamento ipertestuale quando i listener ricevono la notifica. Le immagini devono essere registrate nel controllo di testo utilizzando la chiave 'href'. In questo modo, il controllo non deve occuparsi del caricamento delle immagini; le mantiene nella tabella hash e può effettuare subito il rendering.

Un approccio simile può essere utilizzato per colori e tipi di carattere. I colori sono già gestiti dal toolkit, quindi è possibile allocarne quanti se ne vuole utilizzando una chiave univoca e i valori RGB richiamando toolkit.getColors().createColor(). Restano solo da impostare tutti i colori a cui si fa riferimento nel tag 'span', in modo che il controllo possa utilizzarli durante il rendering.