共通デスクトップ環境 プログラマーズ・ガイド (国際化対応編)

プリエディット領域

プリエディット領域は、あらかじめ編集される (プリエディット) 文字列を表示するのに使用されます。入力メソッドは、次の 4 つのプリエディット・モードをサポートしています。OffTheSpot、OverTheSpot (デフォルト)、Root、および None です。


注 -

確定した文字列は再変換できません。文字列の状態は、プリエディット領域から、ユーザが文字を入力している位置へ移動します。


OffTheSpot

入力メソッドを使用する OffTheSpot モードのプリエディットでは、プリエディットの位置は図 1-4 のようにメイン・ウィンドウ領域のすぐ下かつステータス領域の右側に固定されています。日本語の入力メソッドを例示します。

図 1-4 VendorShell ウィジェットでの OffTheSpot プリエディットの例 (日本語)

Graphic

システム環境では、入力メソッドを使用してプリエディットすると、編集されているプリエディット文字列が、入力メソッドによって何らかの形で強調表示されます。

OffTheSpot モードを使用するには、VendorShell()ウィジェットのXmNpreeditType() リソースを、XtSetValues() 関数かリソース・ファイルのどちらかで設定します。XmNpreeditType() リソースは、TopLevelShell()ApplicationShell()DialogShell() ウィジェットのリソースとしても設定できます。この 3 つのウィジェットは、VendorShell() ウィジェット・クラスのサブクラスです。

OverTheSpot (デフォルト)

OverTheSpot モードでは、プリエディット領域の位置はユーザが文字を入力しようとする場所 (たとえば現在のフォーカスを持つ Text ウィジェットの挿入カーソルの位置) に設定されています。プリエディット領域の文字は、カーソル位置にオーバレイ・ウィンドウとして表示され、入力メソッドによっては強調表示されます。

OverTheSpot モードでは 1 つのプリエディット領域が複数の行から成る場合があります。プリエディット領域は常にメイン・ウィンドウ領域の中にあり、どの方式でもはみ出すことはありません。

プリエディット中の文字列が Text ウィジェットのテキストの一部であるかのように表示されていても、プリエディットが終了するまでは、クライアントに渡されて下位の編集画面に表示されることはないので注意してください。図 1-5 を参照してください。

OverTheSpot モードを明示的に使用するには、VendorShell() ウィジェットの XmNpreeditType() リソースを、XtSetValues() 関数かリソース・ファイルのどちらかで設定します。XmNpreeditType() リソースは、TopLevelShell()ApplicationShell()、またはDialogShell() ウィジェットのリソースとしても設定できます。この 3 つのウィジェットは、VendorShell() ウィジェット・クラスのサブクラスです。

図 1-5 VendorShell ウィジェットでの OverTheSpot プリエディットの例 (日本語)

Graphic

Root

Root モードでは、プリエディット領域およびステータス領域はクライアントのウィンドウとは別になっています。Root モードの動作は OffTheSpot に似ています。図 1-6 を参照してください。

図 1-6 VendorShell ウィジェットでの Root プリエディットの例 (日本語)

Graphic