ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



Tk_MaintainGeometry(3)                      Tk Library Procedures                     Tk_MaintainGeometry(3)



____________________________________________________________________________________________________________

NAME
       Tk_MaintainGeometry, Tk_UnmaintainGeometry - maintain geometry of one window relative to another

SYNOPSIS
       #include <tk.h>

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

       Tk_UnmaintainGeometry(slave, master)

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

       Tk_Window   master   (in)      Window relative to which slave's geometry will be controlled.

       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.
____________________________________________________________________________________________________________


DESCRIPTION
       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 correct  position  rela-tive relative
              tive 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 aren't their parents, as well
       as handling the simpler case of slaves whose masters are their parents.  Tk_MaintainGeometry is typi-cally typically
       cally  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  par-ent parent
       ent  and then moves and resizes the slave appropriately.  Furthermore, it remembers the desired posi-tion position
       tion and creates event handlers to monitor the master and all of its ancestors up to (but not includ-ing) including)
       ing)  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_UnmaintainGeometry.   Tk_Unmaintain-Geometry Tk_UnmaintainGeometry
       Geometry 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 information from  the
       most  recent  call  supersedes  any older information.  If Tk_UnmaintainGeometry is called for a mas-ter-slave master-slave
       ter-slave pair that is isn't currently managed, the call has no effect.


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



Tk                                                   4.0                              Tk_MaintainGeometry(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.