XtMakeGeometryRequest(3Xt) — NEWS-OS Programmer’s Manual
名称
XtMakeGeometryRequest, XtMakeResizeRequest − ジオメトリマネジャへ リクエストを発生する
形式
XtGeometryResult XtMakeGeometryRequest(w, request, reply_return)
Widget w;
XtWidgetGeometry ∗request;
XtWidgetGeometry ∗reply_return; XtGeometryResult XtMakeResizeRequest(w, width, height, width_return, height_return)
Widget w;
Dimension width, height;
Dimension ∗width_return, ∗height_return
引数
reply_returnゆるされたウィジェットサイズを返し、または、要求しているウィジェットが XtGeometryAlmost の操作に興味をもっていない場合は NULL もありえます。
request希望するウィジェットのジオメトリ ( サイズ、位置、ボーダ幅、 スタッキングオーダ ) を指定します。
wリクエストを発生している ウィジェットを指定します。
width_return
height_return
ゆるされたウィジェットの幅と高さを返します。
解説
条件に従って、 XtMakeGeometryRequest 関数は次のことを行います。
•ウィジェットがマネージされていないか、ウィジェットの親がリアライズ されていない場合は、 変更を行い、 XtGeometryYes を返します。
•親が compositeWidgetClass のサブクラスでないか、または親の geometry_manager が NULL の場合は、 エラーを出します。
•ウィジェットの being_destroyed フィールドが True の場合、 XtGeometryNo を返します。
•ウィジェットの x、y 座標、幅、高さおよび border_width フィールドが すべて要求される値に等しい場合、 XtGeometryYes を返します。 そうでない場合は、与えられたパラメータで親の geometry_manager プロシージャを呼び出します。
•親のジオメトリマネージャが XtGeometryYes を返し、かつ request_modeに XtCWQueryOnly がセットされていなくて、かつこのウィジェットがリアライズされている 場合、 XtMakeGeometryRequest は、 Xlib 関数 XConfigureWindow を呼び出し、ウィジェットのウィンドウを再構成します ( サイズ、位置、 およびスタッキングオーダを適切にセットします ) 。
•ジオメトリマネジャが XtGeometryDone を返した場合、 変更は承認されて、実際にその変更が行われています。 この場合、 XtMakeGeometryRequest は、ウィンドウの構成を行わず、 XtGeometryYes を返します。 XtMakeGeometryRequest は決して XtGeometryDone を返しません。 その他の場合は、 XtMakeGeometryRequest は、親のジオメトリマネジャから生じた値を返します。 プリミティブウィジェットの子は、常にマネージされていません。それ故、 XtMakeGeometryRequest は、プリミティブウィジェットの子により呼び出されたときは、いつも XtGeometryYes を返します。 XtMakeResizeRequest 関数は、 XtMakeGeometryRequest への簡単なインターフェースで、 XtWidgetGeometry 構造体を作成し、幅と高さを変更するよう指定します。 ジオメトリマネジャは、このリサイズリクエストを満たすために、 他のどのウィンドウ属性も ( 位置およびスタッキングオーダ ) 自由に 変更します。 リターン値が XtGeometryAlmost の場合は、 width_return および height_return には、妥協の幅と高さが はいっています。 これらが、受入れられるものならば、ウィジェットはすぐに XtMakeResizeRequest を行い、その妥協案の幅と高さを使用することを要求しなければなりません。 ウィジェットが XtGeometryAlmost の応答に興味がない場合は、 width_return 、および height_return に対して NULL を渡すことが できます。
関連事項
XtConfigureWidget(3Xt), XtQueryGeometery(3Xt)
X Toolkit Intrinsics − C Language Interface
Xlib − C Language X Interface
NEWS-OSRelease 4.1C