1XmForm(3)                       LessTif Manuals                      XmForm(3)
2
3
4

NAME

6       XmForm
7

SYNOPSIS

9       #include <Xm/Form.h>
10
11       XmForm
12
13       XmCreateForm
14

DESCRIPTION

16       XmForm  is a widget which allows you to specify complicated geometries.
17       The widget is capable of aligning children widgets  with  reference  to
18       each other.  Widgets can be linked to each other's positions, hooked to
19       a fixed place, or hooked to the form's edges.  Positioning can be rela‐
20       tive as well as absolute.
21
22       The  algorithm  used  to  lay out the children is an iterative one.  In
23       development versions of LessTif, the amount of iterations that the wid‐
24       get  supports  before  it  wants to have reached a steady state is 200.
25       OSF/Motif® uses a much higher number than this; if the  low  number  in
26       LessTif  gives  you  trouble (it generates a warning message mentioning
27       "bailout") then either the number is too low  or  you've  discovered  a
28       bug.
29

X RESOURCES

31       Name                   Class                  Type                  Default   Access
32       ─────────────────────────────────────────────────────────────────────────────────────
33       XmNmarginWidth         XmCMarginWidth         HorizontalDimension   0         CSG
34       XmNmarginHeight        XmCMarginHeight        VerticalDimension     0         CSG
35       XmNhorizontalSpacing   XmCSpacing             HorizontalDimension   0         CSG
36       XmNverticalSpacing     XmCSpacing             VerticalDimension     0         CSG
37       XmNfractionBase        XmCMaxValue            Int                   100       CSG
38       XmNrubberPositioning   XmCRubberPositioning   Boolean               False     CSG
39
40       XmNfractionBase  is  the resource that allows you to specify the refer‐
41       ence value relative to which values for the constraint resource  XmNpo‐
42       sition are to be used.  The default, 100, allows you to specify e.g. 50
43       to mean that some widget edge should be positioned at 50% of the form's
44       width (or height).
45
46       XmNrubberPositioning  is  a boolean which determines the default layout
47       if some of the constraint resources aren't set for children of  XmForm.
48       In the default case (False), children widgets for which the left or top
49       sides  haven't  been  specified,  default  their  attachment  to  XmAT‐
50       TACH_FORM.   This  means the children will be in the upper left side of
51       the form.  In the other  case,  the  children  widgets's  left  or  top
52       attachments will default to XmATTACH_SELF.
53
54       XmNmarginWidth
55
56       XmNmarginHeight
57
58       XmNhorizontalSpacing
59
60       XmNverticalSpacing
61

CONSTRAINT RESOURCES

63       The  constraint  resources for XmForm allow us to specify the layout of
64       children of the form.  These resources should not be set on  the  form,
65       they  should be set on the children.  They don't work unless the parent
66       of a widget is an XmForm, they also don't  work  if  the  widget  is  a
67       grandchild of XmForm.
68
69       The  latter  is  a  mistake often made in the case of scrolled widgets.
70       Functions such as XmCreateScrolledText create two  (or  more)  widgets,
71       and  return  a  grandchild  of Form if they are called with the form as
72       parent.  In such case, constraint resources should be set on the parent
73       of the widget returned by XmCreateScrolledText (or similar).
74
75       Name                  Class           Type            Default   Access
76       ───────────────────────────────────────────────────────────────────────
77       XmNtopAttachment      XmCAttachment   unsigned char   dynamic   CSG
78       XmNbottomAttachment   XmCAttachment   unsigned char   dynamic   CSG
79       XmNleftAttachment     XmCAttachment   unsigned char   dynamic   CSG
80       XmNrightAttachment    XmCAttachment   unsigned char   dynamic   CSG
81       XmNtopWidget          XmCWidget       Widget          NULL      CSG
82       XmNbottomWidget       XmCWidget       Widget          NULL      CSG
83       XmNleftWidget         XmCWidget       Widget          NULL      CSG
84       XmNrightWidget        XmCWidget       Widget          NULL      CSG
85       XmNtopPosition        XmCPosition     int             0         CSG
86       XmNbottomPosition     XmCPosition     int             0         CSG
87       XmNleftPosition       XmCPosition     int             0         CSG
88       XmNrightPosition      XmCPosition     int             0         CSG
89       XmNtopOffset          XmCOffset       int             0         CSG
90       XmNbottomOffset       XmCOffset       int             0         CSG
91       XmNleftOffset         XmCOffset       int             0         CSG
92       XmNrightOffset        XmCOffset       int             0         CSG
93       XmNresizable          XmCBoolean      Boolean         True      CSG
94
95       XmNresizable  specifies  whether  this widget can resize itself, if the
96       geometry request doesn't conflict with attachments.  An example of this
97       is  a XmLabel widget which modifies its XmNlabelString, which causes it
98       to try to resize itself.  If XmNresizable is set to  False  in  such  a
99       case, expensive geometry calculations can be avoided.
100
101       XmNtopAttachment  is  the method of attachment for the child's top side
102       XmNtopWidget is the ID of the widget or gadget that serves  as  attach‐
103       ment  point for the top of this child.  For this to work, XmNtopAttach‐
104       ment must be set to XmATTACH_WIDGET or to XmATTACH_OPPOSITE_WIDGET.
105
106       XmNtopPosition used in conjunction with XmNfractionBase allows  you  to
107       calculate the position of the top of a child widget relative to the top
108       of the Form.  This resource only works if XmNtopAttachment has been set
109       to  XmATTACH_POSITION.   A  position  can  be  a negative number, which
110       allows you to position a child widget in a place which is  either  par‐
111       tially  or  completely invisible.  Values larger than the value of XmN‐
112       fractionBase, or close to it, have similar effect.
113
114       XmNtopOffset is the distance between  the  child's  top  edge  and  the
115       object  it  is  attached  to.   This may be the form (XmATTACH_FORM) or
116       another widget (XmATTACH_WIDGET or XmATTACH_OPPOSITE_WIDGET).   In  the
117       latter  case  (XmATTACH_OPPOSITE_WIDGET), the offset is relative to the
118       other widget's top.  In the other cases, the offset is relative to  the
119       form's top or to the other widget's bottom edge.
120
121       As  with XmNtopPosition, values can be specified which are either nega‐
122       tive or large, to position the child widget at  a  place  where  it  is
123       either partially or completely invisible.
124

CLASS HIERARCHY

126       Object(3)  Rect(3)  UnNamedObj(3)  Core(3)  Composite(3)  Constraint(3)
127       XmManager(3) XmBulletinBoard(3) XmForm(3)
128

CALLBACKS

130       XmForm only has callbacks inherited from its superclasses.
131

CONVENIENCE FUNCTIONS

SEE ALSO

134LessTif Project                   April 1998                         XmForm(3)
Impressum