/*
 * 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/PushB.h>
#include <Xm/Label.h>
#include <Xm/Frame.h>
#include <Xm/ScrolledW.h>
#include <Xm/Form.h>
#include <Xm/RowColumn.h>

/*
 * User supplied include files.
 */
#define IGNORE_CONVERT
#define IGNORE_MENU_POST
#include <X11/Xc/Xc.h>


/*
 * 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 screenSelect(Widget, XtPointer, XtPointer);
extern void selectButtonCreateDefault(Widget, XtPointer, XtPointer);
extern int acMicroSel;
extern int aftLatSel;
extern int cameraDCSel;
extern int ersDCSel;
extern int fwdLatSel;
extern int ibcSel;
extern int lightDCSel;
extern int micro3x5Sel;
extern int pduMicroSel;
extern int portCamera3x5Sel;
extern int portHorizSel;
extern int portPanTiltSel;
extern int portVertSel;
extern int pwrADCSel;
extern int pwrBDCSel;
extern int sbHorizSel;
extern int sbVertSel;
extern int sensorDCSel;
extern int sio32DCSel;
extern int sonarDCSel;
extern int stbdCamera3x5Sel;
extern int stbdPanTiltSel;
extern int telemBottomSel;
extern int telemTopSel;
extern int thrustSel;
extern int vbMotorSel;
extern int vmeDCSel;

/*
 * Global widget declarations.
 *        - first remove definition of EXTERNAL
 */
#ifdef EXTERNAL
#undef EXTERNAL
#endif
#define EXTERNAL
/* Start Global Widget Declarations */
EXTERNAL Widget	thrustButtonForm;
EXTERNAL Widget	ibcButtonForm;
EXTERNAL Widget	micro3x5ButtonForm;
EXTERNAL Widget	ibcRowColumn;
/* End Global Widget Declarations */

Widget
CreateibcForm(Widget parent)
{
    Arg    	args[512];
    Cardinal   	argcnt;
    /*SUPPRESS 591*/
    Boolean   	argok;
    Widget 	retval;
    /*SUPPRESS 591*/
    XmString	xmstr[32];
    Widget	ibcForm;
    Widget	dConFrame;
    Widget	dConForm;
    Widget	dConLabel;
    Widget	thrustButton;
    Widget	ibcButton;
    Widget	micro3x5Button;
    Widget	microFrame;
    Widget	microForm;
    Widget	motorLabel;
    Widget	portHorizButton;
    Widget	aftLatButton;
    Widget	fwdLatButton;
    Widget	sbHorizButton;
    Widget	portVertButton;
    Widget	sbVertButton;
    Widget	vbMotorButton;
    Widget	ibcLabel;
    Widget	cameraButton;
    Widget	sensorButton;
    Widget	vmeButton;
    Widget	lightingButton;
    Widget	ersButton;
    Widget	sonarButton;
    Widget	powerAButton;
    Widget	powerBButton;
    Widget	micro3x5Label;
    Widget	sio32Button;
    Widget	acMicroButton;
    Widget	pduMicroButton;
    Widget	telemTopButton;
    Widget	telemBottomButton;
    Widget	portPanTiltButton;
    Widget	stbdPanTiltButton1;
    Widget	portCameraButton;
    Widget	stbdPanTiltButton;
    Widget	ibcScrolledWindow;

    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, 865); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 654); argcnt++;
    ibcForm = XtCreateWidget("ibcForm",
		xmFormWidgetClass,
		parent,
		args,
		argcnt);
    retval = ibcForm;

    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_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 665); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 654); argcnt++;
    ibcScrolledWindow = XtCreateWidget("ibcScrolledWindow",
		xmScrolledWindowWidgetClass,
		ibcForm,
		args,
		argcnt);
    XtManageChild(ibcScrolledWindow);

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 4); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 200); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 450); argcnt++;
    microFrame = XtCreateWidget("microFrame",
		xmFrameWidgetClass,
		ibcForm,
		args,
		argcnt);
    XtManageChild(microFrame);

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 200); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 200); argcnt++;
    dConFrame = XtCreateWidget("dConFrame",
		xmFrameWidgetClass,
		ibcForm,
		args,
		argcnt);
    XtManageChild(dConFrame);

    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, 196); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 196); argcnt++;
    dConForm = XtCreateWidget("dConForm",
		xmFormWidgetClass,
		dConFrame,
		args,
		argcnt);
    XtManageChild(dConForm);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		" 3 x 5\n\
Micros", 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_NONE); 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, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    micro3x5Button = XtCreateWidget("micro3x5Button",
		xmPushButtonWidgetClass,
		dConForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(micro3x5Button, XmNactivateCallback, screenSelect, (XtPointer)&micro3x5Sel);
    XtManageChild(micro3x5Button);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"IBCs", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    ibcButton = XtCreateWidget("ibcButton",
		xmPushButtonWidgetClass,
		dConForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(ibcButton, XmNactivateCallback, screenSelect, (XtPointer)&ibcSel);
    XtManageChild(ibcButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Thrusters", 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, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    thrustButton = XtCreateWidget("thrustButton",
		xmPushButtonWidgetClass,
		dConForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    selectButtonCreateDefault(thrustButton, (XtPointer)&thrustSel, (XtPointer)0);
    XtAddCallback(thrustButton, XmNactivateCallback, screenSelect, (XtPointer)&thrustSel);
    XtManageChild(thrustButton);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Data Conc. Type", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 196); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 35); argcnt++;
    dConLabel = XtCreateWidget("dConLabel",
		xmLabelWidgetClass,
		dConForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(dConLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, dConLabel); argcnt++;
    XtSetValues(thrustButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, dConLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, thrustButton); argcnt++;
    XtSetValues(ibcButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, thrustButton); argcnt++;
    XtSetValues(micro3x5Button, args, argcnt);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 196); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 446); argcnt++;
    microForm = XtCreateWidget("microForm",
		xmFormWidgetClass,
		microFrame,
		args,
		argcnt);
    XtManageChild(microForm);

    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); 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], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 196); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 446); argcnt++;
    micro3x5ButtonForm = XtCreateWidget("micro3x5ButtonForm",
		xmFormWidgetClass,
		microForm,
		args,
		argcnt);


    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); 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], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 200); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 635); argcnt++;
    ibcButtonForm = XtCreateWidget("ibcButtonForm",
		xmFormWidgetClass,
		microForm,
		args,
		argcnt);


    XtInitializeWidgetClass(xmFormWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNresizePolicy, XmRESIZE_GROW); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); 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], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 196); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 446); argcnt++;
    thrustButtonForm = XtCreateWidget("thrustButtonForm",
		xmFormWidgetClass,
		microForm,
		args,
		argcnt);

    XtManageChild(thrustButtonForm);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"VB Motor", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 240); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 240); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    vbMotorButton = XtCreateWidget("vbMotorButton",
		xmPushButtonWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(vbMotorButton, XmNactivateCallback, screenSelect, (XtPointer)&vbMotorSel);
    XtManageChild(vbMotorButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Stbd Vert", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 100); argcnt++;
    XtSetArg(args[argcnt], XmNy, 100); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    sbVertButton = XtCreateWidget("sbVertButton",
		xmPushButtonWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(sbVertButton, XmNactivateCallback, screenSelect, (XtPointer)&sbVertSel);
    XtManageChild(sbVertButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Port Vert", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 100); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    portVertButton = XtCreateWidget("portVertButton",
		xmPushButtonWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(portVertButton, XmNactivateCallback, screenSelect, (XtPointer)&portVertSel);
    XtManageChild(portVertButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Stbd Horiz", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 100); argcnt++;
    XtSetArg(args[argcnt], XmNy, 30); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    sbHorizButton = XtCreateWidget("sbHorizButton",
		xmPushButtonWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(sbHorizButton, XmNactivateCallback, screenSelect, (XtPointer)&sbHorizSel);
    XtManageChild(sbHorizButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Fwd Lat", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 170); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    fwdLatButton = XtCreateWidget("fwdLatButton",
		xmPushButtonWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(fwdLatButton, XmNactivateCallback, screenSelect, (XtPointer)&fwdLatSel);
    XtManageChild(fwdLatButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Aft Lat", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 100); argcnt++;
    XtSetArg(args[argcnt], XmNy, 170); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    aftLatButton = XtCreateWidget("aftLatButton",
		xmPushButtonWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(aftLatButton, XmNactivateCallback, screenSelect, (XtPointer)&aftLatSel);
    XtManageChild(aftLatButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Port Horiz", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 30); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    portHorizButton = XtCreateWidget("portHorizButton",
		xmPushButtonWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    selectButtonCreateDefault(portHorizButton, (XtPointer)&portHorizSel, (XtPointer)0);
    XtAddCallback(portHorizButton, XmNactivateCallback, screenSelect, (XtPointer)&portHorizSel);
    XtManageChild(portHorizButton);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Motors", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 50); argcnt++;
    XtSetArg(args[argcnt], XmNy, 5); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 78); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 26); argcnt++;
    motorLabel = XtCreateWidget("motorLabel",
		xmLabelWidgetClass,
		thrustButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(motorLabel);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Power\n\
B", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    powerBButton = XtCreateWidget("powerBButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(powerBButton, XmNactivateCallback, screenSelect, (XtPointer)&pwrBDCSel);
    XtManageChild(powerBButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Power\n\
A", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    powerAButton = XtCreateWidget("powerAButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(powerAButton, XmNactivateCallback, screenSelect, (XtPointer)&pwrADCSel);
    XtManageChild(powerAButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Sonar", 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_NONE); 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, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    sonarButton = XtCreateWidget("sonarButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(sonarButton, XmNactivateCallback, screenSelect, (XtPointer)&sonarDCSel);
    XtManageChild(sonarButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"ERS", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, sonarButton); argcnt++;
    ersButton = XtCreateWidget("ersButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(ersButton, XmNactivateCallback, screenSelect, (XtPointer)&ersDCSel);
    XtManageChild(ersButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Lighting", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    lightingButton = XtCreateWidget("lightingButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(lightingButton, XmNactivateCallback, screenSelect, (XtPointer)&lightDCSel);
    XtManageChild(lightingButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"VME", 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, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    vmeButton = XtCreateWidget("vmeButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(vmeButton, XmNactivateCallback, screenSelect, (XtPointer)&vmeDCSel);
    XtManageChild(vmeButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Sensor", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, powerBButton); argcnt++;
    sensorButton = XtCreateWidget("sensorButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(sensorButton, XmNactivateCallback, screenSelect, (XtPointer)&sensorDCSel);
    XtManageChild(sensorButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Camera", 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_NONE); 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, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, powerAButton); argcnt++;
    cameraButton = XtCreateWidget("cameraButton",
		xmPushButtonWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(cameraButton, XmNactivateCallback, screenSelect, (XtPointer)&cameraDCSel);
    XtManageChild(cameraButton);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"IBCs", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 5); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 200); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    ibcLabel = XtCreateWidget("ibcLabel",
		xmLabelWidgetClass,
		ibcButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(ibcLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, cameraButton); argcnt++;
    XtSetValues(sensorButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, ibcLabel); argcnt++;
    XtSetValues(vmeButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, ibcLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, vmeButton); argcnt++;
    XtSetValues(lightingButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, sensorButton); argcnt++;
    XtSetValues(ersButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, cameraButton); argcnt++;
    XtSetValues(sonarButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, vmeButton); argcnt++;
    XtSetValues(powerAButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, lightingButton); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, powerAButton); argcnt++;
    XtSetValues(powerBButton, args, argcnt);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Stbd\n\
Camera", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    stbdPanTiltButton = XtCreateWidget("stbdPanTiltButton",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(stbdPanTiltButton, XmNactivateCallback, screenSelect, (XtPointer)&stbdCamera3x5Sel);
    XtManageChild(stbdPanTiltButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Port\n\
Camera", 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_NONE); 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, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    portCameraButton = XtCreateWidget("portCameraButton",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(portCameraButton, XmNactivateCallback, screenSelect, (XtPointer)&portCamera3x5Sel);
    XtManageChild(portCameraButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Stbd\n\
Pan/Tilt", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    stbdPanTiltButton1 = XtCreateWidget("stbdPanTiltButton1",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(stbdPanTiltButton1, XmNactivateCallback, screenSelect, (XtPointer)&stbdPanTiltSel);
    XtManageChild(stbdPanTiltButton1);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Port\n\
Pan/Tilt", 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_NONE); 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, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    portPanTiltButton = XtCreateWidget("portPanTiltButton",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(portPanTiltButton, XmNactivateCallback, screenSelect, (XtPointer)&portPanTiltSel);
    XtManageChild(portPanTiltButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Telemetry\n\
Bottom", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    telemBottomButton = XtCreateWidget("telemBottomButton",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(telemBottomButton, XmNactivateCallback, screenSelect, (XtPointer)&telemBottomSel);
    XtManageChild(telemBottomButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Telemetry\n\
Top", 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_NONE); 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, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    telemTopButton = XtCreateWidget("telemTopButton",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(telemTopButton, XmNactivateCallback, screenSelect, (XtPointer)&telemTopSel);
    XtManageChild(telemTopButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"PDU\n\
Micro", 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_NONE); 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, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    pduMicroButton = XtCreateWidget("pduMicroButton",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(pduMicroButton, XmNactivateCallback, screenSelect, (XtPointer)&pduMicroSel);
    XtManageChild(pduMicroButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"AC\n\
Micro", 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, pduMicroButton); argcnt++;
    acMicroButton = XtCreateWidget("acMicroButton",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(acMicroButton, XmNactivateCallback, screenSelect, (XtPointer)&acMicroSel);
    XtManageChild(acMicroButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"SIO32", 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], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 100); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 100); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 90); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 70); argcnt++;
    sio32Button = XtCreateWidget("sio32Button",
		xmPushButtonWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(sio32Button, XmNactivateCallback, screenSelect, (XtPointer)&sio32DCSel);
    XtManageChild(sio32Button);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"3 x 5 Micros", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 5); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 196); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
    micro3x5Label = XtCreateWidget("micro3x5Label",
		xmLabelWidgetClass,
		micro3x5ButtonForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(micro3x5Label);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, micro3x5Label); argcnt++;
    XtSetValues(sio32Button, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, sio32Button); argcnt++;
    XtSetValues(acMicroButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, sio32Button); argcnt++;
    XtSetValues(pduMicroButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, pduMicroButton); argcnt++;
    XtSetValues(telemTopButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, acMicroButton); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, telemTopButton); argcnt++;
    XtSetValues(telemBottomButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, telemTopButton); argcnt++;
    XtSetValues(portPanTiltButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, telemBottomButton); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, portPanTiltButton); argcnt++;
    XtSetValues(stbdPanTiltButton1, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, portPanTiltButton); argcnt++;
    XtSetValues(portCameraButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, stbdPanTiltButton1); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, portCameraButton); argcnt++;
    XtSetValues(stbdPanTiltButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 4); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, dConFrame); argcnt++;
    XtSetValues(microFrame, args, argcnt);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNrowColumnType, XmWORK_AREA); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 16); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 16); argcnt++;
    ibcRowColumn = XtCreateWidget("ibcRowColumn",
		xmRowColumnWidgetClass,
		ibcScrolledWindow,
		args,
		argcnt);

    XtManageChild(ibcRowColumn);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, microFrame); argcnt++;
    XtSetValues(ibcScrolledWindow, args, argcnt);

    return( retval );
}

