Code
#include <stdio.h>
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <Xm/Xm.h>
#include <Xm/Label.h>
#include <Xm/PushB.h>
#include <Xm/Form.h>
#include <tsol/Xtsol.h>
#include <Dt/label_clipping.h>
XTsolResAttributes winattrs;
int retval, error;
uid_t uid;
Window window;
Display *display;
char *string = (char *)0, *string1 = (char *)0, *string2 = (char *)0,
*string3 = (char *)0, *string4 = "SECRET";
XmFontList fontlist;
XmString xmstr;
XFontStruct *italic;
Arg args[9];
Dimension width = 144;
Widget stringLabel;
bslabel_t senslabel;
bclabel_t cmwlabel;
/* Callbacks */
void Xclock(Widget w, caddr_t client_data, caddr_t call_data)
{ system("xclock &"); }
void Xterm(Widget w, caddr_t client_data, caddr_t call_data)
{ system("xterm &"); }
void Quit(Widget w, caddr_t client_data, caddr_t call_data)
{
fprintf(stderr, "exiting . . .\n");
exit(0);
}
main(int argc, char **argv)
{
Widget rowcolumn, label, xclock, xterm, quit, form, topLevel;
int i = 0;
Arg args[9];
/* Create Widgets */
topLevel = XtInitialize(argv[0], "XMCmds1", NULL, 0, &argc, argv);
form = XtCreateManagedWidget("form", xmFormWidgetClass,
topLevel, NULL, 0);
/* Launch application with any command argument to use the */
/* Text label string and font list for the label widget */
if (argc == 2) {
/* Create the font list and translate the label using it */
retval = getcmwplabel(&cmwlabel);
getcsl(&senslabel, &cmwlabel);
italic = XLoadQueryFont(XtDisplay(topLevel),
"-adobe-times-medium-i-*-*-14-*-*-*-*-*-iso8859-1");
fontlist = XmFontListCreate(italic, "italic");
xmstr = (XmString)Xbsltos(XtDisplay(topLevel), &senslabel,
width, fontlist, LONG_WORDS);
/* Create a label widget using the font list and label text*/
i=0;
XtSetArg(args[i], XmNfontList, fontlist); i++;
XtSetArg(args[i], XmNlabelString, xmstr); i++;
label = XtCreateManagedWidget("label", xmLabelWidgetClass,
form, args, i);
}
/* Launch application with no command arguments to use the text */
/* in the resource file for the label widget */
else {
label = XtCreateManagedWidget("label", xmLabelWidgetClass,
form, NULL, 0); }
/* Continue widget creation */
i=0;
XtSetArg(args[i], XmNtopAttachment, XmATTACH_WIDGET); i++;
XtSetArg(args[i], XmNtopWidget, label); i++;
XtSetArg(args[i], XmNleftAttachment, XmATTACH_FORM); i++;
XtSetArg(args[i], XmNrightAttachment, XmATTACH_POSITION); i++;
XtSetArg(args[i], XmNrightPosition, 33); i++;
XtSetArg(args[i], XmNbottomAttachment, XmATTACH_FORM); i++;
xclock = XtCreateManagedWidget("xclock", xmPushButtonWidgetClass,
form, args, i);
i=0;
XtSetArg(args[i], XmNtopAttachment, XmATTACH_WIDGET); i++;
XtSetArg(args[i], XmNtopWidget, label); i++;
XtSetArg(args[i], XmNleftAttachment, XmATTACH_POSITION); i++;
XtSetArg(args[i], XmNleftPosition, 33); i++;
XtSetArg(args[i], XmNrightAttachment, XmATTACH_POSITION);i++;Ha>