InputMethodClient (クラス)
public abstract shared InputMethodClient
パッケージ: CURL.GUI.IME
直接継承しているサブクラス: BaseTextControlUI-of, TextEditPanel

インプット メソッドのイベントおよびリクエストを受け取るオブジェクトのインターフェイスです。

説明

このクラスは Visual と統合される予定です。

InputMethodClient がインプット メソッドと行うインタラクションには、次の 3 つのタイプがあります。 InputMethodEventInputMethodClient で直接行われるリクエスト メソッドの呼び出し、および supports-inline-mode? の値です。

InputMethodEvent は、 Visual も継承する InputMethodClient にディスパッチされるだけであること、true (既定) に設定されたinput-method-enabled? オプションがあること、true (既定ではない) の supports-inline-mode?値があること、および現在キー フォーカスがあることを除けば、一般に KeyEvent と同じように処理されます。

インプット メソッドが InputMethodClient サブクラスに関して直接行うリクエストはオプショナルとなっています。各メソッドは値をペアで返します。2 番目の値はリクエストが処理されたかどうかを示す bool です。これらのメソッドの既定の実装は、リクエストが処理されてないことを示す false を返します。

supports-inline-mode? 値は、オブジェクトの作成時に設定する必要があります。詳細については、該当するドキュメントを参照してください。

プロパティ
supports-inline-mode?:この InputMethodClient がインライン モードをサポートするかどうかを指定します。
フィールド public-get protected-set InputMethodClient.supports-inline-mode?:bool

メソッド
handle-caret-position-request:キャレットの位置を提供します。
public {InputMethodClient.handle-caret-position-request
}:(value:InputMethodCaretPosition, handled?:bool)
handle-font-request:現在クライアントが使用している Font を提供します。
public {InputMethodClient.handle-font-request
}:(font:Font, handled?:bool)
handle-reconversion-request:再変換する String を提供します。
public {InputMethodClient.handle-reconversion-request
}:(value:String, handled?:bool)
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize




プロパティ詳細
supports-inline-mode? (フィールド)
public-get protected-set InputMethodClient.supports-inline-mode?:bool

この InputMethodClient がインライン モードをサポートするかどうかを指定します。

説明

インライン モードでは、クライアント オブジェクトは合成文字列を表示し、現在の合成状態をビジュアルに示します (たとえば、選択された句をハイライト表示したり、それぞれの句を点線の下線付きで表示します)。

InputMethodClient は、インプット メソッドを動作させるためにインライン モードをサポートする必要はありません。インプット メソッドは通常、クライアント上で作成された小さなウィンドウに合成文字列そのものを表示することができます。ただし、合成文字列のインライン表示は慣例なので、インラインがサポートされていないとユーザーがとまどうことがあります。

インライン モードをサポートする InputMethodClient だけが InputMethodEvent を受け取ります。

インラインをサポートする選択をしたクライアントは、この値をコンストラクタで TRUE に設定する必要があります。作成時に値を設定した後でクライアントがこれを変更することは推奨されていません。変更すると予期しない結果を招く可能性があります。





メソッド詳細
handle-caret-position-request (メソッド)
public {InputMethodClient.handle-caret-position-request
}:(value:InputMethodCaretPosition, handled?:bool)

キャレットの位置を提供します。

戻り値

リクエストが処理される場合は、InputMethodCaretPosition および true です。それ以外の場合 (既定) は、任意の値および false です。

説明

インプット メソッドがキャレットの位置をクエリする必要がよくあります。この一般的な理由は、インプット メソッド ウィンドウをキャレットに近い位置にグラフィック上で合わせるためです。

このリクエストが行われると、クライアント オブジェクトは現在のキャレットの位置を表す InputMethodCaretPosition を返します。位置が返されない場合、インプット メソッドは通常、既定の動作に戻ります (たとえば、キャレットが View の左上隅にあると想定します)。

注意事項

InputMethodCaretPosition の座標は InputMethodClient の座標系にある必要があります。


handle-font-request (メソッド)
public {InputMethodClient.handle-font-request
}:(font:Font, handled?:bool)

現在クライアントが使用している Font を提供します。

戻り値

リクエストが処理される場合は、Font および true です。それ以外の場合は (既定)、任意の値および false です。

説明

これは、クライアントを参照するインプット メソッド ウィンドウ、たとえばインラインをサポートしないクライアントのコンポジション ウィンドウなどでフォント情報を設定するために使用されます。リクエストが処理されない場合は、インプット メソッドは代わりに既定のフォントを選択します。


handle-reconversion-request (メソッド)
public {InputMethodClient.handle-reconversion-request
}:(value:String, handled?:bool)

再変換する String を提供します。

戻り値

リクエストが処理される場合は、String および true です。それ以外の場合は (既定)、任意の値および false です。

説明

インプット メソッドでは、シーケンスを入れ替えるために以前に入力したテキストを表示することができます。

このリクエストが行われると、クライアント オブジェクトは再変換のための String を返します。これは通常、現在選択されているコンテンツです。クライアント オブジェクトは通常、String をそのコンテンツから削除します。これは、文字列が元のコンテンツとして一度表示され、さらに再変換されたコンテンツとしてもう一度表示されるような、二重表示を避けるためです。