
in the figure.
Output of action_area.c
In order to distribute the PushButtons evenly across the action area, we use the XmN-fractionBase resource of the
Form widget to segment the widget into equal portions. The value of the resource is based on the value of the
TIGHTNESS definition, which controls the spacing between buttons. A higher value causes the PushButtons to be
closer together, while a lower value spaces them further apart. We use the value 20 for purely aesthetic reasons. As
each button is created, its attachments are set. The left side of the first button and right side of the last button are
attached to the left and right edges of the Form, respectively, while all of the other left and right edges are attached to
positions.
The callback routine and associated client data for each button are added using XtAddCallback(). The first button
in the action area is specified as the default button for the dialog. The XmNdefaultButton resource indicates
which button is designated as the default button for certain actions that take place in the control area of the dialog. The
XmN-activateCallback of the TextField widget in the control area uses the resource to activate the default
button when the user presses the RETURN key in the TextField.
The CreateActionArea() function also sets XmNpaneMaximum and XmNpaneMinimum constraint resources
on the action area. These are PanedWindow constraint resources ...