- process events until a dialog becomes mapped.
void XmtWaitUntilMapped(Widget w)
- Any descendant of the dialog which is being mapped.
finds the immediate shell ancestor of w
processes events in an internal event loop until that shell widget becomes
visible on the screen, or until the shell's TopLevelShell parent becomes
non-visible (because if the main window is iconified, the dialog will be
iconified too, and will never become visible). It then processes all pending
Expose events and returns.
Because window managers must decorate and manage dialog boxes, there is an
unpredictable delay between the time that a dialog box is popped up (with
) and the time that the dialog
actually appears on the screen and has its first Expose event generated.
guarantees that the specified dialog box has
appeared on the screen and has been drawn (i.e. has had its Expose events
handled) before it returns.
This function is most useful when you plan to do some lengthy processing without
servicing events, and want to display a ``please wait'' dialog to the user. If
you do not call XmtWaitUntilMapped()
, the dialog box will appear, but
will appear blank (i.e. will not have its Expose events processed) until the
lengthy processing is done. Note that the function
already calls XmtWaitUntilMapped()
you should rarely need to call this function explicitly.
Chapter 31, Busy States and Background Work