Esempio n. 1
0
void RGISToolsConvertToPointCBK (Widget widget,RGISWorkspace *workspace,XmAnyCallbackStruct *callData)

	{
	char *nText, *xText, *yText, *selection;
	int allowOk;
	static int convert;
	DBDataset *dataset = UIDataset ();
	DBObjData *dbData  = dataset->Data ();
	DBObjTable *itemTable;
	static Widget tableSelect = (Widget) NULL;
	static Widget dShell = (Widget) NULL, mainForm;
	static Widget nameTextF, xCoordTextF, yCoordTextF;
	XmString string;

	if (tableSelect == (Widget) NULL)	tableSelect = UISelectionCreate ((char *) "Table Selection");
	selection = UISelectObject (tableSelect,(DBObjectLIST<DBObject> *) dbData->Tables ());
	if (selection == (char *) NULL) return;
	if ((itemTable = dbData->Table (selection)) == (DBObjTable *) NULL)
		{ CMmsgPrint (CMmsgAppError, "Invalid Table in: %s %d",__FILE__,__LINE__); return; }

	_RGISToolsConvertToPointFields = itemTable->Fields ();
	if (dShell == (Widget) NULL)
		{
		Widget button;

		dShell = UIDialogForm ((char *) "Convert Table To Point",false);
		mainForm = UIDialogFormGetMainForm (dShell);

		string = XmStringCreate ((char *) "Select",UICharSetBold);
		button = XtVaCreateManagedWidget ("RGISToolsConvertToPointNameButton",xmPushButtonWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_FORM,
								XmNtopOffset,				10,
								XmNrightAttachment,		XmATTACH_FORM,
								XmNrightOffset,			10,
								XmNmarginHeight,			5,
								XmNtraversalOn,			False,
								XmNlabelString,			string,
								XmNuserData,				DBTableFieldIsString,
								NULL);
		XmStringFree (string);
		nameTextF = XtVaCreateManagedWidget ("RGISToolsConvertToPointNameTextF",xmTextFieldWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_OPPOSITE_WIDGET,
								XmNtopWidget,				button,
								XmNrightAttachment,		XmATTACH_WIDGET,
								XmNrightWidget,			button,
								XmNrightOffset,			10,
								XmNbottomAttachment,		XmATTACH_OPPOSITE_WIDGET,
								XmNbottomWidget,			button,
								XmNmaxLength,				DBStringLength,
								XmNcolumns,					DBStringLength / 2,
								NULL);
		XtAddCallback (button,XmNactivateCallback,(XtCallbackProc) _RGISToolsConvertToPointSelectCBK,nameTextF);
		string = XmStringCreate ((char *) "Name Field:",UICharSetBold);
		XtVaCreateManagedWidget ("RGISToolsConvertToPointNameLabel",xmLabelWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_OPPOSITE_WIDGET,
								XmNtopWidget,				button,
								XmNleftAttachment,		XmATTACH_FORM,
								XmNleftOffset,				10,
								XmNrightAttachment,		XmATTACH_WIDGET,
								XmNrightWidget,			nameTextF,
								XmNrightOffset,			10,
								XmNbottomAttachment,		XmATTACH_OPPOSITE_WIDGET,
								XmNbottomWidget,			button,
								XmNlabelString,			string,
								NULL);
		XmStringFree (string);

		string = XmStringCreate ((char *) "Select",UICharSetBold);
		button = XtVaCreateManagedWidget ("RGISToolsConvertToPointXCoordButton",xmPushButtonWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_WIDGET,
								XmNtopWidget,				button,
								XmNtopOffset,				10,
								XmNrightAttachment,		XmATTACH_FORM,
								XmNrightOffset,			10,
								XmNmarginHeight,			5,
								XmNtraversalOn,			False,
								XmNlabelString,			string,
								XmNuserData,				DBTableFieldIsNumeric,
								NULL);
		XmStringFree (string);
		xCoordTextF = XtVaCreateManagedWidget ("RGISToolsConvertToPointXCoordTextF",xmTextFieldWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_OPPOSITE_WIDGET,
								XmNtopWidget,				button,
								XmNrightAttachment,		XmATTACH_WIDGET,
								XmNrightWidget,			button,
								XmNrightOffset,			10,
								XmNbottomAttachment,		XmATTACH_OPPOSITE_WIDGET,
								XmNbottomWidget,			button,
								XmNmaxLength,				DBStringLength,
								XmNcolumns,					DBStringLength / 2,
								NULL);
		XtAddCallback (button,XmNactivateCallback,(XtCallbackProc) _RGISToolsConvertToPointSelectCBK,xCoordTextF);
		string = XmStringCreate ((char *) "X Coordinate:",UICharSetBold);
		XtVaCreateManagedWidget ("RGISToolsConvertToPointXCoordLabel",xmLabelWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_OPPOSITE_WIDGET,
								XmNtopWidget,				button,
								XmNleftAttachment,		XmATTACH_FORM,
								XmNleftOffset,				10,
								XmNrightAttachment,		XmATTACH_WIDGET,
								XmNrightWidget,			nameTextF,
								XmNrightOffset,			10,
								XmNbottomAttachment,		XmATTACH_OPPOSITE_WIDGET,
								XmNbottomWidget,			button,
								XmNlabelString,			string,
								NULL);
		XmStringFree (string);

		string = XmStringCreate ((char *) "Select",UICharSetBold);
		button = XtVaCreateManagedWidget ("RGISToolsConvertToPointYCoordButton",xmPushButtonWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_WIDGET,
								XmNtopWidget,				button,
								XmNtopOffset,				10,
								XmNrightAttachment,		XmATTACH_FORM,
								XmNrightOffset,			10,
								XmNbottomAttachment,		XmATTACH_FORM,
								XmNbottomOffset,			10,
								XmNmarginHeight,			5,
								XmNtraversalOn,			False,
								XmNlabelString,			string,
								XmNuserData,				DBTableFieldIsNumeric,
								NULL);
		XmStringFree (string);
		yCoordTextF = XtVaCreateManagedWidget ("RGISToolsConvertToPointYCoordTextF",xmTextFieldWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_OPPOSITE_WIDGET,
								XmNtopWidget,				button,
								XmNrightAttachment,		XmATTACH_WIDGET,
								XmNrightWidget,			button,
								XmNrightOffset,			10,
								XmNbottomAttachment,		XmATTACH_OPPOSITE_WIDGET,
								XmNbottomWidget,			button,
								XmNmaxLength,				DBStringLength,
								XmNcolumns,					DBStringLength / 2,
								NULL);
		XtAddCallback (button,XmNactivateCallback,(XtCallbackProc) _RGISToolsConvertToPointSelectCBK,yCoordTextF);
		string = XmStringCreate ((char *) "Y Coordinate:",UICharSetBold);
		XtVaCreateManagedWidget ("RGISToolsConvertToPointYCoordLabel",xmLabelWidgetClass,mainForm,
								XmNtopAttachment,			XmATTACH_OPPOSITE_WIDGET,
								XmNtopWidget,				button,
								XmNleftAttachment,		XmATTACH_FORM,
								XmNleftOffset,				10,
								XmNrightAttachment,		XmATTACH_WIDGET,
								XmNrightWidget,			nameTextF,
								XmNrightOffset,			10,
								XmNbottomAttachment,		XmATTACH_OPPOSITE_WIDGET,
								XmNbottomWidget,			button,
								XmNlabelString,			string,
								NULL);
		XmStringFree (string);
		XtAddCallback (UIDialogFormGetOkButton (dShell),XmNactivateCallback,(XtCallbackProc) UIAuxSetBooleanTrueCBK,&convert);
		}
	convert = false;
	UIDialogFormPopup (dShell);
	while (UILoop ())
		{
		xText = XmTextFieldGetString (xCoordTextF);
		yText = XmTextFieldGetString (yCoordTextF);
		allowOk = (strlen (xText) > 0) && (strlen (yText) > 0);
		XtFree (xText);	XtFree (yText);
		XtSetSensitive (UIDialogFormGetOkButton (dShell),allowOk);
		}
	UIDialogFormPopdown (dShell);

	if (convert)
		{
		DBObjData *pntData = new DBObjData ("",DBTypeVectorPoint);

		pntData->Name (dbData->Name ());
		pntData->Document (DBDocSubject,dbData->Document (DBDocSubject));
		pntData->Document (DBDocGeoDomain,dbData->Document (DBDocGeoDomain));

		if (UIDataHeaderForm (pntData))
			{
			DBCoordinate coord;
			DBObjTableField *nField, *xField, *yField, *tblFLD, *pntFLD;
			DBObjRecord *tblRec, *pntRec, *symRec;
			DBObjTable *pntTable = pntData->Table (DBrNItems);
			DBObjTable *symbols	= pntData->Table (DBrNSymbols);
			DBObjTableField *symbolIDFLD = symbols->Field (DBrNSymbolID);
			DBObjTableField *fgFLD = symbols->Field (DBrNForeground);
			DBObjTableField *bgFLD = symbols->Field (DBrNBackground);
			DBObjTableField *stFLD = symbols->Field (DBrNStyle);
			DBObjTableField *coordFLD = pntTable->Field (DBrNCoord);
			DBObjTableField *symbolFLD = pntTable->Field (DBrNSymbol);
			DBRegion extent;

			symRec = symbols->Add ("Default Symbol");
			symbolIDFLD->Int (symRec,0);
			fgFLD->Int (symRec,1);
			bgFLD->Int (symRec,2);
			stFLD->Int (symRec,0);

			nText = XmTextFieldGetString (nameTextF);
			xText = XmTextFieldGetString (xCoordTextF);
			yText = XmTextFieldGetString (yCoordTextF);
			nField = _RGISToolsConvertToPointFields->Item (nText);
			xField = _RGISToolsConvertToPointFields->Item (xText);
			yField = _RGISToolsConvertToPointFields->Item (yText);
			XtFree (nText);	XtFree (xText);	XtFree (yText);
			for (tblRec = itemTable->First ();tblRec != (DBObjRecord *) NULL;tblRec = itemTable->Next ())
				{
				if (CMmathEqualValues (coord.X = xField->Float (tblRec),xField->FloatNoData ())) continue;
				if (CMmathEqualValues (coord.Y = yField->Float (tblRec),yField->FloatNoData ())) continue;
				if (nField == (DBObjTableField *) NULL) pntRec = pntTable->Add (tblRec->Name ());
				else pntRec = pntTable->Add (nField->String (tblRec));
				coordFLD->Coordinate (pntRec,coord);
				symbolFLD->Record (pntRec,symRec);
				extent.Expand (coord);
				}
			pntData->Extent (extent);
         pntData->Projection (DBMathGuessProjection (extent));
         pntData->Precision  (DBMathGuessPrecision  (extent));
			for (tblFLD = _RGISToolsConvertToPointFields->First ();tblFLD != (DBObjTableField *) NULL;tblFLD = _RGISToolsConvertToPointFields->Next ())
				if ((tblFLD != nField) && (tblFLD != xField) && (tblFLD != yField) && DBTableFieldIsVisible (tblFLD))
					{
					pntTable->AddField (pntFLD = new DBObjTableField (*tblFLD));
					pntFLD->Required (false);
					pntRec = pntTable->First ();
					for (tblRec = itemTable->First ();tblRec != (DBObjRecord *) NULL;tblRec = itemTable->Next ())
						{
						if (CMmathEqualValues (coord.X = xField->Float (tblRec),xField->FloatNoData ())) continue;
						if (CMmathEqualValues (coord.Y = yField->Float (tblRec),yField->FloatNoData ())) continue;
						switch (tblFLD->Type ())
							{
							case DBTableFieldString:	pntFLD->String	(pntRec,tblFLD->String (tblRec));	break;
							case DBTableFieldInt:		pntFLD->Int		(pntRec,tblFLD->Int (tblRec));		break;
							case DBTableFieldFloat:		pntFLD->Float	(pntRec,tblFLD->Float (tblRec));		break;
							case DBTableFieldDate:		pntFLD->Date	(pntRec,tblFLD->Date (tblRec));		break;
							default: CMmsgPrint (CMmsgAppError, "Invalid Field Type in: %s %d",__FILE__,__LINE__);		break;
							}
						pntRec = pntTable->Next ();
						}
					}
			workspace->CurrentData (pntData);
			}
		else delete pntData;
		}
	}
Esempio n. 2
0
int main(int argc, char **argv)
{
  Widget        shell, panedw, rc, rc2, sb1, sb2;
  Widget	label, label2;
  Arg args[20];
  int argcount;
  int i;
  XmString months[12];
  char *monthstr[12];
  char buf[10];
  char *str;

  shell     = XtVaAppInitialize(&context, APP_CLASS, NULL, 0, &argc, argv,
				fallback_resources, NULL);

  time(&timer);
  thetime = localtime(&timer);
  dy = thetime -> tm_mday;
  yr = thetime -> tm_year + 1900;
  mn = thetime -> tm_mon;
  hr = thetime -> tm_hour;
  mi = thetime -> tm_min;
  
  panedw    = XmCreatePanedWindow(shell, "BBoard", NULL, 0);
  XtManageChild(panedw);

  /* 
  argcount = 0;
  XtSetArg(args[argcount], XmNlabelType, XmSTRING), argcount++;
  XtSetArg(args[argcount], XmNlabelString,
	   XmStringCreate("Set Current Date and Time", 
			  XmSTRING_DEFAULT_CHARSET)), argcount++;
  label = XmCreateLabel(panedw, "label1", args, argcount);
  XtManageChild(label);
  */

  str = XGetDefault(XtDisplay(panedw), APP_CLASS, "dateCommand");
  if (str == NULL)
    str = XGetDefault(XtDisplay(panedw), argv[0], "dateCommand");
  if (str == NULL)
    dateCommand = "echo Default command, the date is: %s";
  else
    dateCommand = str;

  rc = XmCreateRowColumn(panedw, "SpinBoxs", NULL, 0);
  XtManageChild(rc);
  
  label = XmCreateLabel(rc, "label2", NULL, 0);
  XtManageChild(label);
  
  sb1 = XmCreateSpinBox(rc, "DateSB", NULL, 0);
  XtAddCallback(sb1, XmNvalueChangedCallback, ValueChanged, NULL);
  XtManageChild(sb1);

  argcount = 0;
  XtSetArg(args[argcount], XmNpositionType, XmPOSITION_INDEX), argcount++;
  XtSetArg(args[argcount], XmNspinBoxChildType, XmNUMERIC), argcount++;
  XtSetArg(args[argcount], XmNmaximumValue, 31), argcount++;
  XtSetArg(args[argcount], XmNminimumValue, 1), argcount++;
  XtSetArg(args[argcount], XmNposition, dy - 1), argcount++;
  XtSetArg(args[argcount], XmNcolumns, 3), argcount++;
  day = XmCreateTextField(sb1, "Day", args, argcount);
  XtManageChild(day);
   
#ifndef CSRG_BASED
  months[0]  = XmStringCreate(nl_langinfo(MON_1), XmSTRING_DEFAULT_CHARSET);
  months[1]  = XmStringCreate(nl_langinfo(MON_2), XmSTRING_DEFAULT_CHARSET);
  months[2]  = XmStringCreate(nl_langinfo(MON_3), XmSTRING_DEFAULT_CHARSET);
  months[3]  = XmStringCreate(nl_langinfo(MON_4), XmSTRING_DEFAULT_CHARSET);
  months[4]  = XmStringCreate(nl_langinfo(MON_5), XmSTRING_DEFAULT_CHARSET);
  months[5]  = XmStringCreate(nl_langinfo(MON_6), XmSTRING_DEFAULT_CHARSET);
  months[6]  = XmStringCreate(nl_langinfo(MON_7), XmSTRING_DEFAULT_CHARSET);
  months[7]  = XmStringCreate(nl_langinfo(MON_8), XmSTRING_DEFAULT_CHARSET);
  months[8]  = XmStringCreate(nl_langinfo(MON_9), XmSTRING_DEFAULT_CHARSET);
  months[9]  = XmStringCreate(nl_langinfo(MON_10), XmSTRING_DEFAULT_CHARSET);
  months[10]  = XmStringCreate(nl_langinfo(MON_11), XmSTRING_DEFAULT_CHARSET);
  months[11]  = XmStringCreate(nl_langinfo(MON_12), XmSTRING_DEFAULT_CHARSET);
#else
  months[0]  = XmStringCreate("January", XmSTRING_DEFAULT_CHARSET);
  months[1]  = XmStringCreate("February", XmSTRING_DEFAULT_CHARSET);
  months[2]  = XmStringCreate("March", XmSTRING_DEFAULT_CHARSET);
  months[3]  = XmStringCreate("April", XmSTRING_DEFAULT_CHARSET);
  months[4]  = XmStringCreate("May", XmSTRING_DEFAULT_CHARSET);
  months[5]  = XmStringCreate("June", XmSTRING_DEFAULT_CHARSET);
  months[6]  = XmStringCreate("July", XmSTRING_DEFAULT_CHARSET);
  months[7]  = XmStringCreate("August", XmSTRING_DEFAULT_CHARSET);
  months[8]  = XmStringCreate("September", XmSTRING_DEFAULT_CHARSET);
  months[9]  = XmStringCreate("October", XmSTRING_DEFAULT_CHARSET);
  months[10]  = XmStringCreate("November", XmSTRING_DEFAULT_CHARSET);
  months[11]  = XmStringCreate("December", XmSTRING_DEFAULT_CHARSET);
#endif

  argcount = 0;
  XtSetArg(args[argcount], XmNpositionType, XmPOSITION_INDEX), argcount++;
  XtSetArg(args[argcount], XmNvalues, months), argcount++;
  XtSetArg(args[argcount], XmNnumValues, 12), argcount++;
  XtSetArg(args[argcount], XmNposition, mn), argcount++;
  XtSetArg(args[argcount], XmNcolumns, 12), argcount++;
  month = XmCreateTextField(sb1, "MonthSB", args, argcount);
  XtManageChild(month);

  argcount = 0;
  XtSetArg(args[argcount], XmNpositionType, XmPOSITION_INDEX), argcount++;
  XtSetArg(args[argcount], XmNspinBoxChildType, XmNUMERIC), argcount++;
  XtSetArg(args[argcount], XmNmaximumValue, 2020), argcount++;
  XtSetArg(args[argcount], XmNminimumValue, 1992), argcount++;
  XtSetArg(args[argcount], XmNposition, yr-1992), argcount++;
  XtSetArg(args[argcount], XmNcolumns, 5), argcount++;
  year = XmCreateTextField(sb1, "YearSB", args, argcount);
  XtManageChild(year);

  argcount = 0;
  label = XmCreateLabel(rc, "label3", args, argcount);
  XtManageChild(label);
  
  argcount = 0;
  XtSetArg(args[argcount], XmNy, 50), argcount++;
  sb2 = XmCreateSpinBox(rc, "TimeSB", args, argcount);
  XtAddCallback(sb2, XmNvalueChangedCallback, ValueChanged, NULL);
  XtManageChild(sb2);

  argcount = 0;
  XtSetArg(args[argcount], XmNpositionType, XmPOSITION_INDEX), argcount++;
  XtSetArg(args[argcount], XmNspinBoxChildType, XmNUMERIC), argcount++;
  XtSetArg(args[argcount], XmNmaximumValue, 23), argcount++;
  XtSetArg(args[argcount], XmNminimumValue, 0), argcount++;
  XtSetArg(args[argcount], XmNposition, hr), argcount++;
  XtSetArg(args[argcount], XmNcolumns, 3), argcount++;
  hour = XmCreateTextField(sb2, "Hour", args, argcount);
  XtManageChild(hour);
  
  argcount = 0;
  XtSetArg(args[argcount], XmNpositionType, XmPOSITION_INDEX), argcount++;
  XtSetArg(args[argcount], XmNlabelType, XmSTRING), argcount++;
  XtSetArg(args[argcount], XmNlabelString,
	   XmStringCreate(":", 
			  XmSTRING_DEFAULT_CHARSET)), argcount++;
  label = XmCreateLabel(sb2, "label4", args, argcount);
  XtManageChild(label);
   
  argcount = 0;
  XtSetArg(args[argcount], XmNpositionType, XmPOSITION_INDEX), argcount++;
  XtSetArg(args[argcount], XmNspinBoxChildType, XmNUMERIC), argcount++;
  XtSetArg(args[argcount], XmNmaximumValue, 59), argcount++;
  XtSetArg(args[argcount], XmNminimumValue, 0), argcount++;
  XtSetArg(args[argcount], XmNposition, mi), argcount++;
  XtSetArg(args[argcount], XmNcolumns, 3), argcount++;
  minute = XmCreateTextField(sb2, "Minute", args, argcount);
  XtManageChild(minute);

  argcount = 0;
  XtSetArg(args[argcount], XmNorientation, XmHORIZONTAL), argcount++;
  XtSetArg(args[argcount], XmNpacking, XmPACK_TIGHT), argcount++;
  rc2 = XmCreateRowColumn(panedw, "SpinBoxs2", args, argcount);
  XtManageChild(rc2);

  argcount = 0;
  action = XmCreatePushButton(rc2, "SetDate", args, argcount);
  XtManageChild(action);
  XtAddCallback(action, XmNactivateCallback, Doit, "OK");

  argcount = 0;
  exitpb = XmCreatePushButton(rc2, "Quit", args, argcount);
  XtManageChild(exitpb);
  XtAddCallback(exitpb, XmNactivateCallback, QuitAppl, "OK");

  XtRealizeWidget(shell);

  XtAppMainLoop(context);

  return 0;    /* make compiler happy */
}
Esempio n. 3
0
void  
main (int argc, char **argv)
{

    Widget             Parent;
    Widget             ComboBox;

    int                n,i;
    Arg                args[MAX_ARGS];
    XmString           TempLabelString, ItemList[NITEMS];






static char *CharItems[] = {
    "Item1",
    "btest1",
    "btest1b", 
    "btest2", 
    "btest3",
    "decor00", 
    "decor01", 
    "decor02", 
    "decor03", 
    "decor04", 
    "decor05",
    "decor06", 
    "decor07", 
    "decor08", 
    "decor09",
    "func00", 
    "func01", 
    "func02", 
    "func03", 
    "func04",
    "func05", 
    "func06", 
    "func07", 
    "func08", 
    "func09",
    "func10", 
    "func11", 
    "func12", 
    "func13", 
    "func14",
    "iplac00", 
    "iplac01", 
    "iplac02", 
    "iplac05", 
    "menu00", 
    "menu04", 
    "mtest1", 
    "parse00",
    "prop00", 
    "rstest1"
    };

    CommonTestInit(argc, argv);
    
    /* Create a ComboBox */

    if (UserData == NULL)
      {
	printf ("Usage: ComboBox4 -u <comboBoxType>\n");
	exit(0);
      }

    n=0;
    Parent = XmCreateFrame (Shell1, "Parent",args,n);
    XtManageChild (Parent);

    /* Set the comboBoxType of ComboBox based on the flag passed by the user. */

    n=0;
    if (strcmp (UserData, "COMBO_BOX") == 0)
	{
	    XtSetArg(args[n], XmNcomboBoxType, XmCOMBO_BOX); n++;
	}
    else
    if (strcmp (UserData, "DROP_DOWN_COMBO_BOX") == 0)
	{
	    XtSetArg(args[n], XmNcomboBoxType, XmDROP_DOWN_COMBO_BOX); n++;
	}

    if (strcmp (UserData, "DROP_DOWN_LIST") == 0)
	{
	    XtSetArg(args[n], XmNcomboBoxType, XmDROP_DOWN_LIST); n++;
	}

    ComboBox = XmCreateComboBox (Parent, "ComboBox", args, n);
    XtManageChild (ComboBox);

    XtRealizeWidget (Shell1);

    
 

    /* Create the list */   
    for (i=0; i<NITEMS; i++)
	{
	    TempLabelString = XmStringCreate(CharItems[i], 
				    XmSTRING_DEFAULT_CHARSET);
	    ItemList[i] = TempLabelString;

	}


    /* Set values on the List Component of the ComboBox. */
    n = 0;
    XtSetArg(args[n], XmNlistSpacing, 5);  			n++;
    XtSetArg(args[n], XmNlistMarginWidth, 2);  			n++;
    XtSetArg(args[n], XmNlistMarginHeight, 2);  		n++;
    XtSetArg(args[n], XmNitems, ItemList); 			n++;
    XtSetArg(args[n], XmNitemCount, NITEMS); 			n++;
    XtSetArg(args[n], XmNvisibleItemCount, VITEMS); 		n++;
    if (XtNameToWidget (ComboBox,"*List") != NULL)
    XtSetValues (XtNameToWidget(ComboBox,"*List"),args,n);

    CommonPause();


    n = 0;
    XtSetArg(args[n], XmNautoShowCursorPosition, True); n++;
    XtSetArg(args[n], XmNcursorPosition, 5); n++;
    XtSetArg(args[n], XmNeditMode, XmSINGLE_LINE_EDIT); n++;
    XtSetArg(args[n], XmNmarginHeight, 20); n++;
    XtSetArg(args[n], XmNmarginWidth, 20); n++;
    XtSetArg (args[n], XmNresizeWidth, True); n++;
    XtSetValues (XtNameToWidget(ComboBox,"Text"),args,n);


    CommonPause();
    
/* Add an Item */

    TempLabelString = XmStringCreate ("ExtraItem", XmSTRING_DEFAULT_CHARSET);
    XmListAddItem (XtNameToWidget(ComboBox,"*List"), TempLabelString, NITEMS+1);
    XmStringFree (TempLabelString);
 
    CommonPause();

    /* Test for XmComboBoxUpdate */

    TempLabelString = XmStringCreate ("Item1", XmSTRING_DEFAULT_CHARSET);
    XmListSelectItem (XtNameToWidget(ComboBox,"*List"), TempLabelString,False);
    XmComboBoxUpdate (ComboBox);
    XmStringFree (TempLabelString);

    

    CommonPause();
    CommonPause();

    XtAppMainLoop(app_context);
}