XmText
ウィジェットになった Motif のテキストエディタ。一行版の XmTextField があり、dtpad や各ダイアログの入力欄、無数の社内ツールの編集機能はこれの上に築かれた。
XmText は一行または複数行のテキストを表示・編集し、XmNeditMode で挙動が決まる。プログラムは XmTextGetString と XmTextSetString で内容を読み書きし、XmTextInsert で挿入し、変更は XmNvalueChangedCallback で知る。XmNmodifyVerifyCallback は変更の適用前に呼ばれて拒否でき、数字だけの入力欄はこれで作られた。XmCreateScrolledText はウィジェットを XmScrolledWindow に置いてスクロールバーを付け、XmNwordWrap、XmNrows、XmNcolumns、XmNmaxLength が残りを担う。XmTextField は同じインターフェースを一行に限定したもので、Return には XmNactivateCallback を使う。
内部にはテキストソース XmTextSource があり、二つのウィジェットで共有すれば一つのバッファを二つのウィンドウに表示できる。キー操作は Motif の仮想バインディングに従い、Emacs 風の移動はトランスレーションテーブルで使える。