Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

CentOS 7.0 - man page for tk_maintaingeometry (centos section 3)

Tk_MaintainGeometry(3)		      Tk Library Procedures		   Tk_MaintainGeometry(3)


       Tk_MaintainGeometry,  Tk_UnmaintainGeometry  - maintain geometry of one window relative to

       #include <tk.h>

       Tk_MaintainGeometry(slave, master, x, y, width, height)

       Tk_UnmaintainGeometry(slave, master)

       Tk_Window slave (in)	      Window whose geometry is to be controlled.

       Tk_Window master (in)	      Window relative to which	slave's  geometry  will  be  con-

       int x (in)		      Desired x-coordinate of slave in master, measured in pixels
				      from the inside of master's left border to the  outside  of
				      slave's left border.

       int y (in)		      Desired y-coordinate of slave in master, measured in pixels
				      from the inside of master's top border to  the  outside  of
				      slave's top border.

       int width (in)		      Desired width for slave, in pixels.

       int height (in)		      Desired height for slave, in pixels.

       Tk_MaintainGeometry and Tk_UnmaintainGeometry make it easier for geometry managers to deal
       with slaves whose masters are not their parents.  Three problems arise if the master for a
       slave is not its parent:

       [1]    The x- and y-position of the slave must be translated from the coordinate system of
	      the master to that of the parent before positioning the slave.

       [2]    If the master window, or any of its ancestors up to the slave's parent,  is  moved,
	      then the slave must be repositioned within its parent in order to maintain the cor-
	      rect position relative to the master.

       [3]    If the master or one of its ancestors is mapped or unmapped, then the slave must be
	      mapped or unmapped to correspond.

       None of these problems is an issue if the parent and master are the same.  For example, if
       the master or one of its ancestors is unmapped, the slave is automatically removed by  the
       screen by X.

       Tk_MaintainGeometry  deals with these problems for slaves whose masters are not their par-
       ents, as well as handling the simpler case of slaves  whose  masters  are  their  parents.
       Tk_MaintainGeometry  is	typically  called by a window manager once it has decided where a
       slave should be positioned relative to its  master.   Tk_MaintainGeometry  translates  the
       coordinates  to	the  coordinate  system  of slave's parent and then moves and resizes the
       slave appropriately.  Furthermore, it remembers the desired  position  and  creates  event
       handlers  to  monitor  the  master  and all of its ancestors up to (but not including) the
       slave's parent.	If any of these windows is moved, mapped, or unmapped, the slave will  be
       adjusted  so that it is mapped only when the master is mapped and its geometry relative to
       the master remains as specified by x, y, width, and height.

       When a window manager relinquishes control over a window, or if it decides  that  it  does
       not  want the window to appear on the screen under any conditions, it calls Tk_Unmaintain-
       Geometry.  Tk_UnmaintainGeometry unmaps the window  and	cancels  any  previous	calls  to
       Tk_MaintainGeometry  for  the  master-slave  pair, so that the slave's geometry and mapped
       state are no longer maintained automatically.  Tk_UnmaintainGeometry need not be called by
       a  geometry  manager  if  the  slave,  the  master,  or	any  of the master's ancestors is
       destroyed:  Tk will call it automatically.

       If Tk_MaintainGeometry is called repeatedly for the same master-slave pair,  the  informa-
       tion from the most recent call supersedes any older information.  If Tk_UnmaintainGeometry
       is called for a master-slave pair that is is  not  currently  managed,  the  call  has  no

       geometry manager, map, master, parent, position, slave, unmap

Tk					       4.0			   Tk_MaintainGeometry(3)

All times are GMT -4. The time now is 12:52 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password