コンバータ

指定されたウィジェットに対して関連付けられているリソースは、X リソースファイル内に入力される文字列による外部表現、そしてウィジェット内で関連データを操作する時に使用する内部形式、という少なくとも 2 種類の基本表現を持っています。

Motif のウィジェットセットには、X リソース文字列表現を適切な内部フォーマットに変更するためのコンバータ (変換関数) が何組か組み込まれています。

ただし、ユーザー定義ウィジェットには、既存のコンバータでは対応できない非標準のリソースをサポートしている場合があります。

この場合、ダイナミックディスプレイ内で使用するために、リソースパネルに入力された文字列形式を内部表現に変換する方法を X-Designer に教える必要があります。

コンバータ表示を使用すると、ユーザー定義ウィジェットと共に、テキスト文字列を内部リソース値に変換するためにどんな関数でも指定することができます。

幸い、多くのウィジェットはウィジェットクラスの初期化の際に、独自のコンバータを内部で構成します。これらのウィジェットに対しては、ユーザーが「エントリ」リストにリソース型を追加するだけで、X-Designer は、コンバータが存在することを認識します。そうでない場合は、値はコードまたはリソースファイルに生成されますが、リソースは動的に設定されません。コンバータが内部的に追加されるかどうかは、ご使用になるウィジェットに関する資料で確認してください。

ウィジェットによって内部的にコンバータが追加されない場合には、明示的にコンバータを追加するように X-Designer に要求することができます。これを行うためには、専用の「コンバータ」フィールドにリソースコンバータの名前を入力します。また、X-Designer をコンバータと一緒に構成する (ダイナミックディスプレイが動作するようにする) かどうか、また、指定されたコンバータを生成コードに追加するかどうかを明示的に指示するための、トグルが提供されています。

標準的でないリソース型コンバータを指定する場合には、通常、両方のトグルを設定する必要があります。

ポップアップボタンを使用すると、指定された型のリソースが一次リソースパネル内で使用される場合に、その型のすべてのリソースに使用される二次リソースパネルを指定することができます。

リソースコンバータ関数は、XtTypeConverter 型としてください。この問題についての詳細は、X ツールキットの資料を参照してください。

関連項目: