#include <stdio.h>
#include "Xm/Frame.h"
#include "Xm/Label.h"

XtActionProc
Opressed(w, event, args, num_args)
Widget	w;
XEvent	*event;
char	**args;
int	*num_args;
{
	Widget	*sw;

	sw = (Widget *)atoi(*args);
	XtDestroyWidget(sw);
	exit(0);
}

main(argc, argv)
int	argc;
char	*argv[];
{
	Widget	tlw, shellW, labelW, frameW;
	XtTranslations	trans;
	char	trans_tab[96];
	Arg	args[] = {
		{XmNheight, (XtArgVal)300},
		{XmNwidth, (XtArgVal)550},
		{XmNshadowType, (XtArgVal)XmSHADOW_ETCHED_IN},
		{XmNlabelString, (XtArgVal)0},
		{XmNshadowThickness, (XtArgVal)10}
	};
	XtActionsRec	axt[] = {
		{"Opressed", (XtActionProc)Opressed}
	};

	args[3].value = (XtArgVal)XmStringCreate("foo",
						 XmSTRING_DEFAULT_CHARSET);

	tlw = XtInitialize("main", "XTest", NULL, 0, &argc, argv);

	shellW = XtCreateApplicationShell("shell", vendorShellWidgetClass,
					  args, XtNumber(args));
	frameW = XmCreateFrame(shellW, "tframe", args, XtNumber(args));
	labelW = XmCreateLabel(frameW, "tester", args, XtNumber(args));

	XtAddActions(axt, XtNumber(axt));
	sprintf(trans_tab, "<Btn1Up>: Opressed(%u)", (unsigned int)&shellW);
	trans = XtParseTranslationTable(trans_tab);
	XtOverrideTranslations(labelW, trans);

	XtManageChild(frameW);
	XtManageChild(labelW);
	XtRealizeWidget(shellW);
	XtMainLoop();
}

