Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tk_CreateEventHandler (3tk)

Name

Tk_CreateEventHandler - associate procedure callback with an X event

Synopsis

#include <tk.h>

Tk_CreateEventHandler(tkwin, mask, proc, clientData)

Tk_DeleteEventHandler(tkwin, mask, proc, clientData)

Description

Tk Library Procedures                               Tk_CreateEventHandler(3tk)



______________________________________________________________________________

NAME
       Tk_CreateEventHandler,   Tk_DeleteEventHandler  -  associate  procedure
       callback with an X event

SYNOPSIS
       #include <tk.h>

       Tk_CreateEventHandler(tkwin, mask, proc, clientData)

       Tk_DeleteEventHandler(tkwin, mask, proc, clientData)

ARGUMENTS
       Tk_Window tkwin (in)                   Token for window in which events
                                              may occur.

       unsigned long mask (in)                Bit-mask of events (such as But-
                                              tonPressMask)  for  which   proc
                                              should be called.

       Tk_EventProc *proc (in)                Procedure  to invoke whenever an
                                              event in mask occurs in the win-
                                              dow given by tkwin.

       ClientData clientData (in)             Arbitrary one-word value to pass
                                              to proc.
______________________________________________________________________________

DESCRIPTION
       Tk_CreateEventHandler arranges for proc to be  invoked  in  the  future
       whenever  one of the event types specified by mask occurs in the window
       specified by tkwin.  The callback to  proc  will  be  made  by  Tk_Han-
       dleEvent;  this  mechanism  only works in programs that dispatch events
       through Tk_HandleEvent  (or  through  other  Tk  procedures  that  call
       Tk_HandleEvent, such as Tk_DoOneEvent or Tk_MainLoop).

       Proc should have arguments and result that match the type Tk_EventProc:
              typedef void Tk_EventProc(
                      ClientData clientData,
                      XEvent *eventPtr);
       The  clientData  parameter to proc is a copy of the clientData argument
       given to Tk_CreateEventHandler when the callback  was  created.   Typi-
       cally,  clientData  points  to a data structure containing application-
       specific information about the window  in  which  the  event  occurred.
       EventPtr  is  a  pointer  to the X event, which will be one of the ones
       specified in the mask argument to Tk_CreateEventHandler.

       Tk_DeleteEventHandler may be  called  to  delete  a  previously-created
       event  handler:   it deletes the first handler it finds that is associ-
       ated with tkwin and matches the mask, proc, and  clientData  arguments.
       If  no  such  handler exists, then Tk_HandleEvent returns without doing
       anything.  Although Tk supports it, it's probably a bad  idea  to  have
       more  than  one callback with the same mask, proc, and clientData argu-
       ments.  When a window is deleted all of its handlers  will  be  deleted
       automatically;   in  this  case there is no need to call Tk_DeleteEven-
       tHandler.

       If multiple handlers are declared for the same type of X event  on  the
       same  window,  then the handlers will be invoked in the order they were
       created.

KEYWORDS
       bind, callback, event, handler



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tk-8     |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source        was        downloaded        from         https://source-
       forge.net/projects/tcl/files/Tcl/8.6.7/tk8.6.7-src.tar.gz/download.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tk
                                                    Tk_CreateEventHandler(3tk)