⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dna3.cc

📁 unix或linux下的DNA分析软件源码 其功能如下 1. Edit up to 256 peptide or DNA sequences simultaneously. 2. Transla
💻 CC
📖 第 1 页 / 共 5 页
字号:
                          xms = XmStringCreateSimple(temp));n++;                        wid[k] = w[wc++] = XmCreatePushButton(form,boxstring,args,n);                       a.boxwidget[j][k] = wid[k];                       XtManageChild(wid[k]);                       XmStringFree(xms);                       XtAddCallback(wid[k], XmNactivateCallback,                           (XtCBP)dialogmulticlickboxcb, (XtP)&a);                       XtAddCallback(wid[k], XmNarmCallback,(XtCBP)armboxcb, (XtP)&a);                       w[wc++] = addlabel(form,boxstring,LEFT,LABELSTART,y,LABELEND,y+bspacing);                   }                   for(i=0;i<4;i++) clickboxdata[j].widget[i] = wid[i];                   clickboxdata[j].dirmask = 0;                   break;              case TOGGLEMULTICLICKBOX:                   //// Toggle button portion - The callback f1 must unset other                   //// buttons, gray out unwanted options, etc. - it is not done                   //// automatically.                   n = 0;                   XtSetArg(args[n], XmNmarginLeft, 1); n++;                   XtSetArg(args[n], XmNresizable, False); n++;                   XtSetArg(args[n], XmNspacing, 0); n++;                   XtSetArg(args[n], XmNleftPosition, BOXSTART); n++;                      XtSetArg(args[n], XmNtopPosition, y); n++;                       XtSetArg(args[n], XmNbottomPosition, y+bspacing); n++;                     XtSetArg(args[n], XmNrightPosition, BOXSTART+CHECKWIDTH); n++;                    XtSetArg(args[n], XmNfractionBase, 100); n++;   // Use percentages                   XtSetArg(args[n], XmNtopAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNleftAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNbottomAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNrightAttachment, XmATTACH_POSITION); n++;    #ifdef MOTIF2                   XtSetArg(args[n], XmNindicatorOn, XmINDICATOR_CROSS_BOX); n++;    #endif                   XtSetArg(args[n], XmNalignment, XmALIGNMENT_BEGINNING); n++;                   if(a.boxset[j]){  XtSetArg(args[n], XmNset, True); n++; }                   else           {  XtSetArg(args[n], XmNset, False); n++; }                   ////  Stop Motif from trying to grab another color if none are available.                   if(g.want_colormaps)                     {    XtSetArg(args[n], XmNbackground, g.main_bcolor); n++;                        XtSetArg(args[n], XmNforeground, g.main_fcolor); n++;                   }                   w[wc++] = boxbutton[j] =XmCreateToggleButton(form," ",args,n);                   a.boxwidget[j][0] = boxbutton[j];                   XtManageChild(boxbutton[j]);                   ////  Set up callbacks for each box button                   XtAddCallback(boxbutton[j], XmNarmCallback,(XtCBP)armboxcb, (XtP)&a);                   ////  Multiclickbox portion                   n = 0;                                XtSetArg(args[n], XmNresizable, False); n++;                   XtSetArg(args[n], XmNspacing, 0); n++;                   XtSetArg(args[n], XmNleftPosition, BOXSTART+CHECKWIDTH); n++;                      XtSetArg(args[n], XmNtopPosition, y); n++;                       XtSetArg(args[n], XmNbottomPosition, y+bspacing); n++;                     XtSetArg(args[n], XmNrightPosition, BOXEND); n++;                     XtSetArg(args[n], XmNfractionBase, 100); n++;   // Use percentages                   XtSetArg(args[n], XmNtopAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNleftAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNbottomAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNrightAttachment, XmATTACH_POSITION); n++;                   ////  Stop Motif from trying to grab another color if none are available.                   if(g.want_colormaps)                     {    XtSetArg(args[n], XmNbackground, g.main_bcolor); n++;                        XtSetArg(args[n], XmNforeground, g.main_fcolor); n++;                   }                   value = atoi(a.answer[j]);                   //valuetoRGB(value,color[1],color[2],color[3],a.bpp);                   clickboxdata[j].title = boxstring;                   clickboxdata[j].answer = atoi(a.answer[j]);                   clickboxdata[j].startval = atoi(a.answer[j]);                   clickboxdata[j].minval = a.boxmin[j];                   clickboxdata[j].maxval = a.boxmax[j];                   clickboxdata[j].type = INTEGER;                   clickboxdata[j].wantpreview = 0;                   clickboxdata[j].wantdragcb = 1;                   clickboxdata[j].f1 = null;                   clickboxdata[j].f2 = null;                   clickboxdata[j].f3 = null;                   a.c[j] = &clickboxdata[j];                   for(k=1;k<4;k++)                   {   XtSetArg(args[n], XmNleftPosition, BOXSTART+k*7); n++;                       XtSetArg(args[n], XmNtopPosition, y); n++;                           XtSetArg(args[n], XmNrightPosition, BOXSTART+(k+1)*7-1); n++;                          XtSetArg(args[n], XmNresizable, False); n++;                        XtSetArg(args[n], XmNspacing, 0); n++;                       XtSetArg(args[n], XmNalignment, XmALIGNMENT_BEGINNING); n++;                        XtSetArg(args[n], XmNresizable, False); n++;                       XtSetArg(args[n], XmNfractionBase, 100); n++;   // Use percentages                       XtSetArg(args[n], XmNtopAttachment, XmATTACH_POSITION); n++;                       XtSetArg(args[n], XmNleftAttachment, XmATTACH_POSITION); n++;                       XtSetArg(args[n], XmNbottomAttachment, XmATTACH_POSITION); n++;                       XtSetArg(args[n], XmNrightAttachment, XmATTACH_POSITION); n++;                       itoa(color[k],temp,10);                       XtSetArg(args[n], XmNlabelString,                          xms = XmStringCreateSimple(temp));n++;                        wid[k] = w[wc++] = XmCreatePushButton(form,boxstring,args,n);                       a.boxwidget[j][k] = wid[k];                       XtManageChild(wid[k]);                       XmStringFree(xms);                       XtAddCallback(wid[k], XmNactivateCallback,                           (XtCBP)dialogmulticlickboxcb, (XtP) &a);                       XtAddCallback(wid[k], XmNarmCallback,(XtCBP)armboxcb, (XtP)&a);                       w[wc++] = addlabel(form,boxstring,LEFT,LABELSTART,y,LABELEND,y+bspacing);                   }                   for(i=0;i<4;i++) clickboxdata[j].widget[i] = wid[i];                   clickboxdata[j].dirmask = 0;                   break;              case LIST:              case NON_EDIT_LIST:              case NO_LABEL_LIST:                   n = 0;                   XtSetArg(args[n], XmNmarginLeft, 4); n++;                   XtSetArg(args[n], XmNresizable, False); n++;                   XtSetArg(args[n], XmNspacing, 0); n++;                   XtSetArg(args[n], XmNleftPosition, BOXSTART); n++;                   XtSetArg(args[n], XmNtopPosition, y); n++;                       XtSetArg(args[n], XmNbottomPosition, y+bspacing); n++;                     XtSetArg(args[n], XmNrightPosition, BOXEND); n++;                      XtSetArg(args[n], XmNfractionBase, 100); n++;                      XtSetArg(args[n], XmNtopAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNleftAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNbottomAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNrightAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNresizable, False); n++;                    XtSetArg(args[n], XmNalignment, XmALIGNMENT_BEGINNING); n++;                    k = a.boxmenuselection[j];                   XtSetArg(args[n], XmNlabelString,                      xms = XmStringCreateSimple(a.boxmenu[j][k]));n++;                    ////  Stop Motif from trying to grab another color if none are available.                   if(g.want_colormaps)                     {    XtSetArg(args[n], XmNbackground, g.main_bcolor); n++;                        XtSetArg(args[n], XmNforeground, g.main_fcolor); n++;                   }                   boxbutton[j] = w[wc++] = XmCreatePushButton(form,boxstring,args,n);                   a.boxwidget[j][0] = boxbutton[j];                   a.boxwidget[j][1] = 0;                   a.boxwidget[j][2] = 0;                   a.boxwidget[j][3] = 0;                   XtManageChild(boxbutton[j]);                   XmStringFree(xms);                   w[wc++] = addlabel(form,boxstring,LEFT,LABELSTART,y,LABELEND,y+bspacing);                   clickboxdata[j].title = a.boxmenutitle[j];                   clickboxdata[j].answer = a.boxmenuselection[j];                   clickboxdata[j].widget[0] = boxbutton[j];                   clickboxdata[j].dirmask = 0;                   clickboxdata[j].list = a.boxmenu[j];                   clickboxdata[j].helptopic = a.helptopic;                   clickboxdata[j].listsize = a.boxmax[j];                   clickboxdata[j].f1 = null;                   clickboxdata[j].f2 = null;                   clickboxdata[j].f3 = null;                   if(a.boxtype[j]==NON_EDIT_LIST)                         clickboxdata[j].allowedit = 0;                   else                    {    clickboxdata[j].allowedit = 1;                        clickboxdata[j].editcol = a.list_editcol[j];                        clickboxdata[j].editrow = a.list_editrow[j];                        clickboxdata[j].maxstringsize = a.list_maxstringsize[j];                   }                   a.c[j] = &clickboxdata[j];                   XtAddCallback(boxbutton[j], XmNactivateCallback,                       (XtCBP)dialoglistcb, (XtP)&a);                   break;              case LABEL:      // Just a heading, don't do anything                   w[wc++] = addlabel(form,boxstring,LEFT,BOXSTART,y,BOXEND,y+bspacing);                   a.boxwidget[j][0] = 0;                   a.boxwidget[j][1] = 0;                   a.boxwidget[j][2] = 0;                   a.boxwidget[j][3] = 0;                   break;              case DOUBLECLICKBOX:                   n = 0;                   XtSetArg(args[n], XmNmarginLeft, 4); n++;                   XtSetArg(args[n], XmNresizable, False); n++;                   XtSetArg(args[n], XmNspacing, 0); n++;                   XtSetArg(args[n], XmNleftPosition, BOXSTART); n++;                   XtSetArg(args[n], XmNtopPosition, y); n++;                        XtSetArg(args[n], XmNbottomPosition, y+bspacing); n++;                    XtSetArg(args[n], XmNrightPosition, BOXEND); n++;                    XtSetArg(args[n], XmNfractionBase, 100); n++;                    XtSetArg(args[n], XmNtopAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNleftAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNbottomAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNrightAttachment, XmATTACH_POSITION); n++;                   XtSetArg(args[n], XmNresizable, False); n++;                    XtSetArg(args[n], XmNalignment, XmALIGNMENT_BEGINNING); n++;                    XtSetArg(args[n], XmNlabelString,                      xms = XmStringCreateSimple(a.answer[j]));n++;                    ////  Stop Motif from trying to grab another color if none are available.                   if(g.want_colormaps)                     {    XtSetArg(args[n], XmNbackground, g.main_bcolor); n++;                        XtSetArg(args[n], XmNforeground, g.main_fcolor); n++;                   }                   boxbutton[j] = w[wc++] = XmCreatePushButton(form,boxstring,args,n);                   a.boxwidget[j][0] = boxbutton[j];                   a.boxwidget[j][1] = 0;                   a.boxwidget[j][2] = 0;                   a.boxwidget[j][3] = 0;                   XtManageChild(boxbutton[j]);                   XmStringFree(xms);                   w[wc++] = addlabel(form,boxstring,LEFT,LABELSTART,y,LABELEND,y+bspacing);                   clickboxdata[j].title = boxstring;                   clickboxdata[j].fanswer = atof(a.answer[j]);                   clickboxdata[j].fstartval = atof(a.answer[j]);                   clickboxdata[j].fminval = (double)a.boxmin[j];                   clickboxdata[j].fmaxval = (double)a.boxmax[j];                   clickboxdata[j].type = FLOAT;                   clickboxdata[j].wantpreview = 0;                   clickboxdata[j].widget[0] = boxbutton[j];                   clickboxdata[j].dirmask = 0;                   clickboxdata[j].f1 = null;                   clickboxdata[j].f2 = null;                   clickboxdata[j].f3 = null;                   a.c[j] = &clickboxdata[j];                   XtAddCallback(boxbutton[j], XmNactivateCallback,                       (XtCBP)dialogdoubleclickboxcb, (XtP)&a);                   XtAddCallback(boxbutton[j], XmNarmCallback,(XtCBP)armboxcb, (XtP)&a);                   break;              default: fprintf(stderr,"error in dialogboxes\n");           }           y+=bspacing;       }       addstandardbuttons(form, &w[wc], &a.helptopic);       wc += 3;      // This makes the Ok button the default, but also trashes the dialog box.      // So we are forced to add an event handler to every button.      // XtVaSetValues(form, XmNdefaultButton, okbutton, NULL);       // Make Return key activate Ok button:      for(k=0;k<wc;k++)           XtAddEventHandler(w[k], KeyPressMask, FALSE, (XtEH)entercb, (XtP)form);      XtAddEventHandler(XtParent((form)), FocusChangeMask, False,           (XtEH)raisecb, (XtP)NULL);    //      if(a.want_changecicb)//          XtAddEventHandler(g.drawing_area, SubstructureNotifyMask, FALSE,//                (XtEH)dialogchangecicb, (XtP)&a);      ////  Initialize any grayed-out items in the callback if any

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -