XmRowColumn
子を行または列に並べる汎用マネージャ。その正体は、Motifアプリケーションのメニューバー、プルダウンメニュー、ラジオボックス、オプションメニューのすべてである。
本質的にはXmRowColumnがやることは一つで、XmNorientationに従って子を水平または垂直に並べ、XmNpackingとXmNnumColumnsに従って折り返す。ところがXmNrowColumnTypeで性格が変わる。XmMENU_BAR、XmMENU_PULLDOWN、XmMENU_POPUP、XmMENU_OPTIONが四種類のメニューを与え、XmNradioBehaviorはトグルボタンの集まりを、同時に一つしか選べないラジオボタンにする。XmCreateMenuBar、XmCreatePulldownMenu、XmCreateRadioBox、XmCreateOptionMenuはどれも、設定が違うだけで同じウィジェットを作る。
いかにもMotifらしいトレードオフで、ドキュメントすべきクラスが一つ減る代わりに、マニュアルページは最長級になり、リソースの半分は特定のモードでしか効かない。RowColumnのメニューはX窓を節約するためウィジェットではなくガジェットで満たされ、Motif 1.2以降でメニューを切り離せるようにする上部の破線を描くのもRowColumnだ。XmNentryClassとXmNisHomogeneousで子の型を一種類に強制でき、ラジオボックスはこれでトグルボタン以外を拒否している。