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