dtksh のグラフィカル・コマンドは、対応する C 関数の定義に基づいて、次の 4 つのカテゴリに分類されます。
関数は Void で、値を返しません。例: XtMapWidget()
関数は Void ですが、関連するパラメータを介して 1 つ以上の値を返します。
例: XmGetColors()
関数は、非ブール値を返します。例: XtCreateManagedWidget()
関数は、ブール値を返します。例: XtIsSensitive()
dtksh のカテゴリ 1 のコマンドは、対応する C 関数の呼び出しシーケンスに従います。パラメータの数や順序に関しては、関数の標準マニュアルを参照してください。
XtMapWidget $FORM
dtksh のカテゴリ 2 のコマンドも、一般的に対応する C 関数の呼び出しシーケンスに従います。変数へのポインタを渡す代わりに、環境変数の値を返します。
XmGetColors $FORM $BG FOREGROUND TOPSHADOW BOTTOMSHADOW SELECT echo "Foreground color = " $FOREGROUND
dtksh のカテゴリ 3 のコマンドは、対応する C 関数とは多少異なります。C 関数がその値をプロシージャ・コールの値として返すのに対して、dtksh コマンドは追加のパラメータを要求します。このパラメータは、戻り値として置かれている環境変数の名前で、常に最初のパラメータになります。
XmTextGetString TEXT_VALUE $TEXT_WIDGET echo "The value of the text field is "$TEXT_VALUE
dtksh のカテゴリ 4 のコマンドは、C の場合と全く同様の条件付き式で使用できる値を返します。C 関数がリファレンス変数 (カテゴリ 2 と同じ) を介して値を返すと、dtksh コマンドもまた、対応するパラメータの変数名を使用します。
if XmIsTraversable $PUSH_BUTTON; then echo "The pushbutton is traversable" else echo "The pushbutton is not traversable" fi
一般に、コマンドに渡されるパラメータの順序と型は、対応する C 関数に渡されるものと一致します。ただし、カテゴリ 3 のコマンドのところで記述したものは例外です。