Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tk_SetClassProcs (3tk)

Name

Tk_SetClassProcs - register widget specific procedures

Synopsis

#include <tk.h>

Tk_SetClassProcs(tkwin, procs, instanceData)

Description

Tk_SetClassProcs(3tk)        Tk Library Procedures       Tk_SetClassProcs(3tk)



______________________________________________________________________________

NAME
       Tk_SetClassProcs - register widget specific procedures

SYNOPSIS
       #include <tk.h>

       Tk_SetClassProcs(tkwin, procs, instanceData)

ARGUMENTS
       Tk_Window tkwin (in)                    Token for window to modify.

       const Tk_ClassProcs *procs (in)         Pointer  to data structure con-
                                               taining widget specific  proce-
                                               dures.    The   data  structure
                                               pointed to  by  procs  must  be
                                               static: Tk keeps a reference to
                                               it  as  long  as   the   window
                                               exists.

       ClientData instanceData (in)            Arbitrary   one-word  value  to
                                               pass to widget callbacks.
______________________________________________________________________________

DESCRIPTION
       Tk_SetClassProcs is called to register a set  of  procedures  that  are
       used as callbacks in different places.

       The structure pointed to by procs contains the following:
              typedef struct Tk_ClassProcs {
                  unsigned int size;
                  Tk_ClassWorldChangedProc *worldChangedProc;
                  Tk_ClassCreateProc *createProc;
                  Tk_ClassModalProc *modalProc;
              } Tk_ClassProcs;
       The  size  field is used to simplify future expansion of the structure.
       It should always be set to (literally) sizeof(Tk_ClassProcs).

       worldChangedProc is invoked when the system has  altered  in  some  way
       that  requires some reaction from the widget.  For example, when a font
       alias (see the font manual entry) is reconfigured,  widgets  configured
       to  use  that font alias must update their display accordingly.  world-
       ChangedProc should have arguments  and  results  that  match  the  type
       Tk_ClassWorldChangedProc:
              typedef void Tk_ClassWorldChangedProc(
                      ClientData instanceData);
       The instanceData parameter passed to the worldChangedProc will be iden-
       tical to the instanceData parameter passed to Tk_SetClassProcs.

       createProc is used to create platform-dependant windows.  It is invoked
       by  Tk_MakeWindowExist.   createProc  should have arguments and results
       that match the type Tk_ClassCreateProc:
              typedef Window Tk_ClassCreateProc(
                      Tk_Window tkwin,
                      Window parent,
                      ClientData instanceData);
       The tkwin and instanceData parameters will be identical  to  the  tkwin
       and  instanceData  parameters  passed  to Tk_SetClassProcs.  The parent
       parameter will be the parent of the window to  be  created.   The  cre-
       ateProc should return the created window.

       modalProc is invoked after all bindings on a widget have been triggered
       in order to handle a modal loop.  modalProc should have  arguments  and
       results that match the type Tk_ClassModalProc:
              typedef void Tk_ClassModalProc(
                      Tk_Window tkwin,
                      XEvent *eventPtr);
       The tkwin parameter to modalProc will be identical to the tkwin parame-
       ter passed to Tk_SetClassProcs.   The  eventPtr  parameter  will  be  a
       pointer to an XEvent structure describing the event being processed.

KEYWORDS
       callback, class



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                                    8.4                Tk_SetClassProcs(3tk)