Ejemplo n.º 1
0
GuiScale GuiScale_create (GuiForm parent, int left, int right, int top, int bottom,
	int minimum, int maximum, int value, unsigned long flags)
{
	GuiScale me = Thing_new (GuiScale);
	my d_shell = parent -> d_shell;
	my d_parent = parent;
	#if gtk
		my d_widget = gtk_hscrollbar_new (NULL);
		gtk_range_set_range (GTK_RANGE (my d_widget), 0, 1000);
		GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (my d_widget));
		adj -> page_size = 150;
		gtk_adjustment_changed (adj);
		_GuiObject_setUserData (my d_widget, me);
		my v_positionInForm (my d_widget, left, right, top, bottom, parent);
		g_signal_connect (G_OBJECT (my d_widget), "destroy", G_CALLBACK (_GuiGtkScale_destroyCallback), me);
	#elif cocoa
	#elif motif
		my d_widget = XmCreateScale (parent -> d_widget, "scale", NULL, 0);
		_GuiObject_setUserData (my d_widget, me);
		my v_positionInForm (my d_widget, left, right, top, bottom, parent);
		XtVaSetValues (my d_widget, XmNorientation, XmHORIZONTAL,
			XmNminimum, minimum, XmNmaximum, maximum, XmNvalue, value, //XmNy, 300,
			#ifdef macintosh
				//XmNscaleWidth, 340,
			#endif
			NULL);
	#endif
	return me;
}
Ejemplo n.º 2
0
Archivo: motif.c Proyecto: 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);
}
Ejemplo n.º 3
0
 Widget scalev(Widget iw_parent,Widget iw_its,int imin,int imax,
		int inow,int iwid,int ihi,int ixdum,int iydum)
{   
    Arg          args[MAX_ARGS];    /* arg list  */
    Widget       iw_lab;
    Widget       iw_rowcolh;
    int          n;

    if (iw_its == (Widget)0) 
    { 
    	/* Create scale widget */
        n = 0;
        Setbgfg(args, MAX_ARGS, &n);       // Handles BGFG Args
    	XtSetArg(args[n], XmNwidth, iwid);              n++;                  
    	XtSetArg(args[n], XmNheight, ihi);              n++;              
    	XtSetArg(args[n], XmNscaleWidth, iwid-30);      n++;          
    	XtSetArg(args[n], XmNscaleHeight, ihi);         n++;       
    	XtSetArg(args[n], XmNminimum, imin);            n++;              
    	XtSetArg(args[n], XmNmaximum, imax);            n++;            
    	XtSetArg(args[n], XmNdecimalPoints, 0);         n++;            
    	XtSetArg(args[n], XmNvalue, inow);              n++;                
    	XtSetArg(args[n], XmNorientation, XmVERTICAL);  n++;       
    	XtSetArg(args[n], XmNshowValue, TRUE);          n++;         
     	XtSetArg(args[n], XmNx, ixdum);                 n++;                
    	XtSetArg(args[n], XmNy, iydum);                 n++;             

    	iw_its = XmCreateScale(iw_parent, "iw_scale", args, n);
    }

    else 
    { /* Alter scale size in existing widget */

    	XtSetArg(args[0], XmNminimum, imin);       
    	XtSetArg(args[1], XmNmaximum, imax);       
    	XtSetArg(args[2], XmNvalue,   inow);
       
    	XtSetValues(iw_its, args, 3);
    }

 XtManageChild(iw_its);
 return iw_its;
 }
Ejemplo n.º 4
0
main(int argc, char **argv)
{
	Widget shell, rowcolumn, scale, pushbutton, label1, label2, text;
	Widget paned, text2;
	int n, i;
	Widget widlist[100];
	Widget emacscli[100];
	Arg args[100];
	int no_ews = 1;
	char buf[100];

	if (argc > 1)
		no_ews = atoi(argv[1]);

	shell = XtAppInitialize(&xt_app_con, "Testmotif", NULL, 0,
				&argc, argv, NULL, NULL, 0);

	rowcolumn = XmCreateRowColumn(shell, "rowcolumn", NULL, 0);
	XtManageChild(rowcolumn);

	n = 0;
	XtSetArg(args[n], XmNtraversalOn, TRUE);
	n++;
#if 0
	label1 = XmCreateLabel(rowcolumn, "label1", args, n);
#endif
	label1 = XtVaCreateWidget("label1", xmLabelWidgetClass, rowcolumn,
				  XmNwidth, 50, XmNheight, 30,
				  XmNtraversalOn, TRUE, NULL);
	label2 = XmCreateLabel(rowcolumn, "label2", NULL, 0);
	scale = XmCreateScale(rowcolumn, "scale", NULL, 0);
	XtAddCallback(scale, XmNvalueChangedCallback, ScaleValueChangedCB,
		      label1);
	paned = XmCreatePanedWindow(rowcolumn, "paned", NULL, 0);
	n = 0;
	widlist[n++] = label1;
	widlist[n++] = label2;
	widlist[n++] = scale;
	widlist[n++] = paned;
	XtManageChildren(widlist, n);

	pushbutton = XmCreatePushButton(paned, "pushbutton", NULL, 0);
	text = XmCreateText(paned, "text", NULL, 0);
	for (i = 0; i < no_ews; i++) {
		int sz = snprintf(buf, sizeof(buf), "extcli%d", i);
		assert(sz>=0 && sz < sizeof(buf));
		emacscli[i] =
		    XtVaCreateWidget(buf, externalClientWidgetClass, paned,
				     XmNwidth, 500, XmNheight, 200,
				     XmNtraversalOn, TRUE,
				     NULL);
	}
	text2 = XmCreateText(paned, "text2", NULL, 0);
	n = 0;
	widlist[n++] = pushbutton;
	widlist[n++] = text;
	for (i = 0; i < no_ews; i++)
		widlist[n++] = emacscli[i];
	widlist[n++] = text2;
	XtManageChildren(widlist, n);

	XtRealizeWidget(shell);

	{
		XmString lab;
		char labarr[1000];
		char tmpbuf[50];

		strcpy(labarr, "window:");
		for (i = 0; i < no_ews; i++) {
			int sz = snprintf(tmpbuf, sizeof(tmpbuf),
					  " %d", XtWindow(emacscli[i]));
			assert(sz>=0 && sz<sizeof(tmpbuf));
			strcat(labarr, tmpbuf);
		}
		lab = XmStringCreateLocalized(labarr);
		XtVaSetValues(label2, XmNlabelString, lab, NULL);
		XmStringFree(lab);
	}

	XtAppMainLoop(xt_app_con);
}
Ejemplo n.º 5
0
Widget XmCreateScale_TNK(Widget parent, String name, ArgList arglist,Cardinal argcount) { return XmCreateScale(parent, name, arglist, argcount);}
Ejemplo n.º 6
0
Widget CreatePcpTools (Widget FM)
/************************************************************************
*
*_Title CreatePcpTools - Create PCP tools at bottom of display window.
*
*_Args  Type   Variable                 I/O     Description
*_Parm  Widget  FM                      I       Main Form id 
*_Parm  Widget  CreatePcpTools          O       Output PCP tool widget id
 
*_Hist  Nov 10 2001 Janet Barrett, USGS Flagstaff, Original Version
*
*_End
***********************************************************************/


{
  Widget liteClue;
  Widget FM2;
  Widget RC,RC1,RC2,RC3,RC4,RC5,RC6,RC7;
  Widget PB;
  Widget RB;
  Widget LB;
  Widget FR1,FR2,FR,FRL,FRR;
  static Widget pcplist[15];
  Pixmap pmap;
  unsigned long fg,bg;
  unsigned long fg2,bg2;
  XmString xstring;
  char *sptr;
  XFontStruct *font1;
  XmFontList fontlist;
  XColor closest;
  XColor exact;

  font1 = XLoadQueryFont (xinfo.display,
          "-adobe-courier-medium-r-normal--12-100-100-100-m-90-iso8859-1");
  fontlist = XmFontListCreate (font1,"charset1");

  sptr = (char *) GBLwork.work[0];

  bg2 = WhitePixelOfScreen (xinfo.screen);
  fg2 = BlackPixelOfScreen (xinfo.screen);

  liteClue = XtCreatePopupShell("popup_shell",xcgLiteClueWidgetClass,
             xinfo.topShell,NULL,0);
  XAllocNamedColor(xinfo.display,xinfo.cmap,"lightyellow",
                   &closest,&exact);
  XtVaSetValues (liteClue,XmNbackground,closest.pixel,NULL);
  XtVaSetValues (liteClue,XmNforeground,fg2,NULL);

/**************************************************************************
* Get the background and foreground colors used by the parent widget and
* then create the row/column for the tool bar
**************************************************************************/

  XtVaGetValues (FM,XmNbackground,&bg,
                    XmNforeground,&fg,
                    NULL);

  FM2 = XmCreateForm (FM,"PcpTools",NULL,0);

  FRL = XmCreateFrame (FM2,"FRL",NULL,0);
  XtVaSetValues (FRL,XmNshadowType,XmSHADOW_ETCHED_IN,
                    XmNtopAttachment,XmATTACH_FORM,
                    XmNbottomAttachment,XmATTACH_FORM,
                    XmNleftAttachment,XmATTACH_FORM,
/*		    XmNmarginHeight,5,
		    XmNmarginWidth,5,*/
		    NULL);
  XtManageChild (FRL);

  FRR = XmCreateFrame (FM2,"FRR",NULL,0);
  XtVaSetValues (FRR,XmNshadowType,XmSHADOW_ETCHED_IN,
                    XmNtopAttachment,XmATTACH_FORM,
                    XmNbottomAttachment,XmATTACH_FORM,
                    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,FRL,
                    XmNrightAttachment,XmATTACH_FORM,
/*		    XmNmarginHeight,5,
		    XmNmarginWidth,5,*/
		    NULL);
  XtManageChild (FRR);

  RC = XmCreateRowColumn (FRL,"RC",NULL,0);
  XtVaSetValues (RC,XmNorientation,XmHORIZONTAL,
                 NULL);
  XtManageChild (RC);

  RC1 = XmCreateRowColumn (RC,"RC1",NULL,0);
  XtVaSetValues (RC1,XmNorientation,XmVERTICAL,
/*		 XmNspacing,5,*/
		 XmNtopAttachment,XmATTACH_WIDGET,
		 XmNtopWidget,RC,
		 XmNbottomAttachment,XmATTACH_WIDGET,
		 XmNbottomWidget,RC,
		 XmNleftAttachment,XmATTACH_WIDGET,
		 XmNleftWidget,RC,
/*		 XmNmarginHeight,5,
		 XmNmarginWidth,25,*/
                 NULL);
  XtManageChild (RC1);

  RC2 = XmCreateRowColumn (RC1,"RC2",NULL,0);
  XtVaSetValues (RC2,XmNorientation,XmHORIZONTAL,
		 XmNspacing,6,
		 XmNtopAttachment,XmATTACH_WIDGET,
		 XmNtopWidget,RC1,
		 XmNleftAttachment,XmATTACH_WIDGET,
		 XmNleftWidget,RC1,
		 XmNrightAttachment,XmATTACH_WIDGET,
		 XmNrightWidget,RC1,
                 NULL);
  XtManageChild (RC2);

  RC3 = XmCreateRowColumn (RC1,"RC3",NULL,0);
  XtVaSetValues (RC3,XmNorientation,XmHORIZONTAL,
/*		 XmNspacing,120,*/
		 XmNspacing,13,
		 XmNtopAttachment,XmATTACH_WIDGET,
		 XmNtopWidget,RC2,
		 XmNleftAttachment,XmATTACH_WIDGET,
		 XmNleftWidget,RC1,
		 XmNbottomAttachment,XmATTACH_WIDGET,
		 XmNbottomWidget,RC1,
		 XmNrightAttachment,XmATTACH_WIDGET,
		 XmNrightWidget,RC1,
                 NULL);
  XtManageChild (RC3);

  FR = XmCreateFrame (RC1,"FR",NULL,0);
  XtVaSetValues (FR,XmNshadowType,XmSHADOW_ETCHED_IN,
                    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,RC3,
                    XmNbottomAttachment,XmATTACH_WIDGET,
		    XmNbottomWidget,RC1,
                    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC1,
                    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC1,
/*		    XmNmarginHeight,5,
		    XmNmarginWidth,5,*/
		    NULL);
  XtManageChild (FR);

  RC4 = XmCreateRowColumn (FR,"RC4",NULL,0);
  XtVaSetValues (RC4,XmNorientation,XmHORIZONTAL,
		 XmNradioBehavior,True,
		 XmNradioAlwaysOne,True,
                 NULL);
  XtManageChild (RC4);

  RC5 = XmCreateRowColumn (FRR,"RC5",NULL,0);
  XtVaSetValues (RC5,XmNorientation,XmVERTICAL,
/*		 XmNspacing,10,*/
		 XmNtopAttachment,XmATTACH_WIDGET,
		 XmNtopWidget,FRR,
		 XmNleftAttachment,XmATTACH_WIDGET,
		 XmNleftWidget,FRR,
		 XmNrightAttachment,XmATTACH_WIDGET,
		 XmNrightWidget,FRR,
		 XmNbottomAttachment,XmATTACH_WIDGET,
		 XmNbottomWidget,FRR,
/*		 XmNmarginHeight,5,
		 XmNmarginWidth,35,*/
                 NULL);
  XtManageChild (RC5);

  RC7 = XmCreateRowColumn (RC5,"RC7",NULL,0);
  XtVaSetValues (RC7,XmNorientation,XmHORIZONTAL,
                 NULL);
  XtManageChild (RC7);

/*  FR1 = XmCreateFrame (RC7,"FR1",NULL,0);
  XtVaSetValues (FR1,XmNshadowType,XmSHADOW_ETCHED_IN,
                    XmNbottomAttachment,XmATTACH_WIDGET,
		    XmNbottomWidget,RC7,
                    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC7,
                    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,RC7,
		    NULL);
  XtManageChild (FR1);*/

  FR2 = XmCreateFrame (RC7,"FR2",NULL,0);
  XtVaSetValues (FR2,XmNshadowType,XmSHADOW_ETCHED_IN,
                    XmNbottomAttachment,XmATTACH_WIDGET,
		    XmNbottomWidget,RC7,
/*                    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,FR1,*/
                    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,RC7,
                    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC7,
		    NULL);
  XtManageChild (FR2);

/*  RC6 = XmCreateRowColumn (FR1,"RC6",NULL,0);
  XtVaSetValues (RC6,XmNorientation,XmHORIZONTAL,
		 XmNradioBehavior,True,
		 XmNradioAlwaysOne,True,
                 NULL);
  XtManageChild (RC6);*/

  RC7 = XmCreateRowColumn (FR2,"RC7",NULL,0);
  XtVaSetValues (RC7,XmNorientation,XmHORIZONTAL,
		 XmNradioBehavior,True,
		 XmNradioAlwaysOne,True,
                 NULL);
  XtManageChild (RC7);

/**************************************************************************
* Create the go pushbutton
**************************************************************************/

  XAllocNamedColor(xinfo.display,xinfo.cmap,"green",
                   &closest,&exact);

  pmap = XCreatePixmapFromBitmapData (xinfo.display,xinfo.root,
                              (char *)go_bits,go_width,go_height,
                              closest.pixel,bg,xinfo.depth);
/*                              fg,bg,xinfo.depth);*/

  PB = XmCreateDrawnButton (RC2,"goPB",NULL,0);
  XtVaSetValues (PB,XmNlabelPixmap,pmap,
                    XmNlabelType,XmPIXMAP,
                    XmNpushButtonEnabled,True,
                    XmNuserData,((int) V_GO_BTN),
		    XmNalignment,XmALIGNMENT_CENTER,
		    XmNwidth,31,
		    XmNheight,31,
                    NULL);
  XtManageChild (PB);
  
  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  XcgLiteClueAddWidget(liteClue,PB,"Start NR Iteration",0,0);

  pcplist[1] = PB;

/**************************************************************************
* Create the go 1 step pushbutton
**************************************************************************/

  XAllocNamedColor(xinfo.display,xinfo.cmap,"green",
                   &closest,&exact);

  pmap = XCreatePixmapFromBitmapData (xinfo.display,xinfo.root,
                              (char *)go1_bits,go1_width,go1_height,
                              closest.pixel,bg,xinfo.depth);
/*                              fg,bg,xinfo.depth);*/

  PB = XmCreateDrawnButton (RC2,"go1PB",NULL,0);
  XtVaSetValues (PB,XmNlabelPixmap,pmap,
                    XmNlabelType,XmPIXMAP,
                    XmNpushButtonEnabled,True,
                    XmNuserData,((int) V_GO1_BTN),
		    XmNalignment,XmALIGNMENT_CENTER,
		    XmNwidth,31,
		    XmNheight,31,
                    NULL);
  XtManageChild (PB);
  
  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  XcgLiteClueAddWidget(liteClue,PB,"Do 1 NR Step",0,0);
  pcplist[2] = PB;

/**************************************************************************
* Create the pause pushbutton
**************************************************************************/

  pmap = XCreatePixmapFromBitmapData (xinfo.display,xinfo.root,
                              (char *)pause_bits,pause_width,pause_height,
                              fg,bg,xinfo.depth);

  PB = XmCreateDrawnButton (RC2,"pausePB",NULL,0);
  XtVaSetValues (PB,XmNlabelPixmap,pmap,
                    XmNlabelType,XmPIXMAP,
                    XmNpushButtonEnabled,True,
                    XmNuserData,((int) V_PAUSE_BTN),
		    XmNalignment,XmALIGNMENT_CENTER,
 		    XmNwidth,31,
		    XmNheight,31,
                    NULL);
  XtManageChild (PB);

  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  XcgLiteClueAddWidget(liteClue,PB,"Stop NR Iteration",0,0);
  pcplist[3] = PB;

/**************************************************************************
* Create the resolution down pushbutton
**************************************************************************/

  XAllocNamedColor(xinfo.display,xinfo.cmap,"lightgoldenrod1",
                   &closest,&exact);

  pmap = XCreatePixmapFromBitmapData (xinfo.display,xinfo.root,
                              (char *)resdn_bits,resdn_width,resdn_height,
                              closest.pixel,bg,xinfo.depth);
/*                              fg,bg,xinfo.depth);*/

  PB = XmCreateDrawnButton (RC2,"resdnPB",NULL,0);
  XtVaSetValues (PB,XmNlabelPixmap,pmap,
                    XmNlabelType,XmPIXMAP,
                    XmNpushButtonEnabled,True,
                    XmNuserData,((int) V_RESDN_BTN),
		    XmNalignment,XmALIGNMENT_CENTER,
		    XmNwidth,31,
		    XmNheight,31,
                    NULL);
  XtManageChild (PB);

  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  XcgLiteClueAddWidget(liteClue,PB,"Decrease Res",0,0);
  pcplist[4] = PB;

/**************************************************************************
* Create the resolution up pushbutton
**************************************************************************/

  XAllocNamedColor(xinfo.display,xinfo.cmap,"lightskyblue",
                   &closest,&exact);

  pmap = XCreatePixmapFromBitmapData (xinfo.display,xinfo.root,
                              (char *)resup_bits,resup_width,resup_height,
                              closest.pixel,bg,xinfo.depth);
/*                              fg,bg,xinfo.depth);*/

  PB = XmCreateDrawnButton (RC2,"resupPB",NULL,0);
  XtVaSetValues (PB,XmNlabelPixmap,pmap,
                    XmNlabelType,XmPIXMAP,
                    XmNpushButtonEnabled,True,
                    XmNuserData,((int) V_RESUP_BTN),
		    XmNalignment,XmALIGNMENT_CENTER,
		    XmNwidth,31,
		    XmNheight,31,
                    NULL);
  XtManageChild (PB);

  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  XcgLiteClueAddWidget(liteClue,PB,"Increase Res",0,0);
  XtSetSensitive(PB,False);
  pcplist[5] = PB;

/**************************************************************************
* Create the Done pushbutton
**************************************************************************/

  XAllocNamedColor(xinfo.display,xinfo.cmap,"red",&closest,&exact);

  pmap = XCreatePixmapFromBitmapData (xinfo.display,xinfo.root,
                              (char *)stop_bits,stop_width,stop_height,
                              closest.pixel,bg,xinfo.depth);
/*                              fg,bg,xinfo.depth);*/

  PB = XmCreateDrawnButton (RC2,"stopPB",NULL,0);
  XtVaSetValues (PB,XmNlabelPixmap,pmap,
                    XmNlabelType,XmPIXMAP,
                    XmNpushButtonEnabled,True,
                    XmNuserData,((int) V_DONE_BTN),
		    XmNalignment,XmALIGNMENT_CENTER,
		    XmNwidth,31,
		    XmNheight,31,
                    NULL);
  XtManageChild (PB);

  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  XcgLiteClueAddWidget(liteClue,PB,"Exit Program",0,0);
  pcplist[6] = PB;

/**************************************************************************
* Create the Back (undo) pushbutton
**************************************************************************/

  pmap = XCreatePixmapFromBitmapData (xinfo.display,xinfo.root,
                              (char *)back_bits,back_width,back_height,
                              fg,bg,xinfo.depth);

  PB = XmCreateDrawnButton (RC2,"backPB",NULL,0);
  XtVaSetValues (PB,XmNlabelPixmap,pmap,
                    XmNlabelType,XmPIXMAP,
                    XmNpushButtonEnabled,True,
                    XmNuserData,((int) V_BACK_BTN),
		    XmNalignment,XmALIGNMENT_CENTER,
 		    XmNwidth,31,
		    XmNheight,31,
                    NULL);
  XtSetSensitive(PB,False);
  XtManageChild (PB);

  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  XcgLiteClueAddWidget(liteClue,PB,"Undo 1 NR Step",0,0);
  pcplist[7] = PB;

/**************************************************************************
* Create the Azimuth of Characteristics text field
**************************************************************************/
  charazLB = XmCreateLabel (RC5,"Az of Characteristics=",NULL,0);
  sprintf(sptr,"Az of Characteristics=%f",charazgrid);
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (charazLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,RC5,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (charazLB);
  XmStringFree(xstring);

/**************************************************************************
* Create the Resolution factor text field
**************************************************************************/
  fmagLB = XmCreateLabel (RC5,"Resolution factor=1",NULL,0);
  sprintf(sptr,"Resolution factor=1");
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (fmagLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,charazLB,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (fmagLB);
  XmStringFree(xstring);

/**************************************************************************
* Create the RMS right hand side and B error text field
**************************************************************************/
  rmsrhsberLB = XmCreateLabel (RC5,"RMS righthand side,B error=",NULL,0);
  sprintf(sptr,"RMS righthand side,B error=");
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (rmsrhsberLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,fmagLB,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (rmsrhsberLB);
  XmStringFree(xstring);

/**************************************************************************
* Create the Dip,Az of dip (degrees) text field
**************************************************************************/
  dipLB = XmCreateLabel (RC5,"Dip,Az of dip (degrees)=",NULL,0);
  sprintf(sptr,"Dip,Az of dip (degrees)=");
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (dipLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,rmsrhsberLB,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (dipLB);
  XmStringFree(xstring);

/**************************************************************************
* Create the Slope of plane toward Sun in degrees text field
**************************************************************************/
  plnslpLB = XmCreateLabel (RC5,"Slope of plane toward Sun (degrees)=",NULL,0);
  sprintf(sptr,"Slope of plane toward Sun (degrees)=");
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (plnslpLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,dipLB,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (plnslpLB);
  XmStringFree(xstring);

/**************************************************************************
* Create the RMS residual to fit in meters,pixels text field
**************************************************************************/
  rmsresLB = XmCreateLabel (RC5,"RMS residual to fit (m,pixels)=",NULL,0);
  sprintf(sptr,"RMS residual to fit (m,pixels)=");
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (rmsresLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,plnslpLB,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (rmsresLB);
  XmStringFree(xstring);

/**************************************************************************
* Create the Hints text field
**************************************************************************/
  hintsLB = XmCreateLabel (RC5,"Hints/Errors:",NULL,0);
  sprintf(sptr,"Hints/Errors:");
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (hintsLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,rmsresLB,
		    XmNbottomAttachment,XmATTACH_WIDGET,
		    XmNbottomWidget,RC5,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (hintsLB);
  XmStringFree(xstring);

/**************************************************************************
* Create the Errors text field
**************************************************************************/
/*  errorsLB = XmCreateLabel (RC5,"Errors:",NULL,0);
  sprintf(sptr,"Errors:");
  xstring = XmStringCreateSimple(sptr);
  XtVaSetValues (errorsLB,XmNfontList,fontlist,
                    XmNlabelString,xstring,
		    XmNtopAttachment,XmATTACH_WIDGET,
		    XmNtopWidget,hintsLB,
		    XmNleftAttachment,XmATTACH_WIDGET,
		    XmNleftWidget,RC5,
		    XmNrightAttachment,XmATTACH_WIDGET,
		    XmNrightWidget,RC5,
		    XmNmarginHeight,0,
		    XmNmarginWidth,0,
                    NULL);
  XtManageChild (errorsLB);
  XmStringFree(xstring);
*/
/**************************************************************************
* Create the Smooth (Boxcar) pushbutton
**************************************************************************/

/*  PB = XmCreatePushButton (RC5,"Smooth",NULL,0);
  XtVaSetValues (PB,XmNuserData,((int) V_SMOOTH_BTN),
		    XmNfontList,fontlist,
                    NULL);
  XtManageChild (PB);

  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  pcplist[7] = PB;*/

/**************************************************************************
* Create the Parameters pushbutton
**************************************************************************/

/*  PB = XmCreatePushButton (RC5,"Parameters",NULL,0);
  XtVaSetValues (PB,XmNuserData,((int) V_PARAM_BTN),
		    XmNfontList,fontlist,
                    NULL);
  XtManageChild (PB);

  XtAddCallback (PB,XmNactivateCallback,CBtoolPcpPB,(XtPointer) pcplist);
  pcplist[8] = PB;*/

/**************************************************************************
* Create the Relaxation slider bar
**************************************************************************/

  WMAXslider = XmCreateScale (RC3,"relaxSB",NULL,0);
  XtVaSetValues (WMAXslider,XmNminimum,0,
                    XmNmaximum,20,
		    XmNdecimalPoints,1,
		    XmNvalue,10,
		    XmNshowValue,True,
		    XmNorientation,XmHORIZONTAL,
		    XtVaTypedArg,XmNtitleString,XmRString,
		    "Relaxation",11,
		    XmNfontList,fontlist,
		    NULL);
  XtManageChild (WMAXslider);

/**************************************************************************
* Create the Maximum SOR step slider bar
**************************************************************************/

  ITMAXslider = XmCreateScale (RC3,"maxsorSB",NULL,0);
  XtVaSetValues (ITMAXslider,XmNminimum,1,
                    XmNmaximum,30,
		    XmNvalue,15,
		    XmNshowValue,True,
		    XmNorientation,XmHORIZONTAL,
		    XtVaTypedArg,XmNtitleString,XmRString,
		    "Max SOR Steps",14,
		    XmNfontList,fontlist,
		    NULL);
  XtManageChild (ITMAXslider);

/**************************************************************************
* Create the Solution Type label
**************************************************************************/

  LB = XmCreateLabel (RC4,"Solution Type:",NULL,0);
  XtVaSetValues (LB,XmNalignment,XmALIGNMENT_BEGINNING,
		    XmNfontList,fontlist,
                    NULL);
  XtManageChild (LB);

/**************************************************************************
* Create the SOR toggle button
**************************************************************************/

  SORbtn = XmCreateToggleButton (RC4,"SOR",NULL,0);
  XtVaSetValues (SORbtn,XmNuserData,((int) V_SOR_BTN),
		    XmNfontList,fontlist,
                    NULL);
  XmToggleButtonSetState(SORbtn,True,False);
  XtManageChild (SORbtn);
  pcplist[8] = SORbtn;

/**************************************************************************
* Create the DIR toggle button
**************************************************************************/

  DIRbtn = XmCreateToggleButton (RC4,"Direct",NULL,0);
  XtVaSetValues (DIRbtn,XmNuserData,((int) V_DIRECT_BTN),
		    XmNfontList,fontlist,
                    NULL);
  XtSetSensitive(DIRbtn,True);
  XtManageChild (DIRbtn);
  pcplist[9] = DIRbtn;

/**************************************************************************
* Create the CGM toggle button
**************************************************************************/

  CGMbtn = XmCreateToggleButton (RC4,"CGM",NULL,0);
  XtVaSetValues (CGMbtn,XmNuserData,((int) V_CGM_BTN),
		    XmNfontList,fontlist,
                    NULL);
  XtSetSensitive(CGMbtn,False);
  XtManageChild (CGMbtn);
  pcplist[10] = CGMbtn;

/**************************************************************************
* Create the Display label
**************************************************************************/

/*  LB = XmCreateLabel (RC6,"Display:",NULL,0);
  XtVaSetValues (LB,XmNalignment,XmALIGNMENT_BEGINNING,
		    XmNfontList,fontlist,
                    NULL);
  XtManageChild (LB);*/

/**************************************************************************
* Create the Display On toggle button
**************************************************************************/

/*  DSPONbtn = XmCreateToggleButton (RC6,"On",NULL,0);
  XtVaSetValues (DSPONbtn,XmNuserData,((int) V_DSPON_BTN),
		    XmNfontList,fontlist,
                    NULL);
  XmToggleButtonSetState(DSPONbtn,True,False);
  XtManageChild (DSPONbtn);
  pcplist[11] = DSPONbtn;*/

/**************************************************************************
* Create the Display Off toggle button
**************************************************************************/

/*  DSPOFFbtn = XmCreateToggleButton (RC6,"Off",NULL,0);
  XtVaSetValues (DSPOFFbtn,XmNuserData,((int) V_DSPOFF_BTN),
                    XmNfontList,fontlist,
		    NULL);
  XtSetSensitive(DSPOFFbtn,False);
  XtManageChild (DSPOFFbtn);
  pcplist[12] = DSPOFFbtn;*/

/**************************************************************************
* Create the Inject label
**************************************************************************/

  LB = XmCreateLabel (RC7,"Inject:",NULL,0);
  XtVaSetValues (LB,XmNalignment,XmALIGNMENT_BEGINNING,
		    XmNfontList,fontlist,
                    NULL);
  XtManageChild (LB);

/**************************************************************************
* Create the Inject Exact toggle button
**************************************************************************/

  EXACTbtn = XmCreateToggleButton (RC7,"Exact",NULL,0);
  XtVaSetValues (EXACTbtn,XmNuserData,((int) V_EXACT_BTN),
		    XmNfontList,fontlist,
                    NULL);
  XmToggleButtonSetState(EXACTbtn,True,False);
  XtManageChild (EXACTbtn);
  pcplist[13] = EXACTbtn;

/**************************************************************************
* Create the Inject Fast toggle button
**************************************************************************/

  FASTbtn = XmCreateToggleButton (RC7,"Fast",NULL,0);
  XtVaSetValues (FASTbtn,XmNuserData,((int) V_FAST_BTN),
                    XmNfontList,fontlist,
		    NULL);
  XtSetSensitive(FASTbtn,True);
  XtManageChild (FASTbtn);
  pcplist[14] = FASTbtn;

  return FM2;
}
Ejemplo n.º 7
0
/*+++++++++++++++++++++++++++++++++++++++*/
static Widget 
build_keyboardDlg(
        Widget shell )
{
    register int     i, n;
    Arg              args[MAX_ARGS];
    Widget           widget_list[12]; 
    int              count = 0;
    Widget           form;
    Pixel            foreground, background;
    Boolean          set;
    XmString         button_string[NUM_LABELS]; 
    XmString         string;

    /* Set up DialogBoxDialog button labels */
    button_string[0] = CMPSTR(_DtOkString);
    button_string[1] = CMPSTR(_DtCancelString);
    button_string[2] = CMPSTR(_DtHelpString);

    /* Create toplevel DialogBox */

    /* saveRestore
     * Note that save.poscnt has been initialized elsewhere.  
     * save.posArgs may contain information from restoreBeep().*/

    XtSetArg(save.posArgs[save.poscnt], XmNbuttonCount, NUM_LABELS);  
    save.poscnt++;
    XtSetArg(save.posArgs[save.poscnt], XmNbuttonLabelStrings, button_string);  
    save.poscnt++;
    XtSetArg (save.posArgs[save.poscnt], XmNdefaultPosition, False); 
    save.poscnt++;
    style.kbdDialog = __DtCreateDialogBoxDialog(shell, "KeyboardDialog", save.posArgs, save.poscnt);
    XtAddCallback(style.kbdDialog, XmNcallback, ButtonCB, NULL);
    XtAddCallback(style.kbdDialog, XmNhelpCallback,
            (XtCallbackProc)HelpRequestCB, (XtPointer)HELP_KEYBOARD_DIALOG);

    XmStringFree(button_string[0]);
    XmStringFree(button_string[1]);
    XmStringFree(button_string[2]);

    widget_list[0] = _DtDialogBoxGetButton(style.kbdDialog,2);
    n=0;
    XtSetArg(args[n], XmNautoUnmanage, False); n++;
    XtSetArg(args[n], XmNcancelButton, widget_list[0]); n++;
    XtSetValues (style.kbdDialog, args, n);

    n=0;
    XtSetArg(args[n], XmNtitle, ((char *)GETMESSAGE(13, 6, "Style Manager - Keyboard"))); n++;
    XtSetArg (args[n], XmNuseAsyncGeometry, True); n++;
    XtSetArg(args[n], XmNmwmFunctions,  DIALOG_MWM_FUNC ); n++;
    XtSetValues (XtParent(style.kbdDialog), args, n);

    n = 0;
    XtSetArg(args[n], XmNhorizontalSpacing, style.horizontalSpacing); n++;
    XtSetArg(args[n], XmNverticalSpacing, style.verticalSpacing); n++;
    XtSetArg(args[n], XmNallowOverlap, False); n++;
    XtSetArg(args[n], XmNchildType, XmWORK_AREA);  n++;
    form = XmCreateForm(style.kbdDialog, "keyboardForm", args, n);

    /* create keyboard pixmap */

    n = 0;
    XtSetArg(args[n], XmNfillMode, XmFILL_SELF); n++;
    XtSetArg(args[n], XmNbehavior, XmICON_LABEL); n++;
    XtSetArg(args[n], XmNpixmapForeground, style.secBSCol); n++;
    XtSetArg(args[n], XmNpixmapBackground, style.secTSCol); n++;
    XtSetArg(args[n], XmNstring, NULL); n++;  
    XtSetArg(args[n], XmNshadowThickness, 0); n++;  
    XtSetArg(args[n], XmNimageName, KEYBOARD_ICON); n++;  
    XtSetArg(args[n], XmNtraversalOn, False); n++;  
    widget_list[count++] = 
    kbd.pictLabel= _DtCreateIcon(form, "keyboardpictLabel", args, n);

    n = 0;
    XtSetArg(args[n], XmNmarginHeight, LB_MARGIN_HEIGHT);  n++;
    XtSetArg(args[n], XmNmarginWidth, LB_MARGIN_WIDTH);  n++;
    string = CMPSTR(((char *)GETMESSAGE(13, 2, "Default")));
    XtSetArg(args[n], XmNlabelString, string); n++;
    XtSetArg(args[n], XmNnavigationType, XmTAB_GROUP); n++;  
    widget_list[count++] = 
    kbd.systemDefault= XmCreatePushButtonGadget(form, "systemDefault", args, n);
    XmStringFree(string);
    
    n = 0;
    set = (kbd.values.global_auto_repeat == AutoRepeatModeOn) ? True : False;
    XtSetArg(args[n], XmNset, set);  n++;
    string = CMPSTR(((char *)GETMESSAGE(13, 3, "Auto Repeat")));
    XtSetArg(args[n], XmNlabelString, string); n++;
    XtSetArg(args[n], XmNnavigationType, XmTAB_GROUP); n++;  
    widget_list[count++] = 
    kbd.autoRepeatToggle= XmCreateToggleButtonGadget(form, "autoRepeatToggle", args, n);
    XmStringFree(string);

    n = 0;
    XtSetArg(args[n], XmNalignment, XmALIGNMENT_END); n++;
    string = CMPSTR(((char *)GETMESSAGE(13, 4, "Click Volume")));
    XtSetArg(args[n], XmNmarginHeight, 0); n++;
    XtSetArg(args[n], XmNlabelString, string); n++;
    widget_list[count++] = 
    kbd.volumeLabGad= XmCreateLabelGadget(form,"volumeLabGad", args, n);
    XmStringFree(string);

    n = 0;
    XtSetArg(args[n], XmNmaximum, VOLUME_MAX); n++; 
    XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;
    XtSetArg(args[n], XmNprocessingDirection, XmMAX_ON_RIGHT); n++;
    XtSetArg(args[n], XmNshowValue, True); n++;
    XtSetArg(args[n], XmNhighlightThickness, SCALE_HIGHLIGHT_THICKNESS); n++; 
    XtSetArg(args[n], XmNscaleWidth, SCALE_WIDTH); n++; 
    widget_list[count++] = 
    kbd.volumeScale= XmCreateScale(form,"volumeScale", args, n);

    XtAddCallback(style.kbdDialog, XmNmapCallback, layoutCB, NULL);
    XtAddCallback(style.kbdDialog, XmNmapCallback, _DtmapCB_keyboardDlg, shell);
    XtAddCallback(kbd.systemDefault, XmNactivateCallback, systemDefaultCB, NULL);
    XtAddCallback(kbd.volumeScale, XmNvalueChangedCallback, valueChangedCB, NULL);
    XtAddCallback(kbd.autoRepeatToggle, XmNvalueChangedCallback, autoRepeatToggleCB, NULL);

    XtManageChild(form);
    XtManageChildren(widget_list,count); 

    return(style.kbdDialog);
}