Formázó leírónyelv elemzése

A FormText vezérlőelem akkor használható a legerőteljesebben, amikor a szöveg formázó címkéket tartalmaz. A várt gyökércímke a form. Egy vagy több utódja lehet, amelyek vagy <p> vagy <li> elemek lehetnek. Mindkettő tartalmazhat normál szöveget, <b> vagy <span> címkék közötti szöveget, képeket, hivatkozásokat és SWT vezérlőelemeket. A képeket <img href="image key"/> (tartalom nélkül), míg a hivatkozásokat <a href="href">text</a> használatával lehet megadni.

A fent említett címkék közül néhány további attribútumokkal is rendelkezik. A <a> címke elfogadja a nowrap="true" attribútumot a hivatkozás új sorba tördelésének megakadályozására. A <p> címke rendelkezhet a vspace="false" (true alapértelmezésben) attribútummal, amely kiegészítő területet vesz fel a bekezdések közé. A <li> címkének több attribútuma van:

A normál szöveg megjelenését befolyásoló címkék a <b> (az elvárásnak megfelelően működik) és a <span>. Az utóbbi lehetővé teszi a szöveg betűtípusának és/vagy színének megváltoztatását a címkén belül. Végül gyenge sortörések helyezhetőek el a <br/> címke segítségével (ne feledje, hogy ez XML, így nem használhat nyitott <br> címkét mint HTML-ben).

A 3.1 kiadás óta a FormText SWT felületi elemek, hiperhivatkozások és képek keverésére is használható. Az SWT vezérlőelemek a FormText leszármazottaiként jönnek létre, emiatt a FormText egyfajta elrendezéskezelővé válik, utasításokkal a vezérlőelem elhelyezéséről a beágyazott szöveghez képest, közvetlenül az XML-ben.

Az egyik megfigyelhető motívum az, hogy a FormText nem felelős a képek, betűtípusok betöltéséért, a hivatkozások feloldásáért vagy a színekért. Ez nem egy böngésző és sokkal jobb a gondokat elkülöníteni és egyszerűen hozzárendelni a máshol kezelt képeket és színeket. A hivatkozásokra és képekre egyszerűen egy 'href' attribútummal lehet hivatkozni. Hivatkozások esetén a figyelők értesítésekor a hiperhivatkozás eseményben ezen attribútum értéke lesz átadva. A képeket be kell jegyezni a szöveg vezérlőelemnél az egyező 'href' kulcs használatával. Így a vezérlőelemnek nem kell a képk betöltése miatt aggódnia - a kivonattáblában megvannak és azonnal megjelenítheti őket.

A színek és betűtípusok esetén hasonló megközelítés van használva. A színeket már kezeli az eszközkészlet, így a toolkit.getColors().createColor() hívásával egy egyedi kulcs és RGB érték használatával annyi színt foglalhat le, amennyit csak akar. Már csak a 'span' címkében hivatkozott összes színt kell beállítani, így a vezérlőelem képes lesz őket a megjelenítés során használni.