/*
 * 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/Label.h>
#include <Xm/Frame.h>
#include <Xm/Form.h>
#include <X11/Xc/BarGraf.h>

/*
 * User supplied include files.
 */
#define IGNORE_CONVERT
#define IGNORE_MENU_POST
#include "rov.h"
#include <X11/Xc/Xc.h>


/*
 * Some Convenience Routines
 */
#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
 */

/*
 * Global widget declarations.
 *        - first remove definition of EXTERNAL
 */
#ifdef EXTERNAL
#undef EXTERNAL
#endif
#define EXTERNAL
/* Start Global Widget Declarations */
EXTERNAL Widget	outbdTankBarGraph;
EXTERNAL Widget	inbdTankBarGraph;
EXTERNAL Widget	outbdSumpBarGraph;
EXTERNAL Widget	inbdSumpBarGraph;
EXTERNAL Widget	acPressureBarGraph;
EXTERNAL Widget	pduWattBarGraph;
EXTERNAL Widget	pduVoltBarGraph;
EXTERNAL Widget	pduTempBarGraph;
EXTERNAL Widget	pduPhase1AmpsBarGraph;
EXTERNAL Widget	pduPhase2AmpsBarGraph;
EXTERNAL Widget	pduPhase3AmpsBarGraph;
/* End Global Widget Declarations */

Widget
CreateacForm(Widget parent)
{
    Arg    	args[512];
    Cardinal   	argcnt;
    /*SUPPRESS 591*/
    Boolean   	argok;
    Widget 	retval;
    /*SUPPRESS 591*/
    XmString	xmstr[32];
    Widget	acForm;
    Widget	acMicroFrame;
    Widget	acMicroForm;
    Widget	acMicroLabel;
    Widget	sumpLabel;
    Widget	tankLabel;
    Widget	acMicroPressureLabel;
    Widget	acMicroCoolantLabel;
    Widget	pduFrame;
    Widget	pduForm;
    Widget	pduLabel;
    Widget	pduCurrentLabel;

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 850); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 560); argcnt++;
    acForm = XtCreateWidget("acForm",
		xmFormWidgetClass,
		parent,
		args,
		argcnt);
    retval = acForm;

    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, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 425); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 560); argcnt++;
    pduFrame = XtCreateWidget("pduFrame",
		xmFrameWidgetClass,
		acForm,
		args,
		argcnt);
    XtManageChild(pduFrame);

    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, 50); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 425); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 560); argcnt++;
    acMicroFrame = XtCreateWidget("acMicroFrame",
		xmFrameWidgetClass,
		acForm,
		args,
		argcnt);
    XtManageChild(acMicroFrame);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 421); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 556); argcnt++;
    acMicroForm = XtCreateWidget("acMicroForm",
		xmFormWidgetClass,
		acMicroFrame,
		args,
		argcnt);
    XtManageChild(acMicroForm);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Coolant\n\
Levels", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 5); argcnt++;
    XtSetArg(args[argcnt], XmNy, 125); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 88); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 65); argcnt++;
    acMicroCoolantLabel = XtCreateWidget("acMicroCoolantLabel",
		xmLabelWidgetClass,
		acMicroForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(acMicroCoolantLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Pressure\n\
PSIA", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 15); argcnt++;
    XtSetArg(args[argcnt], XmNy, 35); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 88); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 65); argcnt++;
    acMicroPressureLabel = XtCreateWidget("acMicroPressureLabel",
		xmLabelWidgetClass,
		acMicroForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(acMicroPressureLabel);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Pressure"); argcnt++;
    XtSetArg(args[argcnt], XcNdataType, CONVERT(parent,"fval", "XcDType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNdecimals, 2); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"30.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNorient, CONVERT(parent,"horizontal", "XcOrient", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XtNx, 125); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 245); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 90); argcnt++;
    acPressureBarGraph = XtCreateWidget("acPressureBarGraph",
		xcBarGraphWidgetClass,
		acMicroForm,
		args,
		argcnt);

    XtManageChild(acPressureBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Inboard"); argcnt++;
    XtSetArg(args[argcnt], XcNdataType, CONVERT(parent,"fval", "XcDType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNdecimals, 2); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"10.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNlowerBound, CONVERT(parent,"0.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 100); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 200); argcnt++;
    inbdSumpBarGraph = XtCreateWidget("inbdSumpBarGraph",
		xcBarGraphWidgetClass,
		acMicroForm,
		args,
		argcnt);

    XtManageChild(inbdSumpBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Outboard"); argcnt++;
    XtSetArg(args[argcnt], XcNdataType, CONVERT(parent,"fval", "XcDType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNdecimals, 2); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"10.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNlowerBound, CONVERT(parent,"0.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XtNx, 135); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 100); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 200); argcnt++;
    outbdSumpBarGraph = XtCreateWidget("outbdSumpBarGraph",
		xcBarGraphWidgetClass,
		acMicroForm,
		args,
		argcnt);

    XtManageChild(outbdSumpBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Inboard"); argcnt++;
    XtSetArg(args[argcnt], XcNdataType, CONVERT(parent,"fval", "XcDType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNdecimals, 2); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"5.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNlowerBound, CONVERT(parent,"0.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 100); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 200); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, acPressureBarGraph); argcnt++;
    inbdTankBarGraph = XtCreateWidget("inbdTankBarGraph",
		xcBarGraphWidgetClass,
		acMicroForm,
		args,
		argcnt);

    XtManageChild(inbdTankBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Outboard"); argcnt++;
    XtSetArg(args[argcnt], XcNdataType, CONVERT(parent,"fval", "XcDType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNdecimals, 2); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"5.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNlowerBound, CONVERT(parent,"0.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XtNx, 135); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 100); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 200); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, acPressureBarGraph); argcnt++;
    outbdTankBarGraph = XtCreateWidget("outbdTankBarGraph",
		xcBarGraphWidgetClass,
		acMicroForm,
		args,
		argcnt);

    XtManageChild(outbdTankBarGraph);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Tank", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 200); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    tankLabel = XtCreateWidget("tankLabel",
		xmLabelWidgetClass,
		acMicroForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(tankLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Sump", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 420); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    sumpLabel = XtCreateWidget("sumpLabel",
		xmLabelWidgetClass,
		acMicroForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(sumpLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"AC Micro", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 145); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 115); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    acMicroLabel = XtCreateWidget("acMicroLabel",
		xmLabelWidgetClass,
		acMicroForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(acMicroLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, outbdTankBarGraph); argcnt++;
    XtSetValues(inbdTankBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, outbdTankBarGraph); argcnt++;
    XtSetValues(outbdSumpBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, inbdTankBarGraph); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, outbdSumpBarGraph); argcnt++;
    XtSetValues(inbdSumpBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, acMicroLabel); argcnt++;
    XtSetValues(acPressureBarGraph, args, argcnt);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 421); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 556); argcnt++;
    pduForm = XtCreateWidget("pduForm",
		xmFormWidgetClass,
		pduFrame,
		args,
		argcnt);
    XtManageChild(pduForm);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Phase 3"); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"100", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 175); argcnt++;
    pduPhase3AmpsBarGraph = XtCreateWidget("pduPhase3AmpsBarGraph",
		xcBarGraphWidgetClass,
		pduForm,
		args,
		argcnt);

    XtManageChild(pduPhase3AmpsBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Phase 2"); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"100", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 175); argcnt++;
    pduPhase2AmpsBarGraph = XtCreateWidget("pduPhase2AmpsBarGraph",
		xcBarGraphWidgetClass,
		pduForm,
		args,
		argcnt);

    XtManageChild(pduPhase2AmpsBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Phase 1"); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"100", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 70); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XtNx, 70); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 175); argcnt++;
    pduPhase1AmpsBarGraph = XtCreateWidget("pduPhase1AmpsBarGraph",
		xcBarGraphWidgetClass,
		pduForm,
		args,
		argcnt);

    XtManageChild(pduPhase1AmpsBarGraph);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Current  (Amps)", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 110); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 181); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 44); argcnt++;
    pduCurrentLabel = XtCreateWidget("pduCurrentLabel",
		xmLabelWidgetClass,
		pduForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(pduCurrentLabel);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Xf Temp"); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"150", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 175); argcnt++;
    pduTempBarGraph = XtCreateWidget("pduTempBarGraph",
		xcBarGraphWidgetClass,
		pduForm,
		args,
		argcnt);

    XtManageChild(pduTempBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "Volts"); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"150", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 65535); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 175); argcnt++;
    pduVoltBarGraph = XtCreateWidget("pduVoltBarGraph",
		xcBarGraphWidgetClass,
		pduForm,
		args,
		argcnt);

    XtManageChild(pduVoltBarGraph);

    XtInitializeWidgetClass(xcBarGraphWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XcNlabel, "KWatts"); argcnt++;
    XtSetArg(args[argcnt], XcNdataType, CONVERT(parent,"fval", "XcDType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XcNdecimals, 1); argcnt++;
    XtSetArg(args[argcnt], XcNupperBound, CONVERT(parent,"120.0", "XcVType", 0, &argok)); if(argok) argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 70); argcnt++;
    XtSetArg(args[argcnt], XtNx, 70); argcnt++;
    XtSetArg(args[argcnt], XtNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XtNheight, 175); argcnt++;
    pduWattBarGraph = XtCreateWidget("pduWattBarGraph",
		xcBarGraphWidgetClass,
		pduForm,
		args,
		argcnt);

    XtManageChild(pduWattBarGraph);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Power Distribution Unit", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 115); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 200); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    pduLabel = XtCreateWidget("pduLabel",
		xmLabelWidgetClass,
		pduForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(pduLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduLabel); argcnt++;
    XtSetValues(pduWattBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, pduWattBarGraph); argcnt++;
    XtSetValues(pduVoltBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, pduVoltBarGraph); argcnt++;
    XtSetValues(pduTempBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 25); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduVoltBarGraph); argcnt++;
    XtSetValues(pduCurrentLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduCurrentLabel); argcnt++;
    XtSetValues(pduPhase1AmpsBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduCurrentLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, pduPhase1AmpsBarGraph); argcnt++;
    XtSetValues(pduPhase2AmpsBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduCurrentLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, pduPhase2AmpsBarGraph); argcnt++;
    XtSetValues(pduPhase3AmpsBarGraph, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, acMicroFrame); argcnt++;
    XtSetValues(pduFrame, args, argcnt);

    return( retval );
}

