Table of Contents
XtMakeGeometryRequest, XtMakeResizeRequest
- make geometry manager request
XtGeometryResult XtMakeGeometryRequest(w,
request,
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
- Returns the allowed widget size or may be NULL if
the requesting widget is not interested in handling XtGeometryAlmost.
- request
- Specifies the desired widget geometry (size, position, border width,
and stacking order).
- w
- Specifies the widget that is making the request.
- width_return
- height_return
- Return the allowed widget width and height.
Depending
on the condition, XtMakeGeometryRequest performs the following:
·- If the
widget is unmanaged or the widget's parent is not realized, it makes the
changes and returns XtGeometryYes.
·- If the parent is not a subclass of
compositeWidgetClass or the parent's geometry_manager is NULL, it issues
an error.
·- If the widget's being_destroyed field is True, it returns XtGeometryNo.
·- If the widget x, y, width, height and border_width fields are all equal
to the requested values, it returns XtGeometryYes; otherwise, it calls
the parent's geometry_manager procedure with the given parameters.
·- If the
parent's geometry manager returns XtGeometryYes and if XtCWQueryOnly
is not set in the request_mode and if the widget is realized, XtMakeGeometryRequest
calls the XConfigureWindow Xlib function to reconfigure the widget's
window (set its size, location, and stacking order as appropriate).
·- If
the geometry manager returns XtGeometryDone, the change has been approved
and actually has been done. In this case, XtMakeGeometryRequest does no
configuring and returns XtGeometryYes. XtMakeGeometryRequest never
returns XtGeometryDone.
Otherwise, XtMakeGeometryRequest returns the
resulting value from the parent's geometry manager.
Children of primitive
widgets are always unmanaged; thus, XtMakeGeometryRequest always returns
XtGeometryYes when called by a child of a primitive widget.
The XtMakeResizeRequest
function, a simple interface to XtMakeGeometryRequest, creates a XtWidgetGeometry
structure and specifies that width and height should change. The geometry
manager is free to modify any of the other window attributes (position
or stacking order) to satisfy the resize request. If the return value is
XtGeometryAlmost, width_return and height_return contain a compromise
width and height. If these are acceptable, the widget should immediately
make an XtMakeResizeRequest and request that the compromise width and
height be applied. If the widget is not interested in XtGeometryAlmost
replies, it can pass NULL for width_return and height_return.
XtConfigureWidget(3Xt)
,
XtQueryGeometery(3Xt)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface
Table of Contents