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; }
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); }
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; }
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); }
Widget XmCreateScale_TNK(Widget parent, String name, ArgList arglist,Cardinal argcount) { return XmCreateScale(parent, name, arglist, argcount);}
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; }
/*+++++++++++++++++++++++++++++++++++++++*/ 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); }