Provided by: xmanpages-ja_4.1.0.20011224-6_all bug

名前

       XtSetValues, XtVaSetValues, XtSetSubvalues, XtVaSetSubvalues, XtGetValues, XtVaGetValues,
       XtGetSubvalues, XtVaGetSubvalues - ウィジェットのリソースを取得・設定する

書式

       void XtSetValues(w, args, num_args)
             Widget w;
             ArgList args;
             Cardinal num_args;

       void XtVaSetValues(w, ...)
             Widget w;

       void XtSetSubvalues(base, resources, num_resources, args, num_args)
             XtPointer base;
             XtResourceList resources;
             Cardinal num_resources;
             ArgList args;
             Cardinal num_args;

       void XtVaSetSubvalues(base, resources, num_resources, ...)
             XtPointer base;
             XtResourceList resources;
             Cardinal num_resources;

       void XtGetValues(w, args, num_args)
             Widget w;
             ArgList args;
             Cardinal num_args;

       void XtVaGetValues(w, ...)
             Widget w;

       void XtGetSubvalues(base, resources, num_resources, args, num_args)
             XtPointer base;
             XtResourceList resources;
             Cardinal num_resources;
             ArgList args;
             Cardinal num_args;

       void XtVaGetSubvalues(base, resources, num_resources, ...)
             XtPointer base;
             XtResourceList resources;
             Cardinal num_resources;

引き数

       args      名前/アドレスの組である引き数リストを指定する。名前はリソース名であり、 アドレス
                 はリソース値が格納されるアドレスまたはその新しい値である。

       base      サブパートデータ構造体のベースアドレスを指定する。 この構造体はリソースの取
                 得、書き込みが行われるものである。

       num_args  引き数リスト内の引き数の数を指定する。

       resources ウィジェットでないリソースのリストまたは値を指定する。

       num_resources
                 リソースのリスト内のリソースの数を指定する。

       w         ウィジェットを指定する。

       ...       名前/アドレスの組である可変長引き数リストを指定する。名前はリソース名であり、 ア
                 ドレスはリソース値が格納されるアドレスまたはその新しい値である。

説明

       関数 XtSetValues は、 Core ウィジェットのフィールドに対して指定されたリソースから処理を始
       め、その ウィジェットまでサブクラスの関係をたどってゆく。 各クラスにおいて、新しいウィ
       ジェットのデータレコードには新しい値(引き数 で指定されている場合)または既存の値(新しい値が
       指定されていない場合)が 書き込まれる。 次に XtSetValues は、スーパークラス-サブクラスの順
       でウィジェットの set_values 手続きを 呼び出す。 このウィジェットが NULL でない
       set_value_hook フィールドを持っている場 合には、対応する set_values 手続きの直後にこのフッ
       クが呼び出される。 この手続きを使って、サブクラスは XtSetValues に対してウィジェットでない
       データをセットすることができる。

       ウィジェットの親が constraintWidgetClass のサブクラスである場合、このウィジェットの
       constraint 情報も更新される。 この関数は constraintWidgetClass に対して指定された
       constraint リソースから処理を始め、その親のクラスま でサブクラスの関係をたどってゆく。 各
       クラスのにおいて、新しい constraint レコードには新しい値と既存の値が 書き込まれる。 次
       に、この関数は constraintWidgetClass から親ウィジェットのクラスという順序で、constraint 情
       報についての set_values 手続きを呼び出す。 constraint 情報に関する set_value 手続きがウィ
       ジェットの引き数を使って呼 び出される。この引き数は、constraint レコードの引き数だけでな
       く、レコード 全ての set_values 手続きについてのものである。これにより、ウィジェット に関す
       る全ての情報に基づいて、望ましい値への調整を行うことができる。

       XtSetValues は、現在のウィジェットと新しいウィジェットを比較し、geometry リクエス トが必要
       かどうか決める。 ジオメトリの変更が必要ならば、この関数はリクエストを発行する。これに対 し
       て、ジオメトリマネージャは XtGeometryYes, XtGeometryAlmost, XtGeometryNo のいずれかを返
       す。 XtGeometryYes の場合は、 XtSetValues はウィジェットの resize 手続きを呼び出す。
       XtGeometryNo の場合は、 XtSetValues は geometory フィールドを元の値にリセットする。
       XtGeometryAlmost の場合は、 XtSetValues は set_values_almost 手続きを呼び出す。 この手続き
       は行うべき処理を決定し、geometry フィールドに対する新しい値 を新しいウィジェットに書き込
       む。 それから XtSetValues は、ジオメトリマネージャを再び呼び出すべきか判定しながらこの処
       理を繰り返す。

       最後に、set_values 手続きのうちに1つでも True を返すものがあった場合、 XtSetValues はウィ
       ジェットのウィンドウに対して Xlib の XClearArea 関数を呼び出し、ウィジェットの露出手続きを
       起こさせる。

       関数 XtSetSubvalues は、引き数 base で識別される構造体にリソースを格納する。

       関数 XtGetValues は、コアウィジェットのフィールドに対して指定されたリソースから処理を始
       め、そのウィジェットまでサブクラスの関係をたどってゆく。 渡された引き数リストの value
       フィールドは、対応するリソース値を格納する 領域のアドレスでなければならない。 関数の呼び出
       し側はウィジェット内で使われているリソース表現型に基づき、 この領域の割り当てと解放を行わ
       なければならない。

       このウィジェットの親が constraintWidgetClass のサブクラスである場合、これに続いて
       XtGetValues は要求された constraint リソースに対する値を取得する。 この関数は、
       constraintWidgetClass に対して指定された constraint リソースから処理を始め、このウィジェッ
       ト の親の constraint リソースまでサブクラスの関係をたどってゆく。 検索されたリソースリスト
       内に無いリソース名が引き数リストに含まれている場 合、これに対応するアドレスに格納されてい
       る値が変更されることはない。 最後に、get_values_hook 手続きが NULL でない場合、
       XtGetValues を使って全てのリソース値を取得した後にスーパークラス-サブクラスの順で これらの
       手続きが呼び出される。 これを使って、サブクラスはウィジェットでないリソースデータを
       XtGetValues に対して提供することができる。

       関数 XtGetSubvalues は、引き数 base で識別される構造体からリソース値を取得する。

関連項目

       X Toolkit Intrinsics - C Language Interface
       Xlib - C Language X Interface