예제 #1
0
파일: test3.c 프로젝트: melanj/lesstif
int
main(int argc, char **argv)
{
  Widget toplevel, widget, bb, list;
  XtAppContext app;
  XmString item;
  Arg args[10];
  int n = 0;

  XtSetLanguageProc(NULL, NULL, NULL);

  toplevel = XtVaAppInitialize(&app, "ComBox", NULL, 0, &argc, argv, NULL, NULL);

  bb = XmCreateBulletinBoard(toplevel, "bb", NULL, 0);
  XtManageChild(bb);

  XtSetArg(args[n], XmNwidth, 100); n++;
  XtSetArg(args[n], XmNheight, 100); n++;
  widget = XmCreateDrawnButton(bb, "drawnButton", args, n);

  XtAddCallback(widget, XmNexposeCallback, (XtCallbackProc) onExpose,
                (XtPointer)bb);

  XtManageChild(widget);

  XtRealizeWidget(toplevel);

  LessTifTestMainLoop(toplevel);

  exit(0);
}
예제 #2
0
파일: test13.c 프로젝트: melanj/lesstif
void Resize(void)

{
    Arg            args[10];
    Cardinal      argcount;
    Widget Label;
    
    if( HelpBoard ) {
	XtDestroyWidget( HelpBoard );
	XmUpdateDisplay( mainbull );
	printf( "Resize! Helpboard destroyed!\n" );
    }

    argcount = 0;
    XtSetArg( args[argcount], XmNresizePolicy, XmRESIZE_ANY ); argcount++;
    XtSetArg( args[argcount], XmNunitType, XmPIXELS ); argcount++;

    HelpBoard = XmCreateBulletinBoard( mainbull, "Board2", args, argcount );
    XtRealizeWidget( HelpBoard );
    XtManageChild( HelpBoard );

    printf( "Resize! XtWidth: %d\n", XtWidth( pgHelpMainWindow ) );

    argcount = 0;
    XtSetArg( args[argcount], XmNx, XtWidth( pgHelpMainWindow ) -50 ); argcount++;
    XtSetArg( args[argcount], XmNy, 50 ); argcount++;
    Label = XmCreateLabel( mainbull, "xxx", args, argcount );
    XtManageChild( Label );
}
예제 #3
0
파일: motif.c 프로젝트: E-LLP/QuIP
static void make_width_slider(QSP_ARG_DECL  Screen_Obj *sop)
{
	Arg al[16];
	int ac = 0;
	Widget bb;
	char buf[4];

	sop->so_frame = generic_frame(curr_panel->po_panel_obj,
		sop, XmSHADOW_IN);


	/* create a bulletin board to hold the slider */
	strcpy(buf,"bb");
	bb=XmCreateBulletinBoard(sop->so_frame,buf,NULL,0);
	XtManageChild(bb);

	/* set slider parameters */
	XtSetArg(al[ac], XmNorientation, XmHORIZONTAL); ac++;
	XtSetArg(al[ac], XmNshowValue, TRUE); ac++;
	XtSetArg(al[ac], XmNminimum, sop->so_min); ac++;
	XtSetArg(al[ac], XmNmaximum, sop->so_max); ac++;
	XtSetArg(al[ac], XmNvalue, sop->so_val); ac++;
	XtSetArg(al[ac], XmNprocessingDirection, XmMAX_ON_RIGHT); ac++;
	XtSetArg(al[ac], XmNdecimalPoints, 0); ac++;
	XtSetArg(al[ac], XmNscaleMultiple, 1); ac++;
	XtSetArg(al[ac], XmNscaleHeight, 15); ac++;
	XtSetArg(al[ac], XmNscaleWidth, sop->so_width); ac++;

	/* create slider */
	sop->so_obj = XmCreateScale(bb, (char *)sop->so_name, al, ac);

	/* arrange for slider to become visible */
	XtManageChild(sop->so_obj);
}
예제 #4
0
파일: test5.c 프로젝트: melanj/lesstif
int
main(int argc, char **argv)
{
  int i;
  Widget toplevel, bb, label, pressme, pb;
  XtAppContext app;
  XmString item;
  Arg args[5];

  XtSetLanguageProc(NULL, NULL, NULL);

  toplevel = XtVaAppInitialize(&app, "GrabShell", NULL, 0, &argc, argv, NULL, NULL);

  bb = XmCreateBulletinBoard(toplevel, "bb", NULL, 0);
  
  pressme = XmCreatePushButton(bb,"Press me and let's see what the grab shell does.",NULL,0);
  
  XtManageChild(pressme);

  XtManageChild(bb);

  i = 0;
  XtSetArg(args[i], XmNownerEvents, True); i++;
  XtSetArg(args[i], XmNgrabStyle, GrabModeSync); i++;
  grabshell = XmCreateGrabShell(bb, "grab", args, i);
  label = XmCreateLabel(grabshell, "Hello World", NULL, 0);

  XtManageChild(label);

  i = 0;
  XtSetArg(args[i], XmNy, 100); i++;
  XtSetArg(args[i], XmNx, 0); i++;
  pb = XmCreatePushButton(grabshell,"hello", args, i);
  XtManageChild(pb);

  /* setup callback for an activate action */
  XtAddCallback(pressme, 
                XmNactivateCallback,
                (XtCallbackProc) onActivate, 
                (XtPointer) grabshell);

  XtAddCallback(grabshell,
                XmNpopupCallback,
                (XtCallbackProc) onPopup,
                (XtPointer) grabshell);

  XtRealizeWidget(toplevel);

#if 1
  GrabShellResources(grabshell);
#endif

  check_geometry();

  LessTifTestMainLoop(toplevel);

  exit(0);
}
예제 #5
0
파일: test4.c 프로젝트: melanj/lesstif
int
main(int argc, char **argv)
{
	XtAppContext	app;
	XmString	item;
	Arg			al[10];
	int			ac;

	XtSetLanguageProc(NULL, NULL, NULL);

	toplevel = XtVaAppInitialize(&app, "SpinBox", NULL, 0,
		&argc, argv, NULL, NULL);

#ifdef	USE_BB
	bb = XmCreateBulletinBoard(toplevel, "bb", NULL, 0);
	XtManageChild(bb);
#else
	bb = toplevel;
#endif

	ac = 0;
	spb = XmCreateSpinBox(bb, "spinbox", al, ac);
	XtAddCallback(spb, XmNvalueChangedCallback, ModifyVerify, NULL);

	ac = 0;
	XtSetArg(al[ac], XmNspinBoxChildType, XmNUMERIC); ac++;
	day = XmCreateText(spb, "day", al, ac);
	XtManageChild(day);
	ac = 0;
	XtSetArg(al[ac], XmNspinBoxChildType, XmNUMERIC); ac++;
	month = XmCreateText(spb, "month", al, ac);
	XtManageChild(month);
	ac = 0;
	XtSetArg(al[ac], XmNspinBoxChildType, XmNUMERIC); ac++;
	year = XmCreateText(spb, "year", al, ac);
	XtManageChild(year);

	XtManageChild(spb);

	XtRealizeWidget(toplevel);

	LessTifTestMainLoop(toplevel);

	exit(0);
}
예제 #6
0
파일: test1.c 프로젝트: melanj/lesstif
int
main(int argc, char **argv)
{
  Widget toplevel, widget, bb, list;
  XtAppContext app;
  XmString item;

  XtSetLanguageProc(NULL, NULL, NULL);

  toplevel = XtVaAppInitialize(&app, "ComBox", NULL, 0, &argc, argv, NULL, NULL);

  bb = XmCreateBulletinBoard(toplevel, "bb", NULL, 0);
  XtManageChild(bb);

  widget = XmCreateComboBox(bb, "widget", NULL, 0);

  /* use list routine to add items */
  list = CB_List(widget);

  item = XmStringCreateSimple("Item 1");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 2");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 3");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 4");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 5");
  XmListAddItem(list,item,0);

  XmComboBoxUpdate(widget);

  XtManageChild(widget);

  XtRealizeWidget(toplevel);

  check_geometry(widget);

  LessTifTestMainLoop(toplevel);

  exit(0);
}
예제 #7
0
파일: test9.c 프로젝트: melanj/lesstif
int
main(int argc, char *argv[])
{
    XtAppContext app;
    Widget shell, w, bb;
    void *before;
    void *after;
    int iter = 0;
    int diff = 0;
    int total = 0;

    shell = XtAppInitialize(&app, "Test", NULL, 0,
			    &argc, argv, NULL, NULL, 0);
    bb = XmCreateBulletinBoard(shell, "BB", NULL, 0);
    while (iter < 10000)
    {
	before = sbrk((ptrdiff_t) 0);
	w = XtCreateWidget("name", xmPushButtonGadgetClass, bb, NULL, 0);
	XtDestroyWidget(w);
	after = sbrk((ptrdiff_t) 0);
	if ((int)((char *)after - (char *)before) > 0)
	{
	    if (iter != 0)
	    {
		/*
		printf("%i %i %p %i\n", iter, iter - diff, after - before, (after - before) / (iter - diff));
		 */
		total += (int)((char *)after - (char *)before);
	    }
	    diff = iter;
	}
	iter++;
    }
    printf("leaking %i bytes per Create/Destroy\n", total / iter);
    exit((int)(total / iter));
}
예제 #8
0
void
main(unsigned int argc, char **argv)
{

    Arg			args[MAX_ARGS];
    Cardinal	n;
    XmFontList fontlist;


    manager_needed = BULLETINBOARD;

    CommonTestInit(argc, argv);

    if (UserData != NULL)
        ProcessCommandArgs();

    fontlist = CommonGetFontList("9x15");

    n = 0;
    if (manager_needed == BULLETINBOARD)
        Manager1 = XmCreateBulletinBoard(Shell1, "Manager1", args, n);
    else if (manager_needed == FORM)
        Manager1 = XmCreateForm(Shell1, "Manager1", args, n);
    else if (manager_needed == PANEDWINDOW)
        Manager1 = XmCreatePanedWindow(Shell1, "Manager1", args, n);
    else if (manager_needed == ROWCOLUMN) {

        XtSetArg(args[n], XmNcolumns, 1);
        n++;
        XtSetArg(args[n], XmNpacking, XmPACK_COLUMN);
        n++;
        Manager1 = XmCreateRowColumn(Shell1, "Manager1", args, n);

    }

    XtManageChild(Manager1);

    n = 0;
    XtSetArg(args[n], XmNindicatorOn, True);
    n++;
    XtSetArg(args[n], XmNfontList, fontlist);
    n++;
    if (manager_needed == FORM) {

        XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM);
        n++;

    }
    ToggleButton1 = XmCreateToggleButton(Manager1, "ToggleButton1", args, n);
    XtManageChild(ToggleButton1);

    n = 0;
    XtSetArg(args[n], XmNindicatorType, XmONE_OF_MANY);
    n++;
    XtSetArg(args[n], XmNspacing, 10);
    n++;
    XtSetArg(args[n], XmNfillOnSelect, False);
    n++;
    if (manager_needed == FORM) {

        XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET);
        n++;
        XtSetArg(args[n], XmNtopWidget, ToggleButton1);
        n++;
        XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM);
        n++;

    }
    if (manager_needed == BULLETINBOARD) {
        XtSetArg(args[n], XmNy, 50);
        n++;
    }
    ToggleButton2 = XmCreateToggleButton(Manager1, "ToggleButton2", args, n);
    XtManageChild(ToggleButton2);

    n = 0;
    XtSetArg(args[n], XmNvisibleWhenOff, False);
    n++;
    if (manager_needed == FORM) {

        XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET);
        n++;
        XtSetArg(args[n], XmNtopWidget, ToggleButton2);
        n++;
        XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM);
        n++;

    }
    if (manager_needed == BULLETINBOARD) {
        XtSetArg(args[n], XmNy, 100);
        n++;
    }
    ToggleButton3 = XmCreateToggleButton(Manager1, "ToggleButton3", args, n);
    XtManageChild(ToggleButton3);

    n = 0;
    XtSetArg(args[n], XmNset, True);
    n++;
    XtSetArg(args[n], XmNfillOnSelect, True);
    n++;
    if (manager_needed == FORM) {

        XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET);
        n++;
        XtSetArg(args[n], XmNtopWidget, ToggleButton3);
        n++;
        XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM);
        n++;

    }
    if (manager_needed == BULLETINBOARD) {
        XtSetArg(args[n], XmNy, 150);
        n++;
    }
    ToggleButton4 = XmCreateToggleButton(Manager1, "ToggleButton4", args, n);
    XtManageChild(ToggleButton4);

    px_unselect = XCreatePixmapFromBitmapData(display,
                  DefaultRootWindow(display),
                  XBMu_BITS,
                  XBMu_WIDTH,XBMu_HEIGHT,
                  WhitePixel(display,DefaultScreen(display)),
                  BlackPixel(display,DefaultScreen(display)),
                  DefaultDepth(display,DefaultScreen(display)));
    px_select = XCreatePixmapFromBitmapData(display,
                                            DefaultRootWindow(display),
                                            XBMs_BITS, XBMs_WIDTH,XBMs_HEIGHT,
                                            WhitePixel(display,DefaultScreen(display)),
                                            BlackPixel(display,DefaultScreen(display)),
                                            DefaultDepth(display,DefaultScreen(display)));

    n = 0;
    XtSetArg(args[n], XmNlabelType, XmPIXMAP);
    n++;
    XtSetArg(args[n], XmNselectPixmap, px_select);
    n++;
    XtSetArg(args[n], XmNlabelPixmap, px_unselect);
    n++;
    XtSetArg(args[n], XmNindicatorOn, False);
    n++;
    if (manager_needed == FORM) {

        XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET);
        n++;
        XtSetArg(args[n], XmNtopWidget, ToggleButton4);
        n++;
        XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM);
        n++;

    }
    if (manager_needed == BULLETINBOARD) {
        XtSetArg(args[n], XmNy, 200);
        n++;
    }
    ToggleButton5 = XmCreateToggleButton(Manager1, "ToggleButton5", args, n);
    XtManageChild(ToggleButton5);

    n = 0;
    XtSetArg(args[n], XmNindicatorOn, False);
    n++;
    XtSetArg(args[n], XmNshadowThickness, 4);
    n++;
    if (manager_needed == FORM) {

        XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET);
        n++;
        XtSetArg(args[n], XmNtopWidget, ToggleButton5);
        n++;
        XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM);
        n++;
        XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM);
        n++;

    }
    if (manager_needed == BULLETINBOARD) {
        XtSetArg(args[n], XmNy, 300);
        n++;
    }
    ToggleButton6 = XmCreateToggleButton(Manager1, "ToggleButton6", args, n);
    XtManageChild(ToggleButton6);

    XtRealizeWidget(Shell1);

    for (n = 0; n < 5; n++)
        CommonPause();

    XmToggleButtonSetState(ToggleButton5, TRUE, FALSE);

    CommonPause();

    XmToggleButtonSetState(ToggleButton5, FALSE, FALSE);

    CommonPause();

    n = 0;
    XtSetArg (args[n], XmNbackgroundPixmap, px_select);
    n++;
    XtSetValues (ToggleButton5, args, n);

    CommonPause();

    n = 0;
    XtSetArg (args[n], XmNbackgroundPixmap, XmUNSPECIFIED_PIXMAP);
    n++;
    XtSetValues (ToggleButton5, args, n);

    CommonPause();

    /* Begin PIR3850 */
    n = 0;
    XtSetArg (args[n], XmNbackgroundPixmap, None);
    n++;
    XtSetValues (Manager1, args, n);

    CommonPause();
    /* End PIR3850 */

    XtDestroyWidget(Manager1);

    CommonPause();

    XtAppMainLoop(app_context);

}
예제 #9
0
void
main (int argc, char **argv)

{
  Arg args[10];
  int n,i;
  char buf[16];

Widget Parent;
Widget Notebook;
Widget Frame1,Form1,PW1,RC1,BB1,PB1;
Widget MajorTab[3];
Widget MinorTab[3];
Widget StatusArea[6];
Widget FrameKid1;
Widget FormKid[4];
Widget RCKid[4];
Widget BBKid[4];
Widget PWKid[4];




  CommonTestInit (argc, argv);



  
  /* 
   * Create the parent. 
   */

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

  n=0;
  Notebook = XmCreateNotebook (Parent, "Notebook", args, n);
  XtManageChild (Notebook);

    
  for (i=0; i< 3; i++)
    {
      n=0;
      sprintf (buf, "MajorTab%d", i+1);
      MajorTab[i] = XmCreatePushButton (Notebook,buf,args,n);
      XtManageChild(MajorTab[i]);
    }
            


  for (i=0; i< 3; i++)
    {
       sprintf (buf, "MinorTab%d", i+1);
       MinorTab[i] = XmCreatePushButton (Notebook,buf,args,n);
       XtManageChild(MinorTab[i]);
    }
        

  for (i=0; i< 7; i++)
     {
       n=0;
       sprintf (buf,"StatusArea%d", i+1);
       StatusArea[i] = XmCreateText (Notebook, buf, args,n);
       XtManageChild(StatusArea[i]);
     }


  /*
   * Create Pages of Notebook
   */

  n=0;
  Frame1 = XmCreateFrame (Notebook, "Frame1", args, n);
  XtManageChild (Frame1);

  n=0;
  Form1 = XmCreateForm (Notebook, "Form1", args, n);
  XtManageChild (Form1);

  n=0;
  RC1 = XmCreateRowColumn (Notebook, "RC1", args, n);
  XtManageChild (RC1);


  n=0;
  PW1 = XmCreatePanedWindow (Notebook, "PW1", args, n);
  XtManageChild (PW1);

  n=0;
  BB1 = XmCreateBulletinBoard (Notebook, "BB1", args, n);
  XtManageChild (BB1);

  n=0;
  PB1 = XmCreatePushButton (Notebook, "PB1", args, n);
  XtManageChild (PB1);

  n=0;
  NB1 = XmCreateNotebook (Notebook, "NB1", args, n);
  XtManageChild (NB1);

  /*
   *   Create kids of pages
   */

   n=0;
   FrameKid1 = XmCreatePushButton (Frame1,"FrameKid1",args,n);
   XtManageChild (FrameKid1);


  for (i=0; i < 4; i++)
    {
      n=0;
      sprintf (buf, "FormKid%d", i+1);
      FormKid[i] = XmCreatePushButton (Form1,buf,args,n);
      XtManageChild (FormKid[i]);
    }

  for (i=0; i < 4; i++)
    {
      n=0;
      sprintf (buf, "RCKid%d", i+1);
      RCKid[i] = XmCreatePushButton (RC1,buf,args,n);
      XtManageChild (RCKid[i]);
    }


  for (i=0; i < 4; i++)
    {
      n=0;
      sprintf (buf, "PWKid%d", i+1);
      PWKid[i] = XmCreatePushButton (PW1,buf,args,n);
      XtManageChild (PWKid[i]);
    }

  for (i=0; i < 4; i++)
    {
      n=0;
      sprintf (buf, "BBKid%d", i+1);
      BBKid[i] = XmCreatePushButton (BB1,buf,args,n);
      XtManageChild (BBKid[i]);
    }

  n=0;
  NBKid1 = XmCreateMessageBox (NB1, "NBKid1", args, n);
  XtManageChild (NBKid1);


  XtRealizeWidget (Shell1);

  CommonPause();
  CommonPause();
  CommonPause();
  CommonPause();
  XtDestroyWidget (Notebook);
  CommonPause();

  /* 
   * destroy the widget 
   */



  CommonPause();

  XtAppMainLoop (app_context);
    
}
예제 #10
0
void
main(unsigned int argc, char **argv)
{
    Cardinal n;
    Arg      args[MAX_ARGS];
    Boolean async_in;  
    Boolean wfw_in;    
    int     wTo_in;
  

    CommonTestInit(argc, argv);
      
    /*
     * test case for PIR 3058 
     * Create a Shell with TWO children - only one is managed.  The
     * SubstructureNotify eventhandler on the shell confuses it when
     * the UNmanaged child is getting resized.  See report for details.
     */
    XtAddEventHandler(Shell1, SubstructureNotifyMask, True, Junk, NULL);

    BBoard1 = XmCreateBulletinBoard(Shell1, "BBoard1", NULL, 0);

    PushButton1 = XmCreatePushButton(Shell1, "PushButton1", NULL, 0);
    XtManageChild(PushButton1);
    
    XtAddCallback(PushButton1, XmNactivateCallback, activatePB, NULL);
    /* end of test case for PIR 3058 */

    XtRealizeWidget(Shell1);


    CommonPause();

    /*
     * This case shows that it works as expected when there isn't
     * an event handler registered for SubstructureNotify (PIR 3058)
     */
    XtRemoveEventHandler(Shell1, SubstructureNotifyMask, True, Junk, NULL);
    XtDestroyWidget(PushButton1);
    XtDestroyWidget(BBoard1);

    BBoard1 = XmCreateBulletinBoard(Shell1, "BBoard1", NULL, 0);

    PushButton1 = XmCreatePushButton(Shell1, "PushButton1", NULL, 0);
    XtManageChild(PushButton1);
    
    XtAddCallback(PushButton1, XmNactivateCallback, activatePB, NULL);

    CommonPause();

/*
 * Text for CR 2940 - Check for changes in BulletinBoard noResize resource.
 */
    XtDestroyWidget(PushButton1);
    XtDestroyWidget(BBoard1);

    n = 0;
    toplevelShell = XtAppCreateShell("topLevelShell", "TopLevelShell",
                                     topLevelShellWidgetClass, display,
                                     args, n);

    BBoard1 = XmCreateBulletinBoard(toplevelShell, "BBoard1", NULL, 0);
    PushButton1 = XmCreatePushButton(BBoard1, "PushButton1", NULL, 0);
    XtManageChild(PushButton1);
    XtAddCallback(PushButton1, XmNactivateCallback, ChangeNoResize, NULL);

    XtManageChild(BBoard1);
    XtRealizeWidget(toplevelShell);

    CommonPause();

    XtDestroyWidget (toplevelShell);
    /* make output on term window look nicer */
    printf ("\n");
    printf ("\n");
    printf ("\n");

    CommonPause();

   /* begin test for CR 1684 */

    bool_str[0] = "False";
    bool_str[1] = "True";
    result_str[0] = "Failed";
    result_str[1] = "Passed";


    /* Test 1 - Initialization */
  async_in = True;
  wfw_in = False;
  wTo_in = 0;
  
  n=0;
  XtSetArg(args[n], XmNuseAsyncGeometry, async_in); n++;
  XtSetValues (Shell1, args, n);
  
  n=0;
  BBoard1 = XmCreateBulletinBoard(Shell1, "BBoard1", args, n);

  n=0;
  PushButton1 = XmCreatePushButton(BBoard1, "PushButton1", args, n);

  printf("Test1: Initialize UseAsyncGeo to True\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

/* Test 2 - Using SetValues, return UseAsyncGeo to False */
  async_in = False;
  wfw_in = True;
  wTo_in = 5000;
  n = 0;
  XtSetArg(args[n], XmNuseAsyncGeometry, async_in); n++;
  XtSetValues(Shell1, args, n);

  printf("\nTest 2: Change UseAsyncGeo to False using SetValues\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

/* Test 3 - Using SetValues, return UseAsyncGeo to True */
  async_in = True;
  wfw_in = False;
  wTo_in = 0;
  n = 0;
  XtSetArg(args[n], XmNuseAsyncGeometry, async_in); n++;
  XtSetValues(Shell1, args, n);
 
  printf("\nTest 3: Change UseAsyncGeo to True using SetValues\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

/* Test 4 - Using SetValues, change UseAsyncGeo to True and WaitForWm
            to False and WmTimeout to 1000 */
  async_in = False;
  wfw_in = False;
  wTo_in = 1000;
  n = 0;
  XtSetArg(args[n], XmNuseAsyncGeometry, False); n++;
  XtSetArg(args[n], XmNwaitForWm, False); n++;
  XtSetArg(args[n], XmNwmTimeout, 1000); n++;
  XtSetValues(Shell1, args, n);

  printf("\nTest 4: Change UseAsyncGeo to False, WaitForWm to False and WmTimeout to 1000 using SetValues\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

   CommonPause();

/* Test 5 - Using SetValues, change UseAsyncGeo to True, WaitForWm to Ture,
            and WmTimeout to 2000. */
  async_in = True;
  wfw_in = False;
  wTo_in = 0;
  n = 0;
  XtSetArg(args[n], XmNuseAsyncGeometry, async_in); n++;
  XtSetArg(args[n], XmNwaitForWm, True); n++;
  XtSetArg(args[n], XmNwmTimeout, 2000); n++;
  XtSetValues(Shell1, args, n);

  printf("\nTest 5: Change UseAsyncGeo to True, WaitForWm to True, and WmTimeout to 2000 using SetValues\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

/* Test 6 - Using SetValues, change UseAsyncGeo to False to check the
            results of Test 5 */
  async_in = False;
  wfw_in = True;
  wTo_in = 2000;
  n = 0;
  XtSetArg(args[n], XmNuseAsyncGeometry, async_in); n++;
  XtSetValues(Shell1, args, n);

  printf("\nTest 6: Change UseAsyncGeo to False to verify values loaded in Test 5 using SetValues\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

/* Test 7 - Using SetValues, change UseAsyncGeo to True. Then change WaitForWm 
            to False and WmTimeout to 1000. */
  async_in = True;
  wfw_in = False;
  wTo_in = 0;
  n = 0;
  XtSetArg(args[n], XmNuseAsyncGeometry, async_in); n++;
  XtSetValues(Shell1, args, n);

  n = 0;
  XtSetArg(args[n], XmNwaitForWm, False); n++;
  XtSetArg(args[n], XmNwmTimeout, 1000); n++;
  XtSetValues(Shell1, args, n);

  printf("\nTest 7: Change UseAsyncGeo to True.  Then change WaitForWm to False, and WmTimeout to 1000 afterwards\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

/* Test 8 - Using SetValues, change UseAsyncGeo to False to check the 
            previously loaded data */
  async_in = False;
  wfw_in = False;
  wTo_in = 1000;
  n = 0;
  XtSetArg(args[n], XmNuseAsyncGeometry, async_in); n++;
  XtSetValues(Shell1, args, n);

  printf("\nTest 8: Change UseAsyncGeo to False to check the previously loaded data\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

/* Test 9 - Using SetValues, change WaitForWm to True, and WmTimeout to 2000. */
  async_in = False;
  wfw_in = True;
  wTo_in = 2000;
  n = 0;
  XtSetArg(args[n], XmNwaitForWm, True); n++;
  XtSetArg(args[n], XmNwmTimeout, 2000); n++;
  XtSetValues(Shell1, args, n);

  printf("\nTest 9: Change WaitForWm to True and WmTimeout to 2000 while UseAsyncGeo is False using SetValues\n");
  GetAndPrint(async_in, wfw_in, wTo_in);

  /* End test for CR 1684 */

  CommonPause();
  XtAppMainLoop(app_context);

}
예제 #11
0
Widget XmCreateBulletinBoard_TNK(Widget parent, String name, ArgList arglist,Cardinal argcount) { return XmCreateBulletinBoard(parent, name, arglist, argcount);}
예제 #12
0
파일: test4.c 프로젝트: melanj/lesstif
int
main(int argc, char **argv)
{
  Widget toplevel, widget, bb, list;
  XtAppContext app;
  XmString item;
  Arg args[10];
  int n = 0;

  XtSetLanguageProc(NULL, NULL, NULL);

  toplevel = XtVaAppInitialize(&app, "ComBox", NULL, 0, &argc, argv, NULL, NULL);

  bb = XmCreateBulletinBoard(toplevel, "bb", NULL, 0);
  XtManageChild(bb);

  widget = XmCreateDropDownComboBox(bb, "combo", args, n);

#if 0
  /* causes a core dump and reports a warning */
  XtDestroyWidget(CB_EditBox(widget));
  /* causes a core dump */
  XtDestroyWidget(CB_List(widget));
  /* reports warning if list or edit box are unmanaged */
  XtUnmanageChild(CB_List(widget));
  XtUnmanageChild(CB_EditBox(widget));
  /* does not report warning if scrolled window is unmanaged */
  XtUnmanageChild(CB_ScrolledW(widget));
#endif

  /* use list routine to add items */
  list = CB_List(widget);

  item = XmStringCreateSimple("Item 1");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 2");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 3");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 4");
  XmListAddItem(list,item,0);
  item = XmStringCreateSimple("Item 5");
  XmListAddItem(list,item,0);

  XmComboBoxUpdate(widget);

  XtManageChild(widget);

  XtRealizeWidget(toplevel);

#if 1
  XdbPrintResources(CB_ListShell(widget));
  XdbPrintResources(widget);
#endif

  check_geometry(widget);

  LessTifTestMainLoop(toplevel);

  exit(0);
}
예제 #13
0
int 
main (int argc, char **argv)
{
  Widget             workRegion, simpleWidget, simpleGadget;
  register int       n;
  Arg                args[MAX_ARGS];
  Position           x, y;
  Dimension          width, height, border_width;

  CommonTestInit(argc, argv);

  n = 0;
  XtSetArg(args[n], XmNwidth,  200);  n++;
  XtSetArg(args[n], XmNheight, 200);  n++;
  XtSetValues(Shell1, args, n);

  XtRealizeWidget(Shell1);

  /* set up a manager */
  n = 0;
  XtSetArg(args[n],XmNnoResize, True);  n++;
  XtSetArg(args[n],XmNresizePolicy, XmRESIZE_NONE);  n++;
  XtSetArg(args[n],XmNwidth, 200);  n++;
  XtSetArg(args[n],XmNheight, 200);  n++;
  workRegion = XmCreateBulletinBoard(Shell1,"WorkRegion", args, n);

  XtManageChild(workRegion);

  /* Instantiate a PushButton widget. */
  n = 0;
  XtSetArg(args[n],XmNrecomputeSize, False);  n++;
  XtSetArg(args[n],XmNshadowThickness, 5);  n++;
  XtSetArg(args[n],XmNmarginWidth, 5);  n++;
  XtSetArg(args[n],XmNx, 5);  n++;
  XtSetArg(args[n],XmNy, 5);  n++;
  XtSetArg(args[n],XmNborderWidth, 5);  n++;
  XtSetArg(args[n],XmNwidth, 90);  n++;
  XtSetArg(args[n],XmNheight, 50);  n++;
  simpleWidget = XmCreatePushButton(workRegion,"Widget", args, n);
  XtManageChild(simpleWidget);
  CommonPause();

  /* move the child widget */
  XmeConfigureObject(simpleWidget, 30, 30, 90, 50, 5);
  XtVaGetValues(simpleWidget,
		XmNx, &x,
		XmNy, &y,
		NULL);
  if (x != 30 || y !=30)
    printf("ERROR: incorrect position values\n");
  CommonPause();

  /* change the child widget's border */
  XmeConfigureObject(simpleWidget, 30, 30, 90, 50, 25);
  XtVaGetValues(simpleWidget,
		XmNborderWidth, &border_width,
		NULL);
  if (border_width != 25)
    printf("ERROR: incorrect border value\n");
  CommonPause();

  /* change the size of the widget */
  XmeConfigureObject(simpleWidget, 30, 30, 150, 100, 5);
  XtVaGetValues(simpleWidget,
		XmNheight, &height,
		XmNwidth, &width,
		NULL);
  if (width != 150 || height != 100)
    printf("ERROR: incorrect size values\n");
  CommonPause();

  /* Instantiate a PushButton gadget. */
  XtDestroyWidget(simpleWidget);
  n = 0;
  XtSetArg(args[n],XmNrecomputeSize, False);  n++;
  XtSetArg(args[n],XmNshadowThickness, 5);  n++;
  XtSetArg(args[n],XmNmarginWidth, 5);  n++;
  XtSetArg(args[n],XmNx, 5);  n++;
  XtSetArg(args[n],XmNy, 5);  n++;
  XtSetArg(args[n],XmNborderWidth, 5);  n++;
  XtSetArg(args[n],XmNwidth, 90);  n++;
  XtSetArg(args[n],XmNheight, 50);  n++;
  simpleGadget = XmCreatePushButtonGadget(workRegion,"Gadget", args, n);
  XtManageChild(simpleGadget);
  CommonPause();

  /* move the child gadget */
  XmeConfigureObject(simpleGadget, 80, 30, 90, 50, 5);
  XtVaGetValues(simpleGadget,
		XmNx, &x,
		XmNy, &y,
		NULL);
  if (x != 80 || y !=30)
    printf("ERROR: incorrect position values\n");
  CommonPause();

  /* change the child gadget's border */
  XmeConfigureObject(simpleGadget, 30, 30, 90, 50, 25);
  XtVaGetValues(simpleGadget,
		XmNborderWidth, &border_width,
		NULL);
  if (border_width != 25)
    printf("ERROR: incorrect border value: %d\n",border_width);
  CommonPause();

  /* change the size of the gadget */
  XmeConfigureObject(simpleGadget, 30, 30, 150, 100, 5);
  XtVaGetValues(simpleGadget,
		XmNheight, &height,
		XmNwidth, &width,
		NULL);
  if (width != 150 || height != 100)
    printf("ERROR: incorrect size values\n");
  CommonPause();

  CommonPause(); /* quit */
  XtAppMainLoop(app_context);
  XtDestroyWidget(Shell1);
}
예제 #14
0
int main(int argc, char **argv)
{
    register int  n;
    Arg args[MAX_ARGS];
    XmString tcs;
    void PostPopup();
    void ButtonCB();

    CommonTestInit(argc, argv);
    
    n = 0;
    XtSetArg(args[n], XmNwidth,  200);  n++;
    XtSetArg(args[n], XmNheight, 40);   n++;
    XtSetValues(Shell1, args, n);

    XtRealizeWidget(Shell1);

    Label = CreateLabel("Press MB3 to dismiss PopupMenu", Shell1);

    /*
    **  PopupMenu1
    */

    n = 0;
    XtSetArg(args[n], XmNx,  100);  n++;
    XtSetArg(args[n], XmNy, 100);   n++;
    XtSetArg(args[n], XmNmenuAccelerator, NULL); n++;
    PopupMenu1 = XmCreatePopupMenu(Label, "popupMenu", args, n);

    /*
    **  Menu1
    */

    Label1 = CreateLabel("Menu1", PopupMenu1);
    Separator1 = CreateSeparator(PopupMenu1, "Separator1");
    PushBtn1 = CreatePushButton("PushButton1", PopupMenu1);
    ToggleBtn1 = CreateToggle("Toggle1", PopupMenu1);
    XtManageChild(PopupMenu1);

    CommonPause();
    XtDestroyWidget(PopupMenu1);
    
    n =0;
    XtSetArg(args[n], XmNrowColumnType, XmMENU_POPUP); n++;
    PopupMenu2 = XmCreateRowColumn(Shell1, "popupMenu2", args, n);

    /*
    **  Menu2
    */

    Label2 = CreateLabel("Menu2", PopupMenu2);
    Separator2 = CreateSeparator(PopupMenu2, "Separator2");
    PushBtn2 = CreatePushButton("PushButton2", PopupMenu2);
    ToggleBtn2 = CreateToggle("Toggle2", PopupMenu2);
    XtManageChild(PopupMenu2);

    CommonPause();

    XtDestroyWidget(Label);
    XtDestroyWidget(PopupMenu2);

    /*
     *  Test 3 for PIR 2669
     */

    n = 0;
    testingArea = XmCreateBulletinBoard(Shell1, "PushButtonHere", args, n);

    n = 0;
    XtSetArg(args[n], XmNx, 10); n++;
    XtSetArg(args[n], XmNy, 30); n++;
    MainButton = XmCreatePushButton(testingArea, "button0", args, n);
    XtAddCallback(MainButton, XmNactivateCallback, ButtonCB, (XtPointer) 0); 
    XtManageChild(MainButton);

    popup = XmCreatePopupMenu(testingArea, "Popups", NULL, 0);
    XtAddEventHandler(testingArea, ButtonPressMask, FALSE, PostPopup, popup);
    
    XmAddToPostFromList(popup, MainButton);
    
    push = XmCreatePushButton(popup, "button1", NULL, 0);
    XtAddCallback(push, XmNactivateCallback, ButtonCB, (XtPointer) 1);
    XtManageChild(push);

    push = XmCreatePushButton(popup, "button2", NULL, 0);
    XtAddCallback(push, XmNactivateCallback, ButtonCB, (XtPointer) 2);
    XtManageChild(push);

    push = XmCreatePushButton(popup, "button3", NULL, 0);
    XtAddCallback(push, XmNactivateCallback, ButtonCB, (XtPointer) 3);
    XtManageChild(push);
    
    XtManageChild(testingArea);
    
    CommonPause();

    XtDestroyWidget(testingArea);

    CommonPause();

    XtAppMainLoop(app_context);
}
예제 #15
0
void
main(unsigned int argc, char  **argv)
{

    register int  n;
    Arg           args[MAX_ARGS];
    XmString      tcs;
    Widget        TopShell1, TopShell2;
    Widget        BB1, BB2;
    Widget        PrimaryButton1, PrimaryButton2;
    Widget        FullAppButton1, FullAppButton2;
    Widget        SystemButton1, SystemButton2;
    Widget        ModelessButton1, ModelessButton2;

	for (n = 0; n < MAX_DIALOGS; n++) {

		ModelessDia[n].Dialog = NULL;
		ModelessDia[n].Parent = NULL;
		ModelessDia[n].DialogIndex = -1;
		PrimaryDia[n].Dialog = NULL;
		PrimaryDia[n].Parent = NULL;
		PrimaryDia[n].DialogIndex = -1;
		FullAppDia[n].Dialog = NULL;
		FullAppDia[n].Parent = NULL;
		FullAppDia[n].DialogIndex = -1;
		SystemDia[n].Dialog = NULL;
		SystemDia[n].Parent = NULL;
		SystemDia[n].DialogIndex = -1;

	}

    CommonTestInit(argc, argv);

    n = 0;
    XtSetArg(args[n], XmNmappedWhenManaged, True);  n++;
    XtSetArg(args[n], XmNallowShellResize, True);  n++;
    XtSetArg(args[n], XmNtitle, "TopShell1"); n++;
    TopShell1 = XtCreatePopupShell("TopShell1", topLevelShellWidgetClass, 
								   Shell1, args, n);

    n = 0;
    XtSetArg(args[n], XmNmappedWhenManaged, True);  n++;
    XtSetArg(args[n], XmNallowShellResize, True);  n++;
    XtSetArg(args[n], XmNtitle, "TopShell2");         n++;
    XtSetArg(args[n], XtNgeometry, "+10+500");       n++;
    TopShell2 = XtCreatePopupShell("TopShell2", topLevelShellWidgetClass, 
								   Shell1, args, n);
   
	/* The following is for while running under automation */
	if (XtIsRealized(TopShell1)) {
		XtUnmapWidget(TopShell1);
    	XtMapWidget(TopShell1);
	}

    /* Shell 1 children */

    n = 0;
    BB1 = XmCreateBulletinBoard (TopShell1, "BB1", args, n);
    XtManageChild (BB1);
    
    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 100); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create Primary Modal from TopShell1"));
			  n++;
    PrimaryButton1 = XmCreatePushButton (BB1, "PrimaryButton1", args, n);	  
    XtManageChild (PrimaryButton1);
    XtAddCallback (PrimaryButton1, XmNactivateCallback, 
				   PostPrimaryModalDialog, TopShell1);

    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 150); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create Full App Modal from TopShell1"));
			  n++;
    FullAppButton1 = XmCreatePushButton (BB1, "FullAppButton1", args, n);	  
    XtManageChild (FullAppButton1);
    XtAddCallback (FullAppButton1,  XmNactivateCallback, 
				   PostFullAppModalDialog, TopShell1);

    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 200); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create System Modal from TopShell1"));
			  n++;
    SystemButton1 = XmCreatePushButton (BB1, "SystemButton1", args, n);	  
    XtManageChild (SystemButton1);
    XtAddCallback (SystemButton1, XmNactivateCallback, PostSystemModalDialog, 
				   TopShell1);

    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 250); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create Modeless Dialog from TopShell1"));
			  n++;
    ModelessButton1 = XmCreatePushButton (BB1, "ModelessButton1", args, n);	  
    XtManageChild (ModelessButton1);
    XtAddCallback (ModelessButton1, XmNactivateCallback, PostModelessDialog, 
				   TopShell1);

    /* Shell 2 children */

    n = 0;
    BB2 = XmCreateBulletinBoard (TopShell2, "BB2", args, n);    
    XtManageChild (BB2);

    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 100); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create Primary Modal from TopShell2"));
			  n++;
    PrimaryButton2 = XmCreatePushButton (BB2, "PrimaryButton2", args, n);	  
    XtManageChild (PrimaryButton2);
    XtAddCallback (PrimaryButton2, XmNactivateCallback, PostPrimaryModalDialog, 
				   TopShell2);

    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 150); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create Full App Modal from TopShell2"));
			  n++;
    FullAppButton2 = XmCreatePushButton (BB2, "FullAppButton2", args, n);	  
    XtManageChild (FullAppButton2);
    XtAddCallback (FullAppButton2,  XmNactivateCallback, 
				   PostFullAppModalDialog, TopShell2);

    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 200); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create System Modal from TopShell2"));
			  n++;
    SystemButton2 = XmCreatePushButton (BB2, "SystemButton2", args, n);	  
    XtManageChild (SystemButton2);
    XtAddCallback (SystemButton2,  XmNactivateCallback, PostSystemModalDialog, 
				   TopShell2);

    n = 0;
    XtSetArg (args[n], XmNx, 10); n++;
    XtSetArg (args[n], XmNy, 250); n++;
    XtSetArg (args[n], XmNlabelString,
	      	  XmStringCreateSimple ("Create Modeless Dialog from TopShell2"));
			  n++;
    ModelessButton2 = XmCreatePushButton (BB2, "ModelessButton2", args, n);	  
    XtManageChild (ModelessButton2);
    XtAddCallback (ModelessButton2, XmNactivateCallback, PostModelessDialog, 
				   TopShell2);

    XtRealizeWidget(TopShell1);
    XtPopup(TopShell1, XtGrabNone);
    XtRealizeWidget(TopShell2);
    XtPopup(TopShell2, XtGrabNone);

	CommonPause();

	CommonPause();

	CommonPause();

	CommonPause();

#ifndef MOTIF1_1

	CommonPause();

	Test1_2 = True;

	CommonPause();

	CommonPause();

	CommonPause();

#endif /* MOTIF1_1 */

	CommonPause();

    XtAppMainLoop(app_context);

}
예제 #16
0
파일: spin_box.c 프로젝트: fjardon/motif
void
CreateSpinBoxes(Widget parent_of_spin_box)
{
Cardinal     n;
Position     nextY;
Arg	     argList[25];
Widget       parent;
XmString     decoString;

    /*****  Set Y position for next SpinBox  *****/
    nextY = 10;

    /*****  Create BulletinBoard parent for SpinBox widgets  *****/
    n = 0;
    XtSetArg(argList[n], XmNwidth, 250); n++;
    XtSetArg(argList[n], XmNheight, 400); n++;

    parent = XmCreateBulletinBoard(parent_of_spin_box, "Parent", 
                                   argList, n);
    XtManageChild(parent);

    /****************************************************************/

    /*****
     *****  Create SpinBox spin0
     *****
     *****  Choices:  months of the year
     *****
     *****  Callbacks:
     *****    - changedSpin0 Prints string desription of callback
     *****        reason, and prints 'new' year when boundary
     *****        is crossed (January to December, decrement year;
     *****        December to January, increment year);
     *****/

    /*****  Create SpinBox parent  *****/
    n = 0;
    XtSetArg(argList[n], XmNy, nextY); n++;

    spin0 = XmCreateSpinBox(parent, "spin0", argList, n);

    /*****  Increment Y position for next SpinBox  *****/
    nextY += Y_OFFSET;

    /*****  Create XmString array of month names  *****/
    setMonths();

    /*****  Create TextField child  *****/
    n = 0;

    XtSetArg(argList[n], XmNvalues, monthValues); n++;
    XtSetArg(argList[n], XmNnumValues, 12); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmSTRING); n++;
    XtSetArg(argList[n], XmNselectionPolicy, XmSINGLE_SELECT); n++;
    XtSetArg(argList[n], XmNeditable, False); n++;

    spin0_text = XmCreateTextField(spin0, "spin0_text", argList, n);

    /*****  Manage SpinBox  *****/
    XtManageChild(spin0);

    /*****  Call changedSpin0 AFTER displayed value has changed  *****/
    XtAddCallback(spin0, XmNvalueChangedCallback, changedSpin0, (XtPointer) 0);

    /*****  Manage SpinBox child  *****/
    XtManageChild(spin0_text);

    /*****  End of SpinBox spin0  *****/



    /*****
     *****  Create SpinBox spin1
     *****
     *****  Choices:  letters of the alphabet
     *****
     *****  Callbacks:
     *****    - modifySpin1 Callback prevents spinning beyond
     *****        positions 0 (letter a) and 6 (letter g)
     *****
     *****    - changedSpin1 Sets arrow sensitivity to inhibit wrapping
     *****
     *****/

    /*****  Create SpinBox parent  *****/
    n = 0;
    XtSetArg(argList[n], XmNy, nextY); n++;
    XtSetArg(argList[n], XmNdefaultArrowSensitivity, 
                         XmARROWS_DECREMENT_SENSITIVE); n++;
    spin1 = XmCreateSpinBox(parent, "spin1", argList, n);
			   

    /*****  Increment Y position for next SpinBox  *****/
    nextY += Y_OFFSET;

    /*****  Create XmString array of single letters  *****/
    setLetters();

    /*****  Create SpinBox child  *****/
    n = 0;
    XtSetArg(argList[n], XmNvalues, letterValues); n++;
    XtSetArg(argList[n], XmNnumValues, NUM_LETTERS); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmSTRING); n++;
    XtSetArg(argList[n], XmNarrowSensitivity, 
                         XmARROWS_INCREMENT_SENSITIVE); n++;
    XtSetArg(argList[n], XmNeditable, False); n++;

    spin1_text = XmCreateTextField(spin1, "spin0_text", argList, n);
				  

    /*****  Manage SpinBox  *****/
    XtManageChild(spin1);

    /*****  Call modifySpin1 BEFORE displayed value is changed  *****/
    XtAddCallback(spin1, XmNmodifyVerifyCallback, modifySpin1, (XtPointer) 0);

    /*****  Call changedSpin1 AFTER displayed value has changed  *****/
    XtAddCallback(spin1, XmNvalueChangedCallback, changedSpin1, (XtPointer) 0);

    /*****  Manage SpinBox child  *****/
    XtManageChild(spin1_text);

    /*****  End of SpinBox spin1  *****/



    /*****
     *****  Create SpinBox spin2
     *****
     *****  Choices:  0.0000 to 0.0010 by .0002
     *****
     *****  Initial Position:  4 (displays 0.0008)
     *****
     *****  Callbacks:  none
     *****
     *****/

    /*****  Create SpinBox parent  *****/
    n = 0;
    XtSetArg(argList[n], XmNy, nextY); n++;

    spin2 = XmCreateSpinBox( parent, "spin2", argList, n );

    /*****  Increment Y position for next SpinBox  *****/
    nextY +=  Y_OFFSET;

    n = 0;
    XtSetArg(argList[n], XmNposition, 4); n++;
    XtSetArg(argList[n], XmNdecimalPoints, 4); n++;
    XtSetArg(argList[n], XmNincrementValue, 2); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmNUMERIC); n++;
    XtSetArg(argList[n], XmNeditable, False); n++;

    spin2_text = XmCreateTextField( spin2,
				    "spin2_text",
				    argList,
				    n ); 
				  

    /*****  Manage SpinBox  *****/
    XtManageChild(spin2);

    /*****  Manage SpinBox child  *****/
    XtManageChild(spin2_text);

    /*****  End of SpinBox spin2  *****/



    /*****
     *****  Create SpinBox spin3
     *****
     *****  Choices:  0.000 to 121.500 by 0.002
     *****
     *****  Callbacks:  none
     *****
     *****/

    /*****  Create SpinBox parent  *****/
    n = 0;
    XtSetArg(argList[n], XmNy, nextY); n++;
    XtSetArg(argList[n], XmNrepeatDelay, 250); n++;
    XtSetArg(argList[n], XmNarrowLayout, XmARROWS_BEGINNING); n++;

    spin3 = XmCreateSpinBox( parent,
			     "spin3",
			     argList,
			     n );
			   

    /*****  Increment Y position for next SpinBox  *****/
    nextY +=  Y_OFFSET;

    n = 0;
    XtSetArg(argList[n], XmNminimumValue, 0); n++;
    XtSetArg(argList[n], XmNdecimalPoints, 3); n++;
    XtSetArg(argList[n], XmNincrementValue, 2); n++;
    XtSetArg(argList[n], XmNmaximumValue, 121500); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmNUMERIC); n++;

    spin3_text = XmCreateTextField( spin3,
				    "spin3_text",
				    argList,
				    n ); 
				  

    /*****  Manage SpinBox  *****/
    XtManageChild(spin3);

    /*****  Manage SpinBox child  *****/
    XtManageChild(spin3_text);

    /*****  End of SpinBox spin3  *****/



    /*****
     *****  Create SpinBox spin4
     *****
     *****  Choices:  0 to 10 by 1
     *****
     *****  Callbacks:
     *****    - modifySpin4 Callback inhibits spinning below 0
     *****      at all times.  Wrapping increments the maximum value.
     *****
     *****/

    /*****  Create SpinBox parent  *****/
    n = 0;
    XtSetArg(argList[n], XmNy, nextY); n++;
    XtSetArg(argList[n], XmNarrowSize, 35); n++;
    XtSetArg(argList[n], XmNrepeatDelay, 250); n++;
    XtSetArg(argList[n], XmNinitialDelay, 500); n++;
    XtSetArg(argList[n], XmNarrowLayout, XmARROWS_SPLIT); n++;

    spin4 = XmCreateSpinBox( parent,
			     "spin4",
			     argList,
			     n );

    /*****  Increment Y position for next SpinBox  *****/
    nextY +=  Y_OFFSET;

    n = 0;
    XtSetArg(argList[n], XmNmaximumValue, 4); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmNUMERIC); n++;

    spin4_text = XmCreateTextField( spin4,
				    "spin4_text",
				    argList,
				    n ); 
				  

    /*****  Manage SpinBox  *****/
    XtManageChild(spin4);

    /*****  Call modifySpin4 BEFORE displayed value is changed  *****/
    XtAddCallback(spin4, XmNmodifyVerifyCallback, modifySpin4, (XtPointer) 0);

    /*****  Manage SpinBox child  *****/
    XtManageChild(spin4_text);

    /*****  End of SpinBox spin4  *****/



    /*****
     *****  Create SpinBox spin5
     *****
     *****  Choices:  0 to 10 by 1
     *****
     *****  Delay:  Repeat delay is 0 - displayed value only increments
     *****          or decrements ONCE each time arrow is armed
     *****
     *****  Callbacks:  none
     *****
     *****/

    /*****  Create SpinBox parent  *****/
    n = 0;
    XtSetArg(argList[n], XmNy, nextY); n++;
    XtSetArg(argList[n], XmNarrowSize, 20); n++;
    XtSetArg(argList[n], XmNrepeatDelay, 0); n++;
    XtSetArg(argList[n], XmNarrowLayout, XmARROWS_BEGINNING); n++;

    spin5 = XmCreateSpinBox( parent,
			     "spin5",
			     argList,
			     n );
			   

    /*****  Increment Y position for next SpinBox  *****/
    nextY +=  Y_OFFSET;

    n = 0;
    XtSetArg(argList[n], XmNminimumValue, 1); n++;
    XtSetArg(argList[n], XmNposition, 1); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmNUMERIC); n++;
    XtSetArg(argList[n], XmNeditable, False); n++;

    spin5_text = XmCreateTextField( spin5,
				    "spin5_text",
				    argList,
				    n ); 
				  

    /*****  Manage SpinBox  *****/
    XtManageChild(spin5);

    /*****  Manage SpinBox child  *****/
    XtManageChild(spin5_text);

    /*****  End of SpinBox spin5  *****/



    /*****
     *****  Create SpinBox spin6
     *****
     *****  This example has multiple children, including two
     *****  decoration children.  In addition, this SpinBox
     *****  includes 'chaining', the process where a change
     *****  in one child causes values to change in the child
     *****  and on or more other children.  Chaining is performed
     *****  by the valueChanged callback.
     *****
     *****  Choices:  spin6_text1 1 to 12 (months)
     *****            spin6_deco1 '/' decoration
     *****            spin6_text2 1 to 28-31 (max days varies by month)
     *****            spin6_deco2 '/' decoration
     *****            spin6_text3 0 to 99 (years)
     *****
     *****  Callbacks:
     *****    - changedSpin6 sets maximum days in month.  The month field
     *****          is chained to the day field, and the year field is
     *****          chained to the month field.  (When the day child
     *****          wraps, the month child is also changed.  When the
     *****          month child wraps, the year child is also changed.)
     *****
     *****/

    /*****  Create SpinBox parent  *****/
    n = 0;
    XtSetArg(argList[n], XmNy, nextY); n++;
    XtSetArg(argList[n], XmNinitialDelay, 0); n++;
    XtSetArg(argList[n], XmNrepeatDelay, 150); n++;

    spin6 = XmCreateSpinBox( parent,
			     "spin6",
			     argList,
			     n );
			   

    /*****  Increment Y position for next SpinBox  *****/
    nextY +=  Y_OFFSET;

    /*****  Create SpinBox child  *****/
    n = 0;
    XtSetArg(argList[n], XmNwidth, 30); n++;
    XtSetArg(argList[n], XmNposition, thisMM - 1); n++;
    XtSetArg(argList[n], XmNminimumValue, 1); n++;
    XtSetArg(argList[n], XmNmaximumValue, 12); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmNUMERIC); n++;

    spin6_text1 = XmCreateTextField( spin6,
				     "spin6_text1",
				     argList,
				     n ); 
				   

    /*****  Create SpinBox decoration child  *****/
    n = 0;
    decoString = XmStringCreateLtoR("/", XmSTRING_DEFAULT_CHARSET);
    XtSetArg(argList[n], XmNlabelString, decoString); n++;

    spin6_deco1 = XmCreateLabel( spin6,
			         "spin6_deco1",
			         argList,
			         n );

    /*****  Create SpinBox child  *****/
    n = 0;
    XtSetArg(argList[n], XmNwidth, 30); n++;
    XtSetArg(argList[n], XmNposition, thisDD - 1); n++;
    XtSetArg(argList[n], XmNminimumValue, 1); n++;
    XtSetArg(argList[n], XmNmaximumValue, 31); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmNUMERIC); n++;

    spin6_text2 = XmCreateTextField( spin6,
				     "spin6_text2",
				     argList,
				     n ); 

    /*****  Create SpinBox decoration child  *****/
    n = 0;
    decoString = XmStringCreateLtoR("/", XmSTRING_DEFAULT_CHARSET);
    XtSetArg(argList[n], XmNlabelString, decoString); n++;
    spin6_deco2 = XmCreateLabel( spin6,
			         "spin6_deco2",
			         argList,
			         n );
			       

    XmStringFree(decoString);

    /*****  Create SpinBox child  *****/
    n = 0;
    XtSetArg(argList[n], XmNwidth, 30); n++;
    XtSetArg(argList[n], XmNposition, thisYY); n++;
    XtSetArg(argList[n], XmNmaximumValue, 99); n++;
    XtSetArg(argList[n], XmNspinBoxChildType, XmNUMERIC); n++;
    

    spin6_text3 = XmCreateTextField( spin6,
				     "spin6_text3",
				     argList,
				     n ); 

    /*****  Manage SpinBox  *****/
    XtManageChild(spin6);

    /*****  Call changedSpin6 AFTER displayed value has changed  *****/
    XtAddCallback(spin6, XmNvalueChangedCallback, changedSpin6, (XtPointer) 0);

    /*****  Manage SpinBox children  *****/
    XtManageChild(spin6_text1);
    XtManageChild(spin6_deco1);
    XtManageChild(spin6_text2);
    XtManageChild(spin6_deco2);
    XtManageChild(spin6_text3);

    /*****  End of SpinBox spin6  *****/
}