/*
 * 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/Separator.h>
#include <Xm/PushB.h>
#include <Xm/ToggleB.h>
#include <Xm/Label.h>
#include <Xm/List.h>
#include <Xm/Frame.h>
#include <Xm/ScrolledW.h>
#include <Xm/Form.h>
#include <Xm/RowColumn.h>
#include <Xm/MenuShell.h>

/*
 * User supplied include files.
 */
#include <stdio.h>
#include <mbari/types.h>
#include <dmUnix.h>
#include <semLib.h>
#include <time.h>
#include <datamgr.h>
#include "ctdDisplay.h"
 
void initGuiForm(Widget itemList, Widget displayRate, Widget statusRate,
                 Widget linesPlotToggle, Widget dotsPlotToggle,
                 Widget showXYTogggle, Widget scrollToggle);
void initXForm(Int16 var, Widget label, Widget min, Widget max, Widget divs,
               Widget colourMenu, Widget colours[], plotParameters *plotParams);
void initYForm(Widget label, Widget min, Widget max, Widget divs,
               Widget unitsMenu, Widget units[], yItemParameters *yVar);

                                                /* global variables           */
Widget itemList;
Widget xItemsToggleButton;
Widget yItemToggleButton;
Widget statusItemToggleButton;
Widget displayRateTextField;
Widget statusRateTextField;
Widget linesPlotToggleButton;
Widget dotsPlotToggleButton;
Widget showToggleButton;
Widget scrollToggleButton;
 
 
 


/*
 * 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 colourCallback(Widget, XtPointer, XtPointer);
extern void displayRateCallback(Widget, XtPointer, XtPointer);
extern void displayRateLostFocusCallback(Widget, XtPointer, XtPointer);
extern void dotsPlotCallback(Widget, XtPointer, XtPointer);
extern void exitCallback(Widget, XtPointer, XtPointer);
extern void itemListCallback(Widget, XtPointer, XtPointer);
extern void linePlotCallback(Widget, XtPointer, XtPointer);
extern void markCallback(Widget, XtPointer, XtPointer);
extern void numericVerifyCallback(Widget, XtPointer, XtPointer);
extern void parametersCallback(Widget, XtPointer, XtPointer);
extern void printCallback(Widget, XtPointer, XtPointer);
extern void saveCallback(Widget, XtPointer, XtPointer);
extern void scrollCallback(Widget, XtPointer, XtPointer);
extern void showXYCallback(Widget, XtPointer, XtPointer);
extern void startCallback(Widget, XtPointer, XtPointer);
extern void statusItemsCallback(Widget, XtPointer, XtPointer);
extern void statusRateCallback(Widget, XtPointer, XtPointer);
extern void stopCallback(Widget, XtPointer, XtPointer);
extern void timeUnitsCallback(Widget, XtPointer, XtPointer);
extern void xApplyCallback(Widget, XtPointer, XtPointer);
extern void xCancelAllCallback(Widget, XtPointer, XtPointer);
extern void xCancelLastCallback(Widget, XtPointer, XtPointer);
extern void xDivisionsCallback(Widget, XtPointer, XtPointer);
extern void xItemsCallback(Widget, XtPointer, XtPointer);
extern void xLabelCallback(Widget, XtPointer, XtPointer);
extern void xMaxCallback(Widget, XtPointer, XtPointer);
extern void xMinCallback(Widget, XtPointer, XtPointer);
extern void yApplyCallback(Widget, XtPointer, XtPointer);
extern void yCancelAllCallback(Widget, XtPointer, XtPointer);
extern void yCancelLastCallback(Widget, XtPointer, XtPointer);
extern void yDivisionsCallback(Widget, XtPointer, XtPointer);
extern void yItemCallback(Widget, XtPointer, XtPointer);
extern void yLabelCallback(Widget, XtPointer, XtPointer);
extern void yMaxCallback(Widget, XtPointer, XtPointer);
extern void yMinCallback(Widget, XtPointer, XtPointer);

/*
 * Global widget declarations.
 *        - first remove definition of EXTERNAL
 */
#ifdef EXTERNAL
#undef EXTERNAL
#endif
#define EXTERNAL
/* Start Global Widget Declarations */
/* End Global Widget Declarations */

Widget
CreateguiForm(Widget parent, plotParameters *plotParams)
{
    Arg    	args[512];
    Cardinal   	argcnt;
    /*SUPPRESS 591*/
    Boolean   	argok;
    Widget 	retval;
    /*SUPPRESS 591*/
    XmString	xmstr[32];
    Widget	guiForm;
    Widget	itemsFrame;
    Widget	itemsForm;
    Widget	displayItemsLabel;
    Widget	itemsSeparator;
    Widget	parameterPushButton;
    Widget	itemScrolledWindow;
    Widget	itemsRowColumn;
    Widget	styleFrame;
    Widget	styleForm;
    Widget	displayStyleLabel;
    Widget	styleSeparator;
    Widget	styleTextRowColumn;
    Widget	displayRateLabel;
    Widget	statusRateLabel;
    Widget	styleInputRowColumn;
    Widget	styleRowColumn;
    Widget	controlFrame;
    Widget	controlForm;
    Widget	displayControlLabel;
    Widget	controlSeparator;
    Widget	startPushButton;
    Widget	markPushButton;
    Widget	printPushButton;
    Widget	exitPushButton;
    Widget	savePushButton;
    Widget	stopPushButton;

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 600); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 500); argcnt++;
    guiForm = XtCreateWidget("guiForm",
		xmFormWidgetClass,
		parent,
		args,
		argcnt);
    retval = guiForm;

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopPosition, 55); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 50); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 300); argcnt++;
    XtSetArg(args[argcnt], XmNy, 275); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 280); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 205); argcnt++;
    controlFrame = XtCreateWidget("controlFrame",
		xmFrameWidgetClass,
		guiForm,
		args,
		argcnt);
    XtManageChild(controlFrame);

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomPosition, 50); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 50); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 300); argcnt++;
    XtSetArg(args[argcnt], XmNy, 20); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 280); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 230); argcnt++;
    styleFrame = XtCreateWidget("styleFrame",
		xmFrameWidgetClass,
		guiForm,
		args,
		argcnt);
    XtManageChild(styleFrame);

    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_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 46); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 20); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 256); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 460); argcnt++;
    itemsFrame = XtCreateWidget("itemsFrame",
		xmFrameWidgetClass,
		guiForm,
		args,
		argcnt);
    XtManageChild(itemsFrame);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 252); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 456); argcnt++;
    itemsForm = XtCreateWidget("itemsForm",
		xmFormWidgetClass,
		itemsFrame,
		args,
		argcnt);
    XtManageChild(itemsForm);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNradioBehavior, True); argcnt++;
    XtSetArg(args[argcnt], XmNradioAlwaysOne, True); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 15); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 85); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 38); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 176); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 99); argcnt++;
    itemsRowColumn = XtCreateWidget("itemsRowColumn",
		xmRowColumnWidgetClass,
		itemsForm,
		args,
		argcnt);
    XtManageChild(itemsRowColumn);

    XtInitializeWidgetClass(xmScrolledWindowWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNscrollingPolicy, XmAUTOMATIC); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 90); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 6); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 25); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 202); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 264); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, itemsRowColumn); argcnt++;
    itemScrolledWindow = XtCreateWidget("itemScrolledWindow",
		xmScrolledWindowWidgetClass,
		itemsForm,
		args,
		argcnt);
    XtManageChild(itemScrolledWindow);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Parameters", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); 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], XmNbottomOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 30); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 30); argcnt++;
    XtSetArg(args[argcnt], XmNx, 30); argcnt++;
    XtSetArg(args[argcnt], XmNy, 411); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 192); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    parameterPushButton = XtCreateWidget("parameterPushButton",
		xmPushButtonWidgetClass,
		itemsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(parameterPushButton, XmNactivateCallback, parametersCallback, (XtPointer)0);
    XtManageChild(parameterPushButton);

    XtInitializeWidgetClass(xmSeparatorWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNseparatorType, XmSHADOW_ETCHED_IN); 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_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 252); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 2); argcnt++;
    itemsSeparator = XtCreateWidget("itemsSeparator",
		xmSeparatorWidgetClass,
		itemsForm,
		args,
		argcnt);
    XtManageChild(itemsSeparator);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Display Items", 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], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 212); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 20); argcnt++;
    displayItemsLabel = XtCreateWidget("displayItemsLabel",
		xmLabelWidgetClass,
		itemsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(displayItemsLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, displayItemsLabel); argcnt++;
    XtSetValues(itemsSeparator, args, argcnt);

    XtInitializeWidgetClass(xmListWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNvisibleItemCount, NUM_DISPLAY_ITEMS); argcnt++;
    XtSetArg(args[argcnt], XmNselectionPolicy, XmMULTIPLE_SELECT); argcnt++;
    itemList = XtCreateWidget("itemList",
		xmListWidgetClass,
		itemScrolledWindow,
		args,
		argcnt);

    XtAddCallback(itemList, XmNmultipleSelectionCallback, itemListCallback, (XtPointer)plotParams);
    XtManageChild(itemList);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNbottomOffset, 6); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNbottomWidget, parameterPushButton); argcnt++;
    XtSetValues(itemScrolledWindow, args, argcnt);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"x axis variables", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNset, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 170); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 29); argcnt++;
    xItemsToggleButton = XtCreateWidget("xItemsToggleButton",
		xmToggleButtonWidgetClass,
		itemsRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(xItemsToggleButton, XmNvalueChangedCallback, xItemsCallback, (XtPointer)0);
    XtManageChild(xItemsToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"y axis variable", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 35); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 170); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 29); argcnt++;
    yItemToggleButton = XtCreateWidget("yItemToggleButton",
		xmToggleButtonWidgetClass,
		itemsRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(yItemToggleButton, XmNvalueChangedCallback, yItemCallback, (XtPointer)0);
    XtManageChild(yItemToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"status line variables", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 67); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 170); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 29); argcnt++;
    statusItemToggleButton = XtCreateWidget("statusItemToggleButton",
		xmToggleButtonWidgetClass,
		itemsRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(statusItemToggleButton, XmNvalueChangedCallback, statusItemsCallback, (XtPointer)0);
    XtManageChild(statusItemToggleButton);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, itemsSeparator); argcnt++;
    XtSetValues(itemsRowColumn, args, argcnt);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 276); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 226); argcnt++;
    styleForm = XtCreateWidget("styleForm",
		xmFormWidgetClass,
		styleFrame,
		args,
		argcnt);
    XtManageChild(styleForm);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Scroll", 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], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 55); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 90); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 152); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    scrollToggleButton = XtCreateWidget("scrollToggleButton",
		xmToggleButtonWidgetClass,
		styleForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(scrollToggleButton, XmNvalueChangedCallback, scrollCallback, (XtPointer)0);
    XtManageChild(scrollToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Show XY", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 45); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 28); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 29); argcnt++;
    showToggleButton = XtCreateWidget("showToggleButton",
		xmToggleButtonWidgetClass,
		styleForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(showToggleButton, XmNvalueChangedCallback, showXYCallback, (XtPointer)plotParams);
    XtManageChild(showToggleButton);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNradioBehavior, True); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 15); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 85); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 41); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 194); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 67); argcnt++;
    styleRowColumn = XtCreateWidget("styleRowColumn",
		xmRowColumnWidgetClass,
		styleForm,
		args,
		argcnt);
    XtManageChild(styleRowColumn);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    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, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 77); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 79); argcnt++;
    styleInputRowColumn = XtCreateWidget("styleInputRowColumn",
		xmRowColumnWidgetClass,
		styleForm,
		args,
		argcnt);
    XtManageChild(styleInputRowColumn);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNorientation, XmVERTICAL); argcnt++;
    XtSetArg(args[argcnt], XmNspacing, 20); argcnt++;
    XtSetArg(args[argcnt], XmNpacking, XmPACK_COLUMN); argcnt++;
    XtSetArg(args[argcnt], XmNnumColumns, 1); 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_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 72); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 199); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 68); argcnt++;
    styleTextRowColumn = XtCreateWidget("styleTextRowColumn",
		xmRowColumnWidgetClass,
		styleForm,
		args,
		argcnt);
    XtManageChild(styleTextRowColumn);

    XtInitializeWidgetClass(xmSeparatorWidgetClass);
    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, 5); 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, 276); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 2); argcnt++;
    styleSeparator = XtCreateWidget("styleSeparator",
		xmSeparatorWidgetClass,
		styleForm,
		args,
		argcnt);
    XtManageChild(styleSeparator);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Display Style ", 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], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 236); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 20); argcnt++;
    displayStyleLabel = XtCreateWidget("displayStyleLabel",
		xmLabelWidgetClass,
		styleForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(displayStyleLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, displayStyleLabel); argcnt++;
    XtSetValues(styleSeparator, args, argcnt);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Graphics Display Rate (Hz)", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    displayRateLabel = XtCreateWidget("displayRateLabel",
		xmLabelWidgetClass,
		styleTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(displayRateLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Status Line Rate (Hz)", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 44); argcnt++;
    statusRateLabel = XtCreateWidget("statusRateLabel",
		xmLabelWidgetClass,
		styleTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(statusRateLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, styleSeparator); argcnt++;
    XtSetValues(styleTextRowColumn, args, argcnt);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 50); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNeditable, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 71); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    displayRateTextField = XtCreateWidget("displayRateTextField",
		xmTextFieldWidgetClass,
		styleInputRowColumn,
		args,
		argcnt);

    XtAddCallback(displayRateTextField, XmNactivateCallback, displayRateCallback, (XtPointer)0);
    XtAddCallback(displayRateTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtAddCallback(displayRateTextField, XmNlosingFocusCallback, displayRateLostFocusCallback, (XtPointer)0);
    XtManageChild(displayRateTextField);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 50); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 41); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 71); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    statusRateTextField = XtCreateWidget("statusRateTextField",
		xmTextFieldWidgetClass,
		styleInputRowColumn,
		args,
		argcnt);

    XtAddCallback(statusRateTextField, XmNactivateCallback, statusRateCallback, (XtPointer)0);
    XtAddCallback(statusRateTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtManageChild(statusRateTextField);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, styleSeparator); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, styleTextRowColumn); argcnt++;
    XtSetValues(styleInputRowColumn, args, argcnt);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"connected lines ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNset, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 188); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 29); argcnt++;
    linesPlotToggleButton = XtCreateWidget("linesPlotToggleButton",
		xmToggleButtonWidgetClass,
		styleRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(linesPlotToggleButton, XmNvalueChangedCallback, linePlotCallback, (XtPointer)&plotParams->displayData);
    XtManageChild(linesPlotToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"dots ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 35); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 188); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 29); argcnt++;
    dotsPlotToggleButton = XtCreateWidget("dotsPlotToggleButton",
		xmToggleButtonWidgetClass,
		styleRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(dotsPlotToggleButton, XmNvalueChangedCallback, dotsPlotCallback, (XtPointer)&plotParams->displayData);
    XtManageChild(dotsPlotToggleButton);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, styleTextRowColumn); argcnt++;
    XtSetValues(styleRowColumn, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, styleRowColumn); argcnt++;
    XtSetValues(showToggleButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, styleRowColumn); argcnt++;
    XtSetValues(scrollToggleButton, args, argcnt);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 276); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 201); argcnt++;
    controlForm = XtCreateWidget("controlForm",
		xmFormWidgetClass,
		controlFrame,
		args,
		argcnt);
    XtManageChild(controlForm);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Stop ", 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], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 55); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 90); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 152); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    stopPushButton = XtCreateWidget("stopPushButton",
		xmPushButtonWidgetClass,
		controlForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(stopPushButton, XmNactivateCallback, stopCallback, (XtPointer)0);
    XtManageChild(stopPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Save Cfg", 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], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 45); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 28); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    savePushButton = XtCreateWidget("savePushButton",
		xmPushButtonWidgetClass,
		controlForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(savePushButton, XmNactivateCallback, saveCallback, (XtPointer)0);
    XtManageChild(savePushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Exit ", 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], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 55); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 90); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 152); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    exitPushButton = XtCreateWidget("exitPushButton",
		xmPushButtonWidgetClass,
		controlForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(exitPushButton, XmNactivateCallback, exitCallback, (XtPointer)0);
    XtManageChild(exitPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Print ", 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], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 55); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 90); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 152); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, stopPushButton); argcnt++;
    printPushButton = XtCreateWidget("printPushButton",
		xmPushButtonWidgetClass,
		controlForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(printPushButton, XmNactivateCallback, printCallback, (XtPointer)plotParams);
    XtManageChild(printPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Mark ", 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], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 45); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 28); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    markPushButton = XtCreateWidget("markPushButton",
		xmPushButtonWidgetClass,
		controlForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(markPushButton, XmNactivateCallback, markCallback, (XtPointer)plotParams);
    XtManageChild(markPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"(Re)Start ", 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], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 45); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 28); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 96); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    startPushButton = XtCreateWidget("startPushButton",
		xmPushButtonWidgetClass,
		controlForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(startPushButton, XmNactivateCallback, startCallback, (XtPointer)plotParams);
    XtManageChild(startPushButton);

    XtInitializeWidgetClass(xmSeparatorWidgetClass);
    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, 5); 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, 276); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 2); argcnt++;
    controlSeparator = XtCreateWidget("controlSeparator",
		xmSeparatorWidgetClass,
		controlForm,
		args,
		argcnt);
    XtManageChild(controlSeparator);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Display Control ", 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], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 236); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 20); argcnt++;
    displayControlLabel = XtCreateWidget("displayControlLabel",
		xmLabelWidgetClass,
		controlForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(displayControlLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, displayControlLabel); argcnt++;
    XtSetValues(controlSeparator, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, controlSeparator); argcnt++;
    XtSetValues(startPushButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, startPushButton); argcnt++;
    XtSetValues(markPushButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, printPushButton); argcnt++;
    XtSetValues(exitPushButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, markPushButton); argcnt++;
    XtSetValues(savePushButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, controlSeparator); argcnt++;
    XtSetValues(stopPushButton, args, argcnt);

    initGuiForm(itemList, displayRateTextField, statusRateTextField,
                linesPlotToggleButton, dotsPlotToggleButton, showToggleButton,
                scrollToggleButton);

    return( retval );
}

Widget
CreatexForm(Widget parent, Int16 var, plotParameters *plotParams)
{
    Arg    	args[512];
    Cardinal   	argcnt;
    /*SUPPRESS 591*/
    Boolean   	argok;
    Widget 	retval;
    /*SUPPRESS 591*/
    XmString	xmstr[32];
    Widget      colours[NUM_COLOURS+1];
    Widget	xForm;
    Widget	parametersFrame;
    Widget	xParamsForm;
    Widget	xParametersLabel;
    Widget	xParameterSeparator;
    Widget	parameterTextRowColumn;
    Widget	xAxisLabel;
    Widget	xMinLabel;
    Widget	xMaxLabel;
    Widget	xColourLabel;
    Widget	xDivisionsLabel;
    Widget	parameterInputRowColumn;
    Widget	xLabelTextField;
    Widget	xMinTextField;
    Widget	xMaxTextField;
    Widget	menuShell;
    Widget	colourPulldownMenu;
    Widget	redPushButton;
    Widget	greenPushButton;
    Widget	bluePushButton;
    Widget	cyanPushButton;
    Widget	yellowPushButton;
    Widget	magentaPushButton;
    Widget	whitePushButton;
    Widget	colourOptionMenu;
    Widget	xDivisionsTextField;
    Widget	xApplyPushButton;
    Widget	xCancelLastPushButton;
    Widget	xCancelAllPushButton;

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 499); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 350); argcnt++;
    xForm = XtCreateWidget("xForm",
		xmFormWidgetClass,
		parent,
		args,
		argcnt);
    retval = xForm;

    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_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 20); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 459); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 310); argcnt++;
    parametersFrame = XtCreateWidget("parametersFrame",
		xmFrameWidgetClass,
		xForm,
		args,
		argcnt);
    XtManageChild(parametersFrame);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 455); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 306); argcnt++;
    xParamsForm = XtCreateWidget("xParamsForm",
		xmFormWidgetClass,
		parametersFrame,
		args,
		argcnt);
    XtManageChild(xParamsForm);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Cancel All ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 73); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 95); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 332); argcnt++;
    XtSetArg(args[argcnt], XmNy, 256); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 100); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    xCancelAllPushButton = XtCreateWidget("xCancelAllPushButton",
		xmPushButtonWidgetClass,
		xParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(xCancelAllPushButton, XmNactivateCallback, xCancelAllCallback, (XtPointer)0);
    XtManageChild(xCancelAllPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Cancel Last ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 46); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 68); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 209); argcnt++;
    XtSetArg(args[argcnt], XmNy, 256); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 100); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    xCancelLastPushButton = XtCreateWidget("xCancelLastPushButton",
		xmPushButtonWidgetClass,
		xParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(xCancelLastPushButton, XmNactivateCallback, xCancelLastCallback, (XtPointer)0);
    XtManageChild(xCancelLastPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Apply ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 5); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 27); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 23); argcnt++;
    XtSetArg(args[argcnt], XmNy, 256); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 100); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    xApplyPushButton = XtCreateWidget("xApplyPushButton",
		xmPushButtonWidgetClass,
		xParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(xApplyPushButton, XmNactivateCallback, xApplyCallback, (XtPointer)plotParams);
    XtManageChild(xApplyPushButton);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNspacing, 1); argcnt++;
    XtSetArg(args[argcnt], XmNentryAlignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNpacking, XmPACK_TIGHT); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 52); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 95); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 237); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 195); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 204); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNbottomWidget, xApplyPushButton); argcnt++;
    parameterInputRowColumn = XtCreateWidget("parameterInputRowColumn",
		xmRowColumnWidgetClass,
		xParamsForm,
		args,
		argcnt);
    XtManageChild(parameterInputRowColumn);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmarginHeight, 3); argcnt++;
    XtSetArg(args[argcnt], XmNspacing, 18); argcnt++;
    XtSetArg(args[argcnt], XmNpacking, XmPACK_COLUMN); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 5); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 48); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 23); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 195); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 204); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNbottomWidget, xApplyPushButton); argcnt++;
    parameterTextRowColumn = XtCreateWidget("parameterTextRowColumn",
		xmRowColumnWidgetClass,
		xParamsForm,
		args,
		argcnt);
    XtManageChild(parameterTextRowColumn);

    XtInitializeWidgetClass(xmSeparatorWidgetClass);
    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, 5); 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, 455); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 2); argcnt++;
    xParameterSeparator = XtCreateWidget("xParameterSeparator",
		xmSeparatorWidgetClass,
		xParamsForm,
		args,
		argcnt);
    XtManageChild(xParameterSeparator);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Display Parameters ", 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], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 415); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 20); argcnt++;
    xParametersLabel = XtCreateWidget("xParametersLabel",
		xmLabelWidgetClass,
		xParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(xParametersLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, xParametersLabel); argcnt++;
    XtSetValues(xParameterSeparator, args, argcnt);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Axis Label", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    xAxisLabel = XtCreateWidget("xAxisLabel",
		xmLabelWidgetClass,
		parameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(xAxisLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Minimum Value", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 42); argcnt++;
    xMinLabel = XtCreateWidget("xMinLabel",
		xmLabelWidgetClass,
		parameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(xMinLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Maximum Value", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 81); argcnt++;
    xMaxLabel = XtCreateWidget("xMaxLabel",
		xmLabelWidgetClass,
		parameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(xMaxLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Color", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 120); argcnt++;
    xColourLabel = XtCreateWidget("xColourLabel",
		xmLabelWidgetClass,
		parameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(xColourLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Major Divisions", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 159); argcnt++;
    xDivisionsLabel = XtCreateWidget("xDivisionsLabel",
		xmLabelWidgetClass,
		parameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(xDivisionsLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, xParameterSeparator); argcnt++;
    XtSetValues(parameterTextRowColumn, args, argcnt);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 189); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    xLabelTextField = XtCreateWidget("xLabelTextField",
		xmTextFieldWidgetClass,
		parameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(xLabelTextField, XmNactivateCallback, xLabelCallback, (XtPointer)plotParams);
    XtManageChild(xLabelTextField);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 39); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 189); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    xMinTextField = XtCreateWidget("xMinTextField",
		xmTextFieldWidgetClass,
		parameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(xMinTextField, XmNactivateCallback, xMinCallback, (XtPointer)plotParams);
    XtAddCallback(xMinTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtManageChild(xMinTextField);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 75); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 189); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    xMaxTextField = XtCreateWidget("xMaxTextField",
		xmTextFieldWidgetClass,
		parameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(xMaxTextField, XmNactivateCallback, xMaxCallback, (XtPointer)plotParams);
    XtAddCallback(xMaxTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtManageChild(xMaxTextField);

    XtInitializeWidgetClass(xmMenuShellWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNwidth, 1); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 1); argcnt++;
    menuShell = XtCreatePopupShell("menuShell",
		xmMenuShellWidgetClass,
		parameterInputRowColumn,
		args,
		argcnt);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrowColumnType, XmMENU_PULLDOWN); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 77); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 179); argcnt++;
    colourPulldownMenu = XtCreateWidget("colourPulldownMenu",
		xmRowColumnWidgetClass,
		menuShell,
		args,
		argcnt);

    XtAddCallback(colourPulldownMenu, XmNentryCallback, colourCallback, (XtPointer)plotParams);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Red ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    redPushButton = XtCreateWidget("redPushButton",
		xmPushButtonWidgetClass,
		colourPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(redPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Green ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    greenPushButton = XtCreateWidget("greenPushButton",
		xmPushButtonWidgetClass,
		colourPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(greenPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Blue ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    bluePushButton = XtCreateWidget("bluePushButton",
		xmPushButtonWidgetClass,
		colourPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(bluePushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Cyan ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    cyanPushButton = XtCreateWidget("cyanPushButton",
		xmPushButtonWidgetClass,
		colourPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(cyanPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Yellow ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    yellowPushButton = XtCreateWidget("yellowPushButton",
		xmPushButtonWidgetClass,
		colourPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(yellowPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Magenta ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    magentaPushButton = XtCreateWidget("magentaPushButton",
		xmPushButtonWidgetClass,
		colourPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(magentaPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"White ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    whitePushButton = XtCreateWidget("whitePushButton",
		xmPushButtonWidgetClass,
		colourPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(whitePushButton);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrowColumnType, XmMENU_OPTION); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 111); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 189); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 32); argcnt++;
    XtSetArg(args[argcnt], XmNsubMenuId, colourPulldownMenu); argcnt++;
    colourOptionMenu = XtCreateWidget("colourOptionMenu",
		xmRowColumnWidgetClass,
		parameterInputRowColumn,
		args,
		argcnt);
    XtManageChild(colourOptionMenu);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 144); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 189); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    xDivisionsTextField = XtCreateWidget("xDivisionsTextField",
		xmTextFieldWidgetClass,
		parameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(xDivisionsTextField, XmNactivateCallback, xDivisionsCallback, (XtPointer)plotParams);
    XtAddCallback(xDivisionsTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtManageChild(xDivisionsTextField);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, xParameterSeparator); argcnt++;
    XtSetValues(parameterInputRowColumn, args, argcnt);

    colours[RED] = redPushButton;
    colours[GREEN] = greenPushButton;
    colours[BLUE] = bluePushButton;
    colours[CYAN] = cyanPushButton;
    colours[YELLOW] = yellowPushButton;
    colours[MAGENTA] = magentaPushButton;
    colours[WHITE] = whitePushButton;
    initXForm(var, xLabelTextField, xMinTextField, xMaxTextField,
              xDivisionsTextField, colourOptionMenu, colours, plotParams);

    return( retval );
}

Widget
CreateyForm(Widget parent, yItemParameters *yVar, plotParameters *plotParams)
{
    Arg    	args[512];
    Cardinal   	argcnt;
    /*SUPPRESS 591*/
    Boolean   	argok;
    Widget 	retval;
    /*SUPPRESS 591*/
    XmString	xmstr[32];
    Widget      units[NUM_UNITS+1];
    Widget	yForm;
    Widget	yParametersFrame;
    Widget	yParamsForm;
    Widget	yParameterLabel;
    Widget	yParameterSeparator;
    Widget	yParameterTextRowColumn;
    Widget	yAxisLabel;
    Widget	yMinLabel;
    Widget	yMaxLabel;
    Widget	yUnitsLabel;
    Widget	yDivisionsLabel;
    Widget	yParameterInputRowColumn;
    Widget	yLabelTextField;
    Widget	yMinTextField;
    Widget	yMaxTextField;
    Widget	menuShell1;
    Widget	unitsPulldownMenu;
    Widget	hoursPushButton;
    Widget	minutesPushButton;
    Widget	secondsPushButton;
    Widget	unitsOptionMenu;
    Widget	yDivisionsTextField;
    Widget	yApplyPushButton;
    Widget	yCancelLastPushButton;
    Widget	yCancelAllPushButton;

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 493); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 340); argcnt++;
    yForm = XtCreateWidget("yForm",
		xmFormWidgetClass,
		parent,
		args,
		argcnt);
    retval = yForm;

    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_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 20); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 453); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 300); argcnt++;
    yParametersFrame = XtCreateWidget("yParametersFrame",
		xmFrameWidgetClass,
		yForm,
		args,
		argcnt);
    XtManageChild(yParametersFrame);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNnoResize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 449); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 296); argcnt++;
    yParamsForm = XtCreateWidget("yParamsForm",
		xmFormWidgetClass,
		yParametersFrame,
		args,
		argcnt);
    XtManageChild(yParamsForm);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Cancel All ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 73); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 95); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 328); argcnt++;
    XtSetArg(args[argcnt], XmNy, 246); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 99); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    yCancelAllPushButton = XtCreateWidget("yCancelAllPushButton",
		xmPushButtonWidgetClass,
		yParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(yCancelAllPushButton, XmNactivateCallback, yCancelAllCallback, (XtPointer)0);
    XtManageChild(yCancelAllPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Cancel Last ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 46); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 68); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 207); argcnt++;
    XtSetArg(args[argcnt], XmNy, 246); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 98); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    yCancelLastPushButton = XtCreateWidget("yCancelLastPushButton",
		xmPushButtonWidgetClass,
		yParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(yCancelLastPushButton, XmNactivateCallback, yCancelLastCallback, (XtPointer)0);
    XtManageChild(yCancelLastPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Apply ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 5); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 27); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 15); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 22); argcnt++;
    XtSetArg(args[argcnt], XmNy, 246); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 99); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    yApplyPushButton = XtCreateWidget("yApplyPushButton",
		xmPushButtonWidgetClass,
		yParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(yApplyPushButton, XmNactivateCallback, yApplyCallback, (XtPointer)plotParams);
    XtManageChild(yApplyPushButton);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNspacing, 1); argcnt++;
    XtSetArg(args[argcnt], XmNentryAlignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNpacking, XmPACK_TIGHT); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 52); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 95); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 233); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 194); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 194); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNbottomWidget, yApplyPushButton); argcnt++;
    yParameterInputRowColumn = XtCreateWidget("yParameterInputRowColumn",
		xmRowColumnWidgetClass,
		yParamsForm,
		args,
		argcnt);
    XtManageChild(yParameterInputRowColumn);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmarginHeight, 3); argcnt++;
    XtSetArg(args[argcnt], XmNspacing, 18); argcnt++;
    XtSetArg(args[argcnt], XmNpacking, XmPACK_COLUMN); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 5); argcnt++;
    XtSetArg(args[argcnt], XmNrightPosition, 48); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNx, 22); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 194); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 194); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNbottomWidget, yApplyPushButton); argcnt++;
    yParameterTextRowColumn = XtCreateWidget("yParameterTextRowColumn",
		xmRowColumnWidgetClass,
		yParamsForm,
		args,
		argcnt);
    XtManageChild(yParameterTextRowColumn);

    XtInitializeWidgetClass(xmSeparatorWidgetClass);
    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, 5); 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, 449); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 2); argcnt++;
    yParameterSeparator = XtCreateWidget("yParameterSeparator",
		xmSeparatorWidgetClass,
		yParamsForm,
		args,
		argcnt);
    XtManageChild(yParameterSeparator);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Display Parameters ", 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], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNx, 20); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 409); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 20); argcnt++;
    yParameterLabel = XtCreateWidget("yParameterLabel",
		xmLabelWidgetClass,
		yParamsForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(yParameterLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, yParameterLabel); argcnt++;
    XtSetValues(yParameterSeparator, args, argcnt);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Axis Label", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    yAxisLabel = XtCreateWidget("yAxisLabel",
		xmLabelWidgetClass,
		yParameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(yAxisLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Minimum Value", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 42); argcnt++;
    yMinLabel = XtCreateWidget("yMinLabel",
		xmLabelWidgetClass,
		yParameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(yMinLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Maximum Value", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 81); argcnt++;
    yMaxLabel = XtCreateWidget("yMaxLabel",
		xmLabelWidgetClass,
		yParameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(yMaxLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Units", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 120); argcnt++;
    yUnitsLabel = XtCreateWidget("yUnitsLabel",
		xmLabelWidgetClass,
		yParameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(yUnitsLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Major Divisions", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 159); argcnt++;
    yDivisionsLabel = XtCreateWidget("yDivisionsLabel",
		xmLabelWidgetClass,
		yParameterTextRowColumn,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(yDivisionsLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, yParameterSeparator); argcnt++;
    XtSetValues(yParameterTextRowColumn, args, argcnt);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 3); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 188); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    yLabelTextField = XtCreateWidget("yLabelTextField",
		xmTextFieldWidgetClass,
		yParameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(yLabelTextField, XmNactivateCallback, yLabelCallback, (XtPointer)plotParams);
    XtManageChild(yLabelTextField);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 39); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 188); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    yMinTextField = XtCreateWidget("yMinTextField",
		xmTextFieldWidgetClass,
		yParameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(yMinTextField, XmNactivateCallback, yMinCallback, (XtPointer)plotParams);
    XtAddCallback(yMinTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtManageChild(yMinTextField);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 75); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 188); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    yMaxTextField = XtCreateWidget("yMaxTextField",
		xmTextFieldWidgetClass,
		yParameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(yMaxTextField, XmNactivateCallback, yMaxCallback, (XtPointer)plotParams);
    XtAddCallback(yMaxTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtManageChild(yMaxTextField);

    XtInitializeWidgetClass(xmMenuShellWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNwidth, 1); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 1); argcnt++;
    menuShell1 = XtCreatePopupShell("menuShell1",
		xmMenuShellWidgetClass,
		yParameterInputRowColumn,
		args,
		argcnt);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNentryAlignment, XmALIGNMENT_CENTER); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmMENU_PULLDOWN); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 82); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 87); argcnt++;
    unitsPulldownMenu = XtCreateWidget("unitsPulldownMenu",
		xmRowColumnWidgetClass,
		menuShell1,
		args,
		argcnt);

    XtAddCallback(unitsPulldownMenu, XmNentryCallback, timeUnitsCallback, (XtPointer)0);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Hours ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    hoursPushButton = XtCreateWidget("hoursPushButton",
		xmPushButtonWidgetClass,
		unitsPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(hoursPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Minutes ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    minutesPushButton = XtCreateWidget("minutesPushButton",
		xmPushButtonWidgetClass,
		unitsPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(minutesPushButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Seconds ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    secondsPushButton = XtCreateWidget("secondsPushButton",
		xmPushButtonWidgetClass,
		unitsPulldownMenu,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(secondsPushButton);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNentryAlignment, XmALIGNMENT_BEGINNING); argcnt++;
    XtSetArg(args[argcnt], XmNrowColumnType, XmMENU_OPTION); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 111); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 188); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    XtSetArg(args[argcnt], XmNsubMenuId, unitsPulldownMenu); argcnt++;
    unitsOptionMenu = XtCreateWidget("unitsOptionMenu",
		xmRowColumnWidgetClass,
		yParameterInputRowColumn,
		args,
		argcnt);
    XtManageChild(unitsOptionMenu);

    XtInitializeWidgetClass(xmTextFieldWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNmaxLength, 100); argcnt++;
    XtSetArg(args[argcnt], XmNresizeWidth, True); argcnt++;
    XtSetArg(args[argcnt], XmNx, 3); argcnt++;
    XtSetArg(args[argcnt], XmNy, 148); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 188); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    yDivisionsTextField = XtCreateWidget("yDivisionsTextField",
		xmTextFieldWidgetClass,
		yParameterInputRowColumn,
		args,
		argcnt);

    XtAddCallback(yDivisionsTextField, XmNactivateCallback, yDivisionsCallback, (XtPointer)plotParams);
    XtAddCallback(yDivisionsTextField, XmNmodifyVerifyCallback, numericVerifyCallback, (XtPointer)0);
    XtManageChild(yDivisionsTextField);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, yParameterSeparator); argcnt++;
    XtSetValues(yParameterInputRowColumn, args, argcnt);

    units[HOURS] = hoursPushButton;
    units[MINUTES] = minutesPushButton;
    units[SECONDS] = secondsPushButton;
    initYForm(yLabelTextField, yMinTextField, yMaxTextField,
              yDivisionsTextField, unitsOptionMenu, units, yVar);

    return( retval );
}

