共通デスクトップ環境 Dtksh ユーザーズ・ガイド

戻り値

dtksh のグラフィカル・コマンドは、対応する C 関数の定義に基づいて、次の 4 つのカテゴリに分類されます。

  1. 関数は Void で、値を返しません。例: XtMapWidget()

  2. 関数は Void ですが、関連するパラメータを介して 1 つ以上の値を返します。

    例: XmGetColors()

  3. 関数は、非ブール値を返します。例: XtCreateManagedWidget()

  4. 関数は、ブール値を返します。例: XtIsSensitive()

カテゴリ 1

dtksh のカテゴリ 1 のコマンドは、対応する C 関数の呼び出しシーケンスに従います。パラメータの数や順序に関しては、関数の標準マニュアルを参照してください。

例:

XtMapWidget $FORM

カテゴリ 2

dtksh のカテゴリ 2 のコマンドも、一般的に対応する C 関数の呼び出しシーケンスに従います。変数へのポインタを渡す代わりに、環境変数の値を返します。

例:

XmGetColors $FORM $BG FOREGROUND TOPSHADOW BOTTOMSHADOW SELECT  
echo "Foreground color = " $FOREGROUND

カテゴリ 3

dtksh のカテゴリ 3 のコマンドは、対応する C 関数とは多少異なります。C 関数がその値をプロシージャ・コールの値として返すのに対して、dtksh コマンドは追加のパラメータを要求します。このパラメータは、戻り値として置かれている環境変数の名前で、常に最初のパラメータになります。

例:

XmTextGetString TEXT_VALUE $TEXT_WIDGET  
echo "The value of the text field is "$TEXT_VALUE

カテゴリ 4

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 のコマンドのところで記述したものは例外です。