フォーマットのマークアップの構文解析

FormText コントロールは、フォーマット・タグがテキストに追加される場合に最も役立ちます。予想されるルート・タグは、form です。このタグは 1 つ以上の子を持つことができ、子は <p> または <li> のいずれかです。これらのタグのいずれにも、通常のテキスト、<b> または <span> タグではさまれたテキスト、イメージ、リンク、および SWT コントロールが使用できます。イメージは、<img href="image key"/> (コンテンツなし) を使用して宣言され、リンクは、<a href="href">text</a> を使用して表されます。

上で説明したタグの一部には、追加属性があるものがあります。タグ <a> は、nowrap="true" を受け入れて、リンクが新しい行にラップされることを防ぎます。タグ <p> は、属性 vspace="false" (デフォルトでは true) を持ち、段落間に追加スペースを追加することができます。タグ <li> には、さらに以下のような属性があります。

通常のテキストの外観に影響を与えるタグは、<b> (予想通りに作用します) と <span> です。後者を使用すると、タグ内のテキストのフォントと色を変更することができます。最後に、ソフト改行を、<br/> タグを使用して追加することができます (これは XML なので、HTML のようにオープンの <br> を使用することはできません)。

リリース 3.1 以降、FormText を使用して、テキスト、ハイパーリンク、およびイメージ内で SWT ウィジェットを混用することができます。SWT コントロールが、FormText の子として作成され、FormText を一種のレイアウト・マネージャーにすることができます。このとき、XML に直接埋め込まれたテキストに対応するコントロールの配置場所を指示します。

共通しているのは、FormText はイメージ、フォント、決定されたリンクおよび色のロードを行わないということです。これはブラウザーではないので、考慮事項を分離して、単に他の場所で管理されているイメージと色を割り当てることをお勧めします。リンクとイメージの両方は、参照用の「href」属性を持ちます。リンクの場合、この属性の値は、リスナーが通知される際にハイパーリンク・イベントで提供されます。イメージは、一致する「href」キーを使用して、テキスト制御に登録する必要があります。この方法で、コントロールでは、イメージのロードに気を使う必要がありません。ハッシュ・テーブル内にイメージを持つので、すぐにレンダリングすることができます。

色とフォントに対しても、同様の方法が使用されています。色はすでにツールキットで処理されているので、固有キーと RGB 値を使用して必要なだけ割り振ることができます。この場合、toolkit.getColors().createColor() を呼び出します。最後に、「span」タグで参照される色をすべて設定し、コントロールがレンダリング中に使用できるようにします。