/*
 * Generated by the ICS builderXcessory (BX).
 *
 *
 * Builder Xcessory 2.5.
 *
 */

/*
 * System Include Files
 */
#include <stdlib.h>

/*
 * Required Motif Include Files
 */
#include <Xm/Xm.h>
#include <Xm/TextF.h>
#include <Xm/PushB.h>
#include <Xm/ToggleB.h>
#include <Xm/Frame.h>
#include <Xm/ScrolledW.h>
#include <Xm/Form.h>
#include <Xm/SelectioB.h>
#include <Xm/RowColumn.h>
#include <Xm/DialogS.h>
#include <Xm/SeparatoG.h>
#include <Xm/PushBG.h>
#include <Xm/LabelG.h>

/*
 * User supplied include files.
 */
#define IGNORE_MENU_POST
#define IGNORE_CONVERT


/*
 * Some Convenience Routines
 */
#ifndef IGNORE_MENU_POST
/*SUPPRESS 592*/
/*ARGSUSED*/
static void
#ifdef XtSpecificationRelease
MENU_POST(Widget p, XtPointer mw, XEvent *ev, Boolean *dispatch)
#else
MENU_POST(Widget p, caddr_t mw, XEvent *ev, Boolean *dispatch)
#endif
{
    Arg	args[2];
    int	argcnt;
    int	button;
    Widget m = (Widget)mw;
    XButtonEvent *e = (XButtonEvent *)ev;

    argcnt = 0;
    XtSetArg(args[argcnt], XmNwhichButton, &button);
    argcnt++;
    XtGetValues(m, args, argcnt);
    if( e->button != button) return;
    XmMenuPosition(m, e);
    XtManageChild(m);
}
#endif
#ifndef IGNORE_CONVERT
/*SUPPRESS 592*/
static XtPointer
CONVERT(Widget w, char *from_string, char *to_type, int to_size, 
	Boolean *success)
{
    XrmValue		fromVal, toVal;	/* resource holders		*/
    Boolean		convResult;	/* return value			*/
    unsigned char	oByte;		/* one byte result		*/
    unsigned short	tByte;		/* two byte result		*/
    XtPointer		fByte;		/* four byte result		*/
    XtPointer		aByte;		/* allocated result		*/
    
    /*
     * Zero it.
     */
    *success = False;
    fByte = aByte = NULL;
    
    /*
     * String to string.
     */
    if( strcmp(XmRString, to_type) == 0 )
    {
	*success = True;
	return( from_string );
    }

    /*
     * Sometimes we do not know this at code output.
     */
    if(to_size == 0) to_size = strlen(from_string);
        
    /*
     * Motif String to StringTable converter
     * does not cache correctly and so
     * we need to special case this.
     */ 
    if( strcmp(to_type, "XmStringTable") == 0)
    {
	register int lcount, loop;
	register char tmp, *ptr, *e_ptr;
	char *tmp_from;
	XmStringTable table;
	
	tmp_from = XtNewString((char *)from_string);
	ptr = tmp_from;
	if ((ptr == NULL) || (*ptr == '\0'))
	{
	    XtFree((XtPointer)tmp_from);
	    return( NULL );
	}
	else 
	{	
	    lcount = 1;
	    while (*ptr != '\0') 
	    {
		if (*ptr++ == '\n')
		    lcount++;
	    }
	    table = (XmStringTable)
		XtMalloc(sizeof(XmString) * lcount);
	    
	    ptr = tmp_from;
	    
	    for (loop = 0; loop < lcount; loop++) 
	    {
		e_ptr = ptr;
		while((*e_ptr!='\0')&&(*e_ptr != '\n'))
		    e_ptr++;	     
		tmp = *e_ptr;
		*e_ptr = '\0';
		table[loop] = XmStringCreateSimple(ptr);
		*e_ptr = tmp;
		ptr = ++e_ptr;
	    }
	    
	    fByte = (XtPointer)table;
	}
	*success = True;
	XtFree((XtPointer)tmp_from);
	/*SUPPRESS 80*/
	return( fByte );
    }

    /*
     * Set up the list.
     */
    fromVal.size = strlen(from_string) + 1;
    fromVal.addr = from_string;

    switch( to_size )
    {
    case 1:
	toVal.size = sizeof(unsigned char);
	toVal.addr = (XtPointer)&oByte;
	break;
    case 2:
	toVal.size = sizeof(unsigned short);
	toVal.addr = (XtPointer)&tByte;
	break;
    default:
	toVal.size = sizeof(XtPointer);
	toVal.addr = (XtPointer)&fByte;
	break;
    }
    
    convResult = XtConvertAndStore(w, 
				   XmRString, 
				   &fromVal,
				   to_type,
				   &toVal);
    
    if( convResult )
    {
	switch( to_size )
	{
	case 1:
	    fByte = (XtPointer)((int)oByte);
	    break;
	case 2:
	    fByte = (XtPointer)((int)tByte);
	    break;
	default:
	    break;
	}
    }
    

    /*
     * Conversion will fail if we need more than 4 bytes.
     */
    if( !convResult && toVal.size != to_size )
    {
	/*
	 * Need to allocate more space for this one.
	 */
	toVal.addr = (XtPointer)XtMalloc(toVal.size);
	fByte = aByte = toVal.addr;
	convResult = XtConvertAndStore(w, 
				       XmRString, 
				       &fromVal,
				       to_type,
				       &toVal);
    }
    
    /*
     * Free any thing useless we may have allocated.
     */
    if( !convResult )
    {
	XtFree(aByte);
	aByte = NULL;
    }
    
    /*
     * Return the result.
     */
    *success = convResult;
    /*SUPPRESS 80*/
    return( fByte );
}
#endif

/*
 * Callback procedure declarations
 */
extern void barGraphCallback(Widget, XtPointer, XtPointer);
extern void createDmSelectionBox(Widget, XtPointer, XtPointer);
extern void fltRecordCallback(Widget, XtPointer, XtPointer);
extern void graphUpdateCallback(Widget, XtPointer, XtPointer);
extern void initRate(Widget, XtPointer, XtPointer);
extern void logItemPopup(Widget, XtPointer, XtPointer);
extern void makeGraph(Widget, XtPointer, XtPointer);
extern void makeInfo(Widget, XtPointer, XtPointer);
extern void makeLabelGraph(Widget, XtPointer, XtPointer);
extern void makeStripChart(Widget, XtPointer, XtPointer);
extern void stopLogItem(Widget, XtPointer, XtPointer);
extern void storeLogWidget(Widget, XtPointer, XtPointer);

/*
 * Global widget declarations.
 *        - first remove definition of EXTERNAL
 */
#ifdef EXTERNAL
#undef EXTERNAL
#endif
#define EXTERNAL
/* Start Global Widget Declarations */
EXTERNAL Widget	dmItemTextField;
EXTERNAL Widget	dmScrolledWindow;
EXTERNAL Widget	graphBoundForm;
EXTERNAL Widget	graphFreqText;
/* End Global Widget Declarations */

Widget
CreatedmForm(Widget parent)
{
    Arg    	args[512];
    Cardinal   	argcnt;
    /*SUPPRESS 591*/
    Boolean   	argok;
    Widget 	retval;
    /*SUPPRESS 591*/
    XmString	xmstr[32];
    Widget	dmForm;
    Widget	logItemDialog;
    Widget	logItemForm;
    Widget	logSeparator;
    Widget	logOkButton;
    Widget	logCancelButton;
    Widget	logNameLabel;
    Widget	logFileNameTextF;
    Widget	logRateLabel;
    Widget	logRateTextF;
    Widget	logSecLabel1;
    Widget	logNameToggle;
    Widget	logFieldLabel;
    Widget	logTimeToggle;
    Widget	logDataToggle;
    Widget	logFlushLabel;
    Widget	logFlushTextF;
    Widget	logSecLabel;
    Widget	dmSelectionFrame;
    Widget	dmSelectionBox;
    Widget	dmValueFrame;
    Widget	dmValueForm;
    Widget	graphFrame;
    Widget	graphForm;
    Widget	graphFreqLabel1;
    Widget	graphFreqLabel;
    Widget	rowColumn;
    Widget	graphButton;
    Widget	infoButton;
    Widget	stripChartButton;
    Widget	barGraphButton;
    Widget	textButton;
    Widget	graphLabel;
    Widget	logButton;
    Widget	fltRecordButton;
    Widget	stopLogButton;

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 969); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 653); argcnt++;
    dmForm = XtCreateWidget("dmForm",
		xmFormWidgetClass,
		parent,
		args,
		argcnt);
    retval = dmForm;

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 715); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 254); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 653); argcnt++;
    graphFrame = XtCreateWidget("graphFrame",
		xmFrameWidgetClass,
		dmForm,
		args,
		argcnt);
    XtManageChild(graphFrame);

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 450); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 218); argcnt++;
    dmValueFrame = XtCreateWidget("dmValueFrame",
		xmFrameWidgetClass,
		dmForm,
		args,
		argcnt);
    XtManageChild(dmValueFrame);

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 746); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 435); argcnt++;
    dmSelectionFrame = XtCreateWidget("dmSelectionFrame",
		xmFrameWidgetClass,
		dmForm,
		args,
		argcnt);
    XtManageChild(dmSelectionFrame);

    XtInitializeWidgetClass(xmDialogShellWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNx, 330); argcnt++;
    XtSetArg(args[argcnt], XmNy, 297); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 316); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 384); argcnt++;
    logItemDialog = XtCreatePopupShell("logItemDialog",
		xmDialogShellWidgetClass,
		dmForm,
		args,
		argcnt);

    storeLogWidget(logItemDialog, (XtPointer)0, (XtPointer)0);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNx, 330); argcnt++;
    XtSetArg(args[argcnt], XmNy, 297); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 316); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 384); argcnt++;
    logItemForm = XtCreateWidget("logItemForm",
		xmFormWidgetClass,
		logItemDialog,
		args,
		argcnt);

    storeLogWidget(logItemForm, (XtPointer)1, (XtPointer)0);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"seconds", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 125); argcnt++;
    XtSetArg(args[argcnt], XmNy, 270); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    logSecLabel = XtCreateWidget("logSecLabel",
		xmLabelGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(logSecLabel);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNvalue, "30"); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 270); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 35); argcnt++;
    XtSetArg(args[argcnt], XmNy, 270); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 85); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 34); argcnt++;
    logFlushTextF = XtCreateWidget("logFlushTextF",
		xmTextFieldWidgetClass,
		logItemForm,
		args,
		argcnt);

    storeLogWidget(logFlushTextF, (XtPointer)7, (XtPointer)0);
    XtManageChild(logFlushTextF);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Flush file every", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 240); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 135); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    logFlushLabel = XtCreateWidget("logFlushLabel",
		xmLabelGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(logFlushLabel);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Data", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNset, True); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNbottomPosition, 56); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 185); argcnt++;
    XtSetArg(args[argcnt], XmNx, 40); argcnt++;
    XtSetArg(args[argcnt], XmNy, 185); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 85); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    logDataToggle = XtCreateWidget("logDataToggle",
		xmToggleButtonWidgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    storeLogWidget(logDataToggle, (XtPointer)5, (XtPointer)0);
    XtManageChild(logDataToggle);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Time", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNset, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 40); argcnt++;
    XtSetArg(args[argcnt], XmNy, 215); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 69); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    logTimeToggle = XtCreateWidget("logTimeToggle",
		xmToggleButtonWidgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    storeLogWidget(logTimeToggle, (XtPointer)6, (XtPointer)0);
    XtManageChild(logTimeToggle);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Fields Included in File", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 130); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 190); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    logFieldLabel = XtCreateWidget("logFieldLabel",
		xmLabelGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(logFieldLabel);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Item Name", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 40); argcnt++;
    XtSetArg(args[argcnt], XmNy, 155); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 114); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    logNameToggle = XtCreateWidget("logNameToggle",
		xmToggleButtonWidgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    storeLogWidget(logNameToggle, (XtPointer)4, (XtPointer)0);
    XtManageChild(logNameToggle);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"seconds", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 130); argcnt++;
    XtSetArg(args[argcnt], XmNy, 100); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    logSecLabel1 = XtCreateWidget("logSecLabel1",
		xmLabelGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(logSecLabel1);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNx, 35); argcnt++;
    XtSetArg(args[argcnt], XmNy, 95); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 85); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 34); argcnt++;
    logRateTextF = XtCreateWidget("logRateTextF",
		xmTextFieldWidgetClass,
		logItemForm,
		args,
		argcnt);

    storeLogWidget(logRateTextF, (XtPointer)3, (XtPointer)0);
    XtManageChild(logRateTextF);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Rate", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 65); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    logRateLabel = XtCreateWidget("logRateLabel",
		xmLabelGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(logRateLabel);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNx, 30); argcnt++;
    XtSetArg(args[argcnt], XmNy, 30); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 280); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 34); argcnt++;
    logFileNameTextF = XtCreateWidget("logFileNameTextF",
		xmTextFieldWidgetClass,
		logItemForm,
		args,
		argcnt);

    storeLogWidget(logFileNameTextF, (XtPointer)2, (XtPointer)0);
    XtManageChild(logFileNameTextF);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"File Name", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 95); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    logNameLabel = XtCreateWidget("logNameLabel",
		xmLabelGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(logNameLabel);

    XtInitializeWidgetClass(xmPushButtonGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Cancel", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 8); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 185); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    logCancelButton = XtCreateWidget("logCancelButton",
		xmPushButtonGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(logCancelButton);

    XtInitializeWidgetClass(xmPushButtonGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"OK", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNshowAsDefault, 1); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 4); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 75); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    logOkButton = XtCreateWidget("logOkButton",
		xmPushButtonGadgetClass,
		logItemForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    storeLogWidget(logOkButton, (XtPointer)8, (XtPointer)0);
    XtManageChild(logOkButton);

    XtInitializeWidgetClass(xmSeparatorGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 305); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, -43); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 305); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 359); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 20); argcnt++;
    logSeparator = XtCreateWidget("logSeparator",
		xmSeparatorGadgetClass,
		logItemForm,
		args,
		argcnt);
    XtManageChild(logSeparator);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 4); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, logSeparator); argcnt++;
    XtSetValues(logOkButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 8); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, logSeparator); argcnt++;
    XtSetValues(logCancelButton, args, argcnt);

    XtInitializeWidgetClass(xmSelectionBoxWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlistLabelString, (xmstr[0]=XmStringCreateLtoR(
		"Data Manager Items", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNtextColumns, 64); argcnt++;
    XtSetArg(args[argcnt], XmNlistVisibleItemCount, 11); argcnt++;
    XtSetArg(args[argcnt], XmNcancelLabelString, (xmstr[1]=XmStringCreateLtoR(
		"Back", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNhelpLabelString, (xmstr[2]=XmStringCreateLtoR(
		"New", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNmustMatch, True); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 431); argcnt++;
    dmSelectionBox = XtCreateWidget("dmSelectionBox",
		xmSelectionBoxWidgetClass,
		dmSelectionFrame,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XmStringFree( xmstr[1] );
    XmStringFree( xmstr[2] );

    createDmSelectionBox(dmSelectionBox, (XtPointer)0, (XtPointer)0);
    XtManageChild(dmSelectionBox);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 446); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 199); argcnt++;
    dmValueForm = XtCreateWidget("dmValueForm",
		xmFormWidgetClass,
		dmValueFrame,
		args,
		argcnt);
    XtManageChild(dmValueForm);

    XtInitializeWidgetClass(xmScrolledWindowWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNscrollingPolicy, XmAUTOMATIC); argcnt++;
    XtSetArg(args[argcnt], XmNscrollBarDisplayPolicy, XmAS_NEEDED); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 2); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 446); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 162); argcnt++;
    dmScrolledWindow = XtCreateWidget("dmScrolledWindow",
		xmScrolledWindowWidgetClass,
		dmValueForm,
		args,
		argcnt);

    XtManageChild(dmScrolledWindow);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNeditable, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 446); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    dmItemTextField = XtCreateWidget("dmItemTextField",
		xmTextFieldWidgetClass,
		dmValueForm,
		args,
		argcnt);

    XtManageChild(dmItemTextField);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 2); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, dmItemTextField); argcnt++;
    XtSetValues(dmScrolledWindow, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, dmSelectionFrame); argcnt++;
    XtSetValues(dmValueFrame, args, argcnt);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 250); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 649); argcnt++;
    graphForm = XtCreateWidget("graphForm",
		xmFormWidgetClass,
		graphFrame,
		args,
		argcnt);
    XtManageChild(graphForm);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Stop Log", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 25); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    stopLogButton = XtCreateWidget("stopLogButton",
		xmPushButtonWidgetClass,
		graphForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(stopLogButton, XmNactivateCallback, stopLogItem, (XtPointer)0);
    XtManageChild(stopLogButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Flt Recorder", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 25); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 105); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, stopLogButton); argcnt++;
    fltRecordButton = XtCreateWidget("fltRecordButton",
		xmPushButtonWidgetClass,
		graphForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(fltRecordButton, XmNactivateCallback, fltRecordCallback, (XtPointer)0);
    XtManageChild(fltRecordButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Log to File", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 13); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 25); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    logButton = XtCreateWidget("logButton",
		xmPushButtonWidgetClass,
		graphForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(logButton, XmNactivateCallback, logItemPopup, (XtPointer)0);
    XtManageChild(logButton);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Graph Creation", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopPosition, 1); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 6); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 218); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 27); argcnt++;
    graphLabel = XtCreateWidget("graphLabel",
		xmLabelGadgetClass,
		graphForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(graphLabel);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 25); argcnt++;
    XtSetArg(args[argcnt], XmNy, 45); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 179); argcnt++;
    rowColumn = XtCreateWidget("rowColumn",
		xmRowColumnWidgetClass,
		graphForm,
		args,
		argcnt);
    XtManageChild(rowColumn);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 250); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 140); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, rowColumn); argcnt++;
    graphBoundForm = XtCreateWidget("graphParmForm",
		xmFormWidgetClass,
		graphForm,
		args,
		argcnt);

    XtManageChild(graphBoundForm);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"seconds", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, -30); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 71); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 23); argcnt++;
    graphFreqLabel = XtCreateWidget("graphFreqLabel",
		xmLabelGadgetClass,
		graphBoundForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(graphFreqLabel);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Update Rate", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNx, 25); argcnt++;
    XtSetArg(args[argcnt], XmNy, 10); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 99); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    graphFreqLabel1 = XtCreateWidget("graphFreqLabel1",
		xmLabelGadgetClass,
		graphBoundForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(graphFreqLabel1);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNvalue, "2"); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 2); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 15); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 105); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, graphFreqLabel1); argcnt++;
    graphFreqText = XtCreateWidget("graphFreqText",
		xmTextFieldWidgetClass,
		graphBoundForm,
		args,
		argcnt);

    initRate(graphFreqText, (XtPointer)0, (XtPointer)0);
    XtAddCallback(graphFreqText, XmNactivateCallback, graphUpdateCallback, (XtPointer)0);
    XtManageChild(graphFreqText);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, -30); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, graphFreqText); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, graphFreqText); argcnt++;
    XtSetValues(graphFreqLabel, args, argcnt);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Graph", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    graphButton = XtCreateWidget("graphButton",
		xmPushButtonWidgetClass,
		rowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(graphButton, XmNactivateCallback, makeGraph, (XtPointer)0);
    XtManageChild(graphButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Info", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 36); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    infoButton = XtCreateWidget("infoButton",
		xmPushButtonWidgetClass,
		rowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(infoButton, XmNactivateCallback, makeInfo, (XtPointer)0);
    XtManageChild(infoButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"StripChart", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 69); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    stripChartButton = XtCreateWidget("stripChartButton",
		xmPushButtonWidgetClass,
		rowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(stripChartButton, XmNactivateCallback, makeStripChart, (XtPointer)0);
    XtManageChild(stripChartButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"BarGraph", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 107); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    barGraphButton = XtCreateWidget("barGraphButton",
		xmPushButtonWidgetClass,
		rowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(barGraphButton, XmNactivateCallback, barGraphCallback, (XtPointer)0);
    XtManageChild(barGraphButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Text", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 145); argcnt++;
    textButton = XtCreateWidget("textButton",
		xmPushButtonWidgetClass,
		rowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(textButton, XmNactivateCallback, makeLabelGraph, (XtPointer)0);
    XtManageChild(textButton);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 13); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, graphBoundForm); argcnt++;
    XtSetValues(logButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, logButton); argcnt++;
    XtSetValues(stopLogButton, args, argcnt);

    return( retval );
}

