HPUX DoOneEvent[3]

DoOneEvent in anderen Kapiteln des hpux Handbuch:
Tk_DoOneEvent(3) Tk Tk_DoOneEvent(3)
Tk Library Procedures Tk Library Procedures
___________________________________________________________________________
NAME
Tk_DoOneEvent, Tk_MainLoop, Tk_HandleEvent - wait for events and
invoke event handlers
SYNOPSIS
#include <tk.h>
int
Tk_DoOneEvent(flags) |
Tk_MainLoop()
Tk_HandleEvent(eventPtr)
ARGUMENTS
int flags (in) This parameter is normally zero. It |
may be an OR-ed combination of any of |
the following flag bits: TK_X_EVENTS, |
TK_FILE_EVENTS, TK_TIMER_EVENTS, |
TK_IDLE_EVENTS, TK_ALL_EVENTS, or |
TK_DONT_WAIT. |
XEvent *eventPtr (in) Pointer to X event to dispatch to
relevant handler(s).
___________________________________________________________________________
DESCRIPTION
These three procedures are responsible for waiting for events and
dispatching to event handlers created with the procedures
Tk_CreateEventHandler, Tk_CreateFileHandler, Tk_CreateTimerHandler,
and Tk_DoWhenIdle. Tk_DoOneEvent is the key procedure. It waits for
a single event of any sort to occur, invokes the handler(s) for that
event, and then returns. Tk_DoOneEvent first checks for X events and
file-related events; if one is found then it calls the handler(s) for
the event and returns. If there are no X or file events pending, then
Tk_DoOneEvent checks to see if timer callbacks are ready; if so, it
makes a single callback and returns. If no timer callbacks are ready,
Tk_DoOneEvent checks for Tk_DoWhenIdle callbacks; if any are found,
it invokes all of them and returns. Finally, if events or work have
been found found, Tk_DoOneEvent sleeps until a timer, file, or X event
occurs; then it processes the first event found (in the order given
above) and returns. The normal return value is 1 to signify that some
event or callback was processed.
If the flags argument to Tk_DoOneEvent is non-zero then it restricts |
the kinds of events that will be processed by Tk_DoOneEvent. Flags |
- 1 - Formatted: August 11, 1996
Tk_DoOneEvent(3) Tk Tk_DoOneEvent(3)
Tk Library Procedures Tk Library Procedures
may be an OR-ed combination of any of the following bits: |
TK_X_EVENTS - Process X events. |
TK_FILE_EVENTS - Process file events. |
TK_TIMER_EVENTS - Process timer events. |
TK_IDLE_EVENTS - Process Tk_DoWhenIdle callbacks. |
TK_ALL_EVENTS - Process all kinds of events: equivalent to |
OR-ing together all of the above flags or |
specifying none of them. |
TK_DONT_WAIT - Don't sleep: process only events that are |
ready at the time of the call. If any of the |
flags TK_X_EVENTS, TK_FILE_EVENTS, |
TK_TIMER_EVENTS, or TK_IDLE_EVENTS is set, |
then the only events that will be considered |
are those for which flags are set. Setting |
none of these flags is equivalent to the value |
TK_ALL_EVENTS, which causes all event types to |
be processed. |
The TK_DONT_WAIT flag causes Tk_DoWhenIdle not to put the process to |
sleep: it will check for events but if none are found then it returns |
immediately with a return value of 0 to indicate that no work was |
done. Tk_DoOneEvent will also return 0 without doing anything if |
flags is TK_IDLE_EVENTS and there are no Tk_DoWhenIdle callbacks |
pending. |
Tk_MainLoop is a procedure that loops repeatedly calling
Tk_DoOneEvent. It returns only when there are no applications left in
this process (i.e. no main windows exist anymore). Most X
applications will call Tk_MainLoop after initialization; the main
execution of the application will consist entirely of callbacks
invoked by Tk_DoOneEvent.
Tk_HandleEvent is a lower-level procedure invoked by Tk_DoOneEvent.
It makes callbacks to any event handlers (created by calls to
Tk_CreateEventHandler) that match eventPtr and then returns. In some
cases it may be useful for an application to read events directly from
X and dispatch them by calling Tk_HandleEvent, without going through
the additional mechanism provided by Tk_DoOneEvent.
These procedures may be invoked recursively. For example, it is
possible to invoke Tk_DoOneEvent recursively from a handler called by
Tk_DoOneEvent. This sort of operation is useful in some modal
situations, such as when a notifier has been popped up and an
- 2 - Formatted: August 11, 1996
Tk_DoOneEvent(3) Tk Tk_DoOneEvent(3)
Tk Library Procedures Tk Library Procedures
application wishes to wait for the user to click a button in the
notifier before doing anything else.
KEYWORDS
callback, event, handler, idle, timer
- 3 - Formatted: August 11, 1996