
XmNchildVerticalAlignment, XmALIGNMENT_WIDGET_TOP,
NULL);
#endif
frame = XtVaCreateManagedWidget ("frame4",
xmFrameWidgetClass, rowcol,
XmNshadowType, XmSHADOW_ETCHED_OUT,
NULL);
XtVaCreateManagedWidget ("XmSHADOW_ETCHED_OUT",
xmLabelGadgetClass, frame,
NULL);
#ifdef MOTIF_1_2
XtVaCreateManagedWidget ("XmALIGNMENT_WIDGET_BOTTOM",
xmLabelGadgetClass, frame,
XmNchildType, XmFRAME_TITLE_CHILD,
XmNchildVerticalAlignment, XmALIGNMENT_WIDGET_BOTTOM,
NULL);
#endif
XtManageChild (rowcol);
XtRealizeWidget (toplevel);
XtAppMainLoop (app);
}
The output of this example is shown in the figure.
Output of frame.c
The program creates four Frame widgets. Each Frame has two Label children, one for the work area and one for the
title. Each Frame uses a different value for the XmNshadowType and XmNchildVerticalPlacement
resources, where these values are indicated by the text of the Labels. Although we have used a Label as the work area
child of a Frame in this example, it is not a good idea to put a border around a Label. The shadow border implies
selectability, which can confuse the user.
9.7 The PanedWindow Widget
The PanedWindow widget lays out its children in a vertically−tiled format. The Motif Style Guide also provides for a
9 Manager Widgets 9.7 The PanedWindow Widget
236