Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Tk_CreateWindow(3)	      Tk Library Procedures	      Tk_CreateWindow(3)

________________________________________________________________________________

NAME
     Tk_CreateWindow,	Tk_CreateWindowFromPath,  Tk_DestroyWindow,  Tk_MakeWin-
     dowExist - create or delete window

SYNOPSIS
     #include <tk.h>

     Tk_Window
     Tk_CreateWindow(interp, parent, name, topLevScreen)

     Tk_Window
     Tk_CreateAnonymousWindow(interp, parent, topLevScreen)

     Tk_Window
     Tk_CreateWindowFromPath(interp, tkwin, pathName, topLevScreen)

     Tk_DestroyWindow(tkwin)

     Tk_MakeWindowExist(tkwin)

ARGUMENTS
     Tcl_Interp *interp (out)		    Tcl interpreter to use for error re-
					    porting.  If no error  occurs,  then
					    *interp is not modified.

     Tk_Window parent (in)		    Token  for	the  window  that  is to
					    serve as the logical parent  of  the
					    new window.

     const char *name (in)		    Name  to  use for this window.  Must
					    be unique among all children of  the
					    same parent.

     const char *topLevScreen (in)	    Has  same  format as screenName.  If
					    NULL, then new window is created  as
					    an	internal  window.   If non-NULL,
					    new window is created as a top-level
					    window on screen  topLevScreen.   If
					    topLevScreen is an empty string ("")
					    then  new  window is created as top-
					    level window of parent's screen.

     Tk_Window tkwin (in)		    Token for window.

     const char *pathName (in)		    Name of  new  window,  specified  as
					    path  name	within application (e.g.
					    .a.b.c).
________________________________________________________________________________

DESCRIPTION
     The procedures Tk_CreateWindow, Tk_CreateAnonymousWindow, and Tk_CreateWin-
     dowFromPath are used to create new windows for  use  in  Tk-based	applica-
     tions.   Each of the procedures returns a token that can be used to manipu-
     late the window in other calls to the Tk library.	If the window could  not
     be  created  successfully,  then  NULL is returned and the result of inter-
     preter interp is modified to hold an error message.

     Tk supports two different kinds of windows:  internal windows and top-level
     windows.  An internal window is an interior window  of  a	Tk  application,
     such  as a scrollbar or menu bar or button.  A top-level window is one that
     is created as a child of a screen's root window, rather than as an interior
     window, but which is logically part of some existing main window.	Examples
     of top-level windows are pop-up menus and dialog boxes.

     New windows may be created by calling Tk_CreateWindow.  If the topLevScreen
     argument is NULL, then the new window  will  be  an  internal  window.   If
     topLevScreen  is  non-NULL, then the new window will be a top-level window:
     topLevScreen indicates the name of a screen and the new window will be cre-
     ated as a child of the root window of topLevScreen.  In either case Tk will
     consider the new window to be the logical child of parent: the new window's
     path name will reflect this fact, options may be specified for the new win-
     dow under this assumption, and so on.  The only difference is  that  new  X
     window  for  a  top-level	window will not be a child of parent's X window.
     For example, a pull-down menu's parent would be the button-like window used
     to invoke it, which would in turn be a child of the menu bar window.  A di-
     alog box might have the application's main window as its parent.

     Tk_CreateAnonymousWindow differs from Tk_CreateWindow in that it creates an
     unnamed window.  This window will be manipulatable only using C interfaces,
     and will not be visible to Tcl scripts.  Both  interior  windows  and  top-
     level windows may be created with Tk_CreateAnonymousWindow.

     Tk_CreateWindowFromPath  offers an alternate way of specifying new windows.
     In Tk_CreateWindowFromPath the new window is specified with a token for any
     window in the target application (tkwin), plus a path name for the new win-
     dow.  It produces the same effect as Tk_CreateWindow and allows  both  top-
     level  and  internal  windows  to	be  created,  depending  on the value of
     topLevScreen.  In calls to Tk_CreateWindowFromPath, as in calls to  Tk_Cre-
     ateWindow, the parent of the new window must exist at the time of the call,
     but the new window must not already exist.

     The  window  creation  procedures do not actually issue the command to X to
     create a window.  Instead, they create a local  data  structure  associated
     with  the	window	and defer the creation of the X window.  The window will
     actually be created by the first call  to	Tk_MapWindow.	Deferred  window
     creation allows various aspects of the window (such as its size, background
     color,  etc.) to be modified after its creation without incurring any over-
     head in the X server.  When the window is finally mapped all of the  window
     attributes can be set while creating the window.

     The  value  returned  by a window-creation procedure is not the X token for
     the window (it cannot be, since X has not been asked to create  the  window
     yet).  Instead, it is a token for Tk's local data structure for the window.
     Most  of  the  Tk	library  procedures take Tk_Window tokens, rather than X
     identifiers.  The actual X window identifier can be retrieved from the  lo-
     cal  data	structure using the Tk_WindowId macro;	see the manual entry for
     Tk_WindowId for details.

     Tk_DestroyWindow deletes a window and all the  data  structures  associated
     with  it,	including any event handlers created with Tk_CreateEventHandler.
     In addition, Tk_DestroyWindow will delete any children of tkwin recursively
     (where children are defined in the Tk sense, consisting of all windows that
     were created with the given window as parent).  If  tkwin	is  an	internal
     window,  then event handlers interested in destroy events are invoked imme-
     diately.  If tkwin is a top-level or main window, then the  event	handlers
     will  be  invoked later, after X has seen the request and returned an event
     for it.

     If a window has been created but has not been mapped, so no  X  window  ex-
     ists,  it	is  possible  to  force  the creation of the X window by calling
     Tk_MakeWindowExist.  This procedure issues the X  commands  to  instantiate
     the window given by tkwin.

KEYWORDS
     create,  deferred creation, destroy, display, internal window, screen, top-
     level window, window

Tk				       4.2		      Tk_CreateWindow(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tk_DestroyWindow.tk86&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help