Provided by: libmotif-dev_2.3.8-3_amd64 bug

NAME

       XmForm — The Form widget class "XmForm" "widget class" "Form"

SYNOPSIS

       #include <Xm/Form.h>

DESCRIPTION

       Form  is a container widget with no input semantics of its own.  Constraints are placed on
       children of the Form to define attachments for each of  the  child's  four  sides.   These
       attachments  can be to the Form, to another child widget or gadget, to a relative position
       within the Form, or to the initial position of the child.  The attachments  determine  the
       layout behavior of the Form when resizing occurs.

       The default value for XmNinitialFocus is the value of XmNdefaultButton.

       Following are some important considerations in using a Form:

          •  Every  child  must  have  an  attachment  on  either  the  left  or  the  right.  If
             initialization or XtSetValues leaves a widget without such an attachment, the result
             depends upon the value of XmNrubberPositioning.

                 If  XmNrubberPositioning  is  False,  the child is given an XmNleftAttachment of
                 XmATTACH_FORM and an XmNleftOffset equal to its current x value.

                 If XmNrubberPositioning is True, the child  is  given  an  XmNleftAttachment  of
                 XmATTACH_POSITION  and  an  XmNleftPosition  proportional to the current x value
                 divided by the width of the Form.

                 In either case, if the child has not been previously given an  x  value,  its  x
                 value  is  taken  to be 0 (zero), which places the child at the left side of the
                 Form.

          •  If you want to create a child without any attachments, and then later (for  example,
             after  creating and managing it, but before realizing it) give it a right attachment
             through XtSetValues, you must set its XmNleftAttachment to XmATTACH_NONE at the same
             time.

          •  The XmNresizable resource controls only whether a geometry request by the child will
             be granted.  It has no effect on whether the child's size can be changed because  of
             changes in geometry of the Form or of other children.

          •  Every child has a preferred width, based on geometry requests it makes (whether they
             are granted or not).

          •  If a child has attachments on both the  left  and  the  right  sides,  its  size  is
             completely  controlled  by  the Form.  It can be shrunk below its preferred width or
             enlarged above it, if necessary, due to other constraints.  In addition, the child's
             geometry requests to change its own width may be refused.

          •  If  a child has attachments on only its left or right side, it will always be at its
             preferred width (if resizable, otherwise at is current width).  This may cause it to
             be clipped by the Form or by other children.

          •  If  a  child's left (or right) attachment is set to XmATTACH_SELF, its corresponding
             left (or right) offset is forced to 0 (zero).  The attachment  is  then  changed  to
             XmATTACH_POSITION,  with  a  position that corresponds to the x value of the child's
             left (or right) edge.  To fix the position of a side at  a  specific  x  value,  use
             XmATTACH_FORM  or  XmATTACH_OPPOSITE_FORM  with  the  x value as the left (or right)
             offset.

          •  Unmapping a child has no effect on the Form except that the child is not mapped.

          •  Unmanaging a child unmaps it.  If no other child  is  attached  to  it,  or  if  all
             children  attached  to it and all children recursively attached to them are also all
             unmanaged, all of those children are treated as if they did not exist in determining
             the size of the Form.

          •  When   using  XtSetValues  to  change  the  XmNx  resource  of  a  child,  you  must
             simultaneously set its left attachment to  either  XmATTACH_SELF  or  XmATTACH_NONE.
             Otherwise,  the  request  is  not granted.  If XmNresizable is False, the request is
             granted only if the child's size can remain the same.

          •  A  left  (or  right)  attachment  of  XmATTACH_WIDGET,   where   XmNleftWidget   (or
             XmNrightWidget) is NULL, acts like an attachment of XmATTACH_FORM.

          •  If  an  attachment  is  made  to  a  widget  that is not a child of the Form, but an
             ancestor of the widget is a child of  the  Form,  the  attachment  is  made  to  the
             ancestor.

       All  these  considerations are true of top and bottom attachments as well, with top acting
       like left, bottom acting like right, y acting like x, and height acting like width.

   Classes
       Form inherits behavior, resources, and traits from Core, Composite, Constraint, XmManager,
       and XmBulletinBoard.

       The class pointer is xmFormWidgetClass.

       The class name is XmForm.

   New Resources
       The  following  table  defines a set of widget resources used by the programmer to specify
       data. The programmer can also set the resource values for the  inherited  classes  to  set
       attributes  for  this widget.  To reference a resource by name or by class in a .Xdefaults
       file, remove the XmN or XmC prefix and use the remaining letters.  To specify one  of  the
       defined  values  for  a  resource  in  a .Xdefaults file, remove the Xm prefix and use the
       remaining letters (in either lowercase or uppercase, but include any  underscores  between
       words).  The  codes  in  the  access  column  indicate if the given resource can be set at
       creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
       not applicable (N/A).

       ┌───────────────────────────────────────────────────────────────────────────┐
--

RELATED

       Composite(3),      Constraint(3),      Core(3),      XmBulletinBoard(3),     XmCreateForm,
       XmCreateFormDialog(3), XmManager(3), XmVaCreateForm, and XmVaCreateManagedForm.

                                                                                        XmForm(3)