Other Alias
XtMakeGeometryRequest書式
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, width, height, border_width フィールドのそれぞれ が要求された値と等しい場合、この関数は XtGeometryYes を返す。 等しくないものがある場合、この関数は与えられたパラメータを使って親の geometry_manager 手続きを呼び出す。
- 親のジオメトリマネージャが XtGeometryYes を返し、request_mode に XtCWQueryOnly がセットされておらず、さらにウィジェットがリアライズされていない場合に は、 XtMakeGeometryRequest は Xlib の関数である XConfigureWindow を呼び出し、ウィジェットのウィンドウを再設定する(サイズ、位置、スタッ ク順が適切に設定される)。
- ジオメトリマネージャが XtGeometryDone を返した場合、 XtMakeGeometryRequest が XtGeometryDone を返すことはない。
そうでない場合、 XtMakeGeometryRequest は親のジオメトリマネージャから得た結果を返す。
基本ウィジェットの子は常にマネージ解除されている。したがって、 基本ウィジェットの子に呼び出されたときには XtMakeGeometryRequest は常に XtGeometryYes を返す。
関数 XtMakeResizeRequest は XtMakeGeometryRequest の簡易インタフェースである。この関数は XtWidgetGeometry 構造体を生成して、変更する幅と高さを指定する。 ジオメトリマネージャはこのサイズ変更リクエストを満足するために、他の任 意のウィンドウ属性(位置やスタック順)を自由に変更することができる。 この返り値が XtGeometryAlmost の場合、width_return と height_return には調整がなされた幅と高さがセッ トされている。 これらの値を認める場合、ウィジェットは即座に XtMakeResizeRequest を行い、調整された幅と高さの適用をリクエストしなければならない。 ウィジェットが XtGeometryAlmost の返答を使わない場合には、width_return と height_return に NULL を渡す ことができる。