/*
 * 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/ScrollBar.h>
#include <Xm/Separator.h>
#include <Xm/PushB.h>
#include <Xm/ToggleB.h>
#include <Xm/Label.h>
#include <Xm/Frame.h>
#include <Xm/Form.h>
#include <Xm/RowColumn.h>
#include <Xm/LabelG.h>

/*
 * User supplied include files.
 */
#include <X11/Xc/Xc.h>
#define IGNORE_CONVERT
#define IGNORE_MENU_POST


/*
 * 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 rovScrollbarCallback(Widget, XtPointer, XtPointer);
extern void screenSelect(Widget, XtPointer, XtPointer);
extern void selectButtonCreateDefault(Widget, XtPointer, XtPointer);
extern void setCameraGain(Widget, XtPointer, XtPointer);
extern void setCameraGainMode(Widget, XtPointer, XtPointer);
extern void setIrisMode(Widget, XtPointer, XtPointer);
extern void setRovXmToggle(Widget, XtPointer, XtPointer);
extern int cameraColorBarItem;
extern int focusSetPtItem;
extern int irisValueItem;
extern int portCameraSel;
extern int stbdCameraSel;
extern int zoomSetPtItem;

/*
 * Global widget declarations.
 *        - first remove definition of EXTERNAL
 */
#ifdef EXTERNAL
#undef EXTERNAL
#endif
#define EXTERNAL
/* Start Global Widget Declarations */
EXTERNAL Widget	zoomScrollBar;
EXTERNAL Widget	zoomSetLabel;
EXTERNAL Widget	zoomValueLabel;
EXTERNAL Widget	focusScrollBar;
EXTERNAL Widget	focusSetLabel;
EXTERNAL Widget	focusValueLabel;
EXTERNAL Widget	irisScrollBar;
EXTERNAL Widget	autoIrisToggleButton;
EXTERNAL Widget	irisValueLabel;
EXTERNAL Widget	videoSwitchForm;
EXTERNAL Widget	manualGainToggleButton;
EXTERNAL Widget	lowAutoGainToggleButton;
EXTERNAL Widget	highAutoGainToggleButton;
EXTERNAL Widget	cameraGainRadioBox;
EXTERNAL Widget	gain0ToggleButton;
EXTERNAL Widget	gain9ToggleButton;
EXTERNAL Widget	gain18ToggleButton;
EXTERNAL Widget	colorBarToggleButton;
/* End Global Widget Declarations */

Widget
CreatecameraForm(Widget parent)
{
    Arg    	args[512];
    Cardinal   	argcnt;
    /*SUPPRESS 591*/
    Boolean   	argok;
    Widget 	retval;
    /*SUPPRESS 591*/
    XmString	xmstr[32];
    Widget	cameraForm;
    Widget	cameraLabel;
    Widget	portColorButton;
    Widget	stbdColorButton;
    Widget	cameraSeparator;
    Widget	zoomLabel;
    Widget	setPtLabel;
    Widget	currentValueLabel;
    Widget	videoSwitchLabel;
    Widget	focusLabel;
    Widget	irisLabel;
    Widget	cameraGainFrame;
    Widget	cameraGainForm;
    Widget	gainLabel;
    Widget	gainModeRadioBox;

    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, 654); argcnt++;
    cameraForm = XtCreateWidget("cameraForm",
		xmFormWidgetClass,
		parent,
		args,
		argcnt);
    retval = cameraForm;

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Color Bars    ", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 133); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    colorBarToggleButton = XtCreateWidget("colorBarToggleButton",
		xmToggleButtonWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(colorBarToggleButton, XmNvalueChangedCallback, setRovXmToggle, (XtPointer)&cameraColorBarItem);
    XtManageChild(colorBarToggleButton);

    XtInitializeWidgetClass(xmFrameWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 340); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 120); argcnt++;
    cameraGainFrame = XtCreateWidget("cameraGainFrame",
		xmFrameWidgetClass,
		cameraForm,
		args,
		argcnt);
    XtManageChild(cameraGainFrame);

    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, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 312); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 608); argcnt++;
    videoSwitchForm = XtCreateWidget("videoSwitchForm",
		xmFormWidgetClass,
		cameraForm,
		args,
		argcnt);
    XtManageChild(videoSwitchForm);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"100", 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], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    irisValueLabel = XtCreateWidget("irisValueLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(irisValueLabel);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"auto", 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], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    autoIrisToggleButton = XtCreateWidget("autoIrisToggleButton",
		xmToggleButtonWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(autoIrisToggleButton, XmNvalueChangedCallback, setIrisMode, (XtPointer)0);
    XtManageChild(autoIrisToggleButton);

    XtInitializeWidgetClass(xmScrollBarWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNorientation, XmVERTICAL); 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], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 55); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 250); argcnt++;
    irisScrollBar = XtCreateWidget("irisScrollBar",
		xmScrollBarWidgetClass,
		cameraForm,
		args,
		argcnt);

    XtAddCallback(irisScrollBar, XmNvalueChangedCallback, rovScrollbarCallback, (XtPointer)&irisValueItem);
    XtManageChild(irisScrollBar);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Iris", 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], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 76); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    irisLabel = XtCreateWidget("irisLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(irisLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"100", 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], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    focusValueLabel = XtCreateWidget("focusValueLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(focusValueLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"100", 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], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    focusSetLabel = XtCreateWidget("focusSetLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(focusSetLabel);

    XtInitializeWidgetClass(xmScrollBarWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNorientation, XmVERTICAL); 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], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 55); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 250); argcnt++;
    focusScrollBar = XtCreateWidget("focusScrollBar",
		xmScrollBarWidgetClass,
		cameraForm,
		args,
		argcnt);

    XtAddCallback(focusScrollBar, XmNvalueChangedCallback, rovScrollbarCallback, (XtPointer)&focusSetPtItem);
    XtManageChild(focusScrollBar);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Focus", 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], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 70); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    focusLabel = XtCreateWidget("focusLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(focusLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Video Switching", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 89); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 150); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    videoSwitchLabel = XtCreateWidget("videoSwitchLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(videoSwitchLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"100", 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, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    zoomValueLabel = XtCreateWidget("zoomValueLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(zoomValueLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"100", 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, 75); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    zoomSetLabel = XtCreateWidget("zoomSetLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(zoomSetLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Current\n\
Value", 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, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 85); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 50); argcnt++;
    currentValueLabel = XtCreateWidget("currentValueLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(currentValueLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Set Point", 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, 85); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    setPtLabel = XtCreateWidget("setPtLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(setPtLabel);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Zoom", 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, 100); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 100); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 76); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    zoomLabel = XtCreateWidget("zoomLabel",
		xmLabelWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(zoomLabel);

    XtInitializeWidgetClass(xmScrollBarWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNorientation, XmVERTICAL); 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, 110); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 110); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 55); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 250); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, zoomLabel); argcnt++;
    zoomScrollBar = XtCreateWidget("zoomScrollBar",
		xmScrollBarWidgetClass,
		cameraForm,
		args,
		argcnt);

    XtAddCallback(zoomScrollBar, XmNvalueChangedCallback, rovScrollbarCallback, (XtPointer)&zoomSetPtItem);
    XtManageChild(zoomScrollBar);

    XtInitializeWidgetClass(xmSeparatorWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNorientation, XmVERTICAL); 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_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 62); argcnt++;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 527); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 11); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 654); argcnt++;
    cameraSeparator = XtCreateWidget("cameraSeparator",
		xmSeparatorWidgetClass,
		cameraForm,
		args,
		argcnt);
    XtManageChild(cameraSeparator);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Stbd\n\
Color", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 5); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 91); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 90); argcnt++;
    stbdColorButton = XtCreateWidget("stbdColorButton",
		xmPushButtonWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(stbdColorButton, XmNactivateCallback, screenSelect, (XtPointer)&stbdCameraSel);
    XtManageChild(stbdColorButton);

    XtInitializeWidgetClass(xmPushButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Port\n\
Color", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNx, 5); argcnt++;
    XtSetArg(args[argcnt], XmNy, 5); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 91); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 90); argcnt++;
    portColorButton = XtCreateWidget("portColorButton",
		xmPushButtonWidgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    selectButtonCreateDefault(portColorButton, (XtPointer)&portCameraSel, (XtPointer)0);
    XtAddCallback(portColorButton, XmNactivateCallback, screenSelect, (XtPointer)&portCameraSel);
    XtManageChild(portColorButton);

    XtInitializeWidgetClass(xmLabelGadgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Cameras", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNleftPosition, 31); argcnt++;
    XtSetArg(args[argcnt], XmNx, 264); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 80); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 23); argcnt++;
    cameraLabel = XtCreateWidget("cameraLabel",
		xmLabelGadgetClass,
		cameraForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(cameraLabel);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, portColorButton); argcnt++;
    XtSetValues(stbdColorButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, stbdColorButton); argcnt++;
    XtSetValues(zoomLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, zoomScrollBar); argcnt++;
    XtSetValues(setPtLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, setPtLabel); argcnt++;
    XtSetValues(currentValueLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, zoomScrollBar); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, setPtLabel); argcnt++;
    XtSetValues(zoomSetLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, zoomSetLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, currentValueLabel); argcnt++;
    XtSetValues(zoomValueLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftOffset, 89); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, cameraSeparator); argcnt++;
    XtSetValues(videoSwitchLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, stbdColorButton); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, zoomLabel); argcnt++;
    XtSetValues(focusLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, focusLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, zoomScrollBar); argcnt++;
    XtSetValues(focusScrollBar, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, focusScrollBar); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, zoomSetLabel); argcnt++;
    XtSetValues(focusSetLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, focusSetLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, zoomValueLabel); argcnt++;
    XtSetValues(focusValueLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, stbdColorButton); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, focusLabel); argcnt++;
    XtSetValues(irisLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, irisLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, focusScrollBar); argcnt++;
    XtSetValues(irisScrollBar, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 5); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, irisScrollBar); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, focusSetLabel); argcnt++;
    XtSetValues(autoIrisToggleButton, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, autoIrisToggleButton); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, focusValueLabel); argcnt++;
    XtSetValues(irisValueLabel, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopOffset, 10); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, videoSwitchLabel); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, cameraSeparator); argcnt++;
    XtSetValues(videoSwitchForm, 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, 336); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 116); argcnt++;
    cameraGainForm = XtCreateWidget("cameraGainForm",
		xmFormWidgetClass,
		cameraGainFrame,
		args,
		argcnt);
    XtManageChild(cameraGainForm);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNpacking, XmPACK_COLUMN); argcnt++;
    XtSetArg(args[argcnt], XmNradioAlwaysOne, True); argcnt++;
    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_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 82); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 105); argcnt++;
    cameraGainRadioBox = XtCreateWidget("cameraGainRadioBox",
		xmRowColumnWidgetClass,
		cameraGainForm,
		args,
		argcnt);
    XtManageChild(cameraGainRadioBox);

    XtInitializeWidgetClass(xmRowColumnWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNpacking, XmPACK_COLUMN); argcnt++;
    XtSetArg(args[argcnt], XmNradioAlwaysOne, True); argcnt++;
    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_FORM); argcnt++;
    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNrightOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 115); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 105); argcnt++;
    gainModeRadioBox = XtCreateWidget("gainModeRadioBox",
		xmRowColumnWidgetClass,
		cameraGainForm,
		args,
		argcnt);
    XtManageChild(gainModeRadioBox);

    XtInitializeWidgetClass(xmLabelWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Gain", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_POSITION); argcnt++;
    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;
    XtSetArg(args[argcnt], XmNtopPosition, 30); argcnt++;
    XtSetArg(args[argcnt], XmNbottomOffset, 0); argcnt++;
    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
    XtSetArg(args[argcnt], XmNy, 35); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 85); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 36); argcnt++;
    gainLabel = XtCreateWidget("gainLabel",
		xmLabelWidgetClass,
		cameraGainForm,
		args,
		argcnt);
    XmStringFree( xmstr[0] );
    XtManageChild(gainLabel);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Manual", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNset, True); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 109); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    manualGainToggleButton = XtCreateWidget("manualGainToggleButton",
		xmToggleButtonWidgetClass,
		gainModeRadioBox,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(manualGainToggleButton, XmNvalueChangedCallback, setCameraGainMode, (XtPointer)0);
    XtManageChild(manualGainToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"Low Auto", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 109); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    lowAutoGainToggleButton = XtCreateWidget("lowAutoGainToggleButton",
		xmToggleButtonWidgetClass,
		gainModeRadioBox,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(lowAutoGainToggleButton, XmNvalueChangedCallback, setCameraGainMode, (XtPointer)1);
    XtManageChild(lowAutoGainToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"High Auto", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 109); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    highAutoGainToggleButton = XtCreateWidget("highAutoGainToggleButton",
		xmToggleButtonWidgetClass,
		gainModeRadioBox,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(highAutoGainToggleButton, XmNvalueChangedCallback, setCameraGainMode, (XtPointer)2);
    XtManageChild(highAutoGainToggleButton);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, gainLabel); argcnt++;
    XtSetValues(gainModeRadioBox, args, argcnt);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"0 dB", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNset, True); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 76); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    gain0ToggleButton = XtCreateWidget("gain0ToggleButton",
		xmToggleButtonWidgetClass,
		cameraGainRadioBox,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(gain0ToggleButton, XmNvalueChangedCallback, setCameraGain, (XtPointer)0);
    XtManageChild(gain0ToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"9 dB", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 76); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    gain9ToggleButton = XtCreateWidget("gain9ToggleButton",
		xmToggleButtonWidgetClass,
		cameraGainRadioBox,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(gain9ToggleButton, XmNvalueChangedCallback, setCameraGain, (XtPointer)9);
    XtManageChild(gain9ToggleButton);

    XtInitializeWidgetClass(xmToggleButtonWidgetClass);
    argcnt = 0;
    XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
		"18 dB", XmSTRING_DEFAULT_CHARSET))); argcnt++;
    XtSetArg(args[argcnt], XmNwidth, 76); argcnt++;
    XtSetArg(args[argcnt], XmNheight, 31); argcnt++;
    gain18ToggleButton = XtCreateWidget("gain18ToggleButton",
		xmToggleButtonWidgetClass,
		cameraGainRadioBox,
		args,
		argcnt);
    XmStringFree( xmstr[0] );

    XtAddCallback(gain18ToggleButton, XmNvalueChangedCallback, setCameraGain, (XtPointer)18);
    XtManageChild(gain18ToggleButton);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNleftOffset, 20); argcnt++;
    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNleftWidget, gainModeRadioBox); argcnt++;
    XtSetValues(cameraGainRadioBox, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, currentValueLabel); argcnt++;
    XtSetValues(cameraGainFrame, args, argcnt);

    argcnt = 0;
    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
    XtSetArg(args[argcnt], XmNtopWidget, cameraGainFrame); argcnt++;
    XtSetValues(colorBarToggleButton, args, argcnt);

    return( retval );
}

