next up previous contents index
Next: 5. BulletinBoard Helper Functions Up: 4. The GeoUtils Functions Previous: 3. The Method Functions   Contents   Index

4. Miscellaneous Functions

This function determines if two widget geometries are identical.

_XmGeometryEqual


Boolean
_XmGeometryEqual(Widget wid, XtWidgetGeometry *geoA,
                             XtWidgetGeometry *geoB);

The next function checks the desired geometry desired of the widget wid against the parent's proposal in response. It returns True only if the position (x, y), as well as the width and height, and finally the border width are equal in the desired and proposed geometry. If any one of these five geometry characteristics is of no concern (the corresponding bit in response->request_mode is unset) then it will be ignored.

_XmGeoReplyYes


Boolean
_XmGeoReplyYes(Widget wid, XtWidgetGeometry *desired,
                           XtWidgetGeometry *response);

XtMakeGeometryRequest_XmMakeGeometryRequestThis function asks the parent of the widget w for a new desired geometry geom of w. If the parent answers XtGeometryAlmost then we ask him a second time with the proposed geometry, so he can accept and set the new geometry. If the parent refuses in any way then we'll inform the user of our parent's impudent habbits (because he doesn't conform to the geometry negotiation protocol, see O'Reilly, Vol. 5, pp. 264 for details about XtMakeGeometryRequest). This function is at least only a convenience function but according to informed sources, M*TIF never issues a bare XtMakeGeometryRequest but uses always _XmMakeGeometryRequest.


XtGeometryResult
_XmMakeGeometryRequest(Widget w, XtWidgetGeometry *geom);

_XmGeoClearRectObjAreasThe next function erases the background at both the old and the new position of a rectangle object. Whereas the old position must be explicitely specified in old the new position is determined from w. Redrawing events will be triggered (and queued) for the affected areas.


void
_XmGeoClearRectObjAreas(RectObj r, XWindowChanges *old);

_XmGMReplyToQueryGeometryXmeReplyToQueryGeometryThe next one reappears as XmeReplyToQueryGeometry in M*TIF 2.0. This function is a shortcut for simple query_geometry methods which are interested only in their width and height but neither their position nor border width. To use it, first compute your desired width and height in your widget's query_geometry method and then return the result from the call to _XmGMReplyToQueryGeometry.


void
_XmGMReplyToQueryGeometry(void);

These next two functions are ``fixup'' functions. They are invoked by _XmGeoMatrixSet(), to override the generic geometry computation with specific behavior. _XmMenuBarFix() forces a menu bar to be the full width of its composite parent. _XmSeparatorFix() does the same for separators.

_XmMenuBarFix_XmSeparatorFix


void
_XmMenuBarFix(XmGeoMatrix geoSpec, int action,
              XmGeoMajorLayout layoutPtr, XmKidGeometry rowPtr);
void
_XmSeparatorFix(XmGeoMatrix geoSpec, int action,
                XmGeoMajorLayout layoutPtr, XmKidGeometry rowPtr);


next up previous contents index
Next: 5. BulletinBoard Helper Functions Up: 4. The GeoUtils Functions Previous: 3. The Method Functions   Contents   Index
Danny Backx
2000-12-13