#include <Xm/PushB.h>

void pushCB(Widget w, XtPointer c, XtPointer s);

int
main(int ac, char *av[])
{
    XtAppContext app;
    Widget top, pb;
    top = XtAppInitialize(&app, "Sample",
			NULL, 0, &ac, av, NULL, NULL, 0);
    pb = XmCreatePushButton(top, "Start", NULL, 0);
    XtManageChild(pb);
    XtAddCallback(pb, XmNactivateCallback,
		  (XtCallbackProc)pushCB, NULL);
    XtRealizeWidget(top);
    XtAppMainLoop(app);
}

void
pushCB(Widget w, XtPointer c, XtPointer s)
{
    XmString xms;
    char buf[16];
    int i;

    for (i = 0; i <= 10; i++) {
	sprintf(buf, "%d", i);
	xms = XmStringCreateSimple(buf);
	XtVaSetValues(w, XmNlabelString, xms, NULL);
	XmStringFree(xms);
	XmUpdateDisplay(w);
	sleep(1);
    }
    xms = XmStringCreateSimple("Start");
    XtVaSetValues(w, XmNlabelString, xms, NULL);
    XmStringFree(xms);
}
