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

📄 dna3.cc

📁 unix或linux下的DNA分析软件源码 其功能如下 1. Edit up to 256 peptide or DNA sequences simultaneously. 2. Transla
💻 CC
📖 第 1 页 / 共 5 页
字号:
                ////  disarmcallbacks (called when they unclick on it).                ////  If armcallbacks - it will read wrong button state before calling f1.                ////  If valuechanged - it will call f1 twice.                ////  If different - it will only call one of them.                XtAddCallback(radiobutton[i][j], XmNdisarmCallback, (XtCBP)togglecb, (XtP)&a);                XtAddCallback(radiobutton[i][j], XmNdisarmCallback, (XtCBP)armboxcb, (XtP)&a);                XtManageChild(radiobutton[i][j]);                                ////  Pushbutton needed too in radio button                ////  Put on form Widget so it doesn't mess up size and spacing                 ////  of the radio buttons                if(a.radiotype[i][j]==RADIOPUSHBUTTON)                 {   n = 0;                    XtSetArg(args[n], XmNleftPosition, RADIOSTART+3); n++;                     XtSetArg(args[n], XmNtopPosition, y+0.85*rspacing); n++;                      XtSetArg(args[n], XmNbottomPosition, y+1.85*rspacing); n++;                     XtSetArg(args[n], XmNrightPosition, RADIOEND-5); 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++;                    XtSetArg(args[n], XmNresizable, False); n++;  #ifdef MOTIF2                    XtSetArg(args[n], XmNindicatorOn, XmINDICATOR_NONE); n++;#else                     XtSetArg(args[n], XmNindicatorOn, False); n++;#endif                    XtSetArg(args[n], XmNtraversalOn, True); n++;                    XtSetArg(args[n], XmNlabelString,                      xms = XmStringCreateSimple(a.radiopushbuttonlabel[i]));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++;                    }                    radiopush[i] = w[wc++] = XmCreatePushButton(form,//radiobox[i],                          a.radiopushbuttonlabel[i], args,n);                    XtAddCallback(radiopush[i], XmNactivateCallback,                         (XtCBP)a.radiocb[i], (XtP)(a.radiopushbuttonptr[i]));                    XmStringFree(xms);                }                                 ////  Text needed too in radio button                if(a.radiotype[i][j]==RADIOTEXT)                 {   n = 0;                    XtSetArg(args[n], XmNresizable, False); n++;                    XtSetArg(args[n], XmNspacing, 0); n++;                    XtSetArg(args[n], XmNtopPosition, y-rspacing); n++;                        XtSetArg(args[n], XmNbottomPosition, y+0*rspacing); n++;                     XtSetArg(args[n], XmNmarginWidth, 2); n++;                    XtSetArg(args[n], XmNleftPosition, RADIOEND); n++;                    XtSetArg(args[n], XmNrightPosition, BOXSTART); n++;                      XtSetArg(args[n], XmNfractionBase, 100); n++;                       XtSetArg(args[n], XmNleftAttachment, XmATTACH_POSITION); n++;                    XtSetArg(args[n], XmNtopAttachment, XmATTACH_POSITION); n++;                    XtSetArg(args[n], XmNbottomAttachment, XmATTACH_POSITION); n++;                    XtSetArg(args[n], XmNrightAttachment, XmATTACH_POSITION); n++;                    XtSetArg(args[n], XmNeditMode, XmSINGLE_LINE_EDIT); n++;                    XtSetArg(args[n], XmNcolumns, 2); n++;                    XtSetArg(args[n], XmNrows, 1); n++;                    XtSetArg(args[n], XmNwordWrap, False); n++;                    XtSetArg(args[n], XmNeditable, True); 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++;                    }                    radioslider[i][j] = w[wc++] = XmCreateText(form, "text", args, n);                    a.radioslider[i][j] = radioslider[i][j];                    XtManageChild(radioslider[i][j]);                    XmTextSetString(radioslider[i][j], a.radioanswer[i][j]);	        }                //// Slider needed too in radio button                if(a.radiotype[i][j]==RADIOVALUE || a.radiotype[i][j]==RADIOVALUEWIDE)                 {   value = atoi(a.radioanswer[i][j]);                    n = 0;                    XtSetArg(args[n], XmNresizable, False); n++;                    XtSetArg(args[n], XmNspacing, 0); n++;                    XtSetArg(args[n], XmNleftPosition, RADIOEND); n++;                    XtSetArg(args[n], XmNtopPosition, y-.2*rspacing); n++;                        XtSetArg(args[n], XmNrightPosition, BOXSTART); n++;                      XtSetArg(args[n], XmNfractionBase, 100); n++;                       XtSetArg(args[n], XmNtopAttachment, XmATTACH_POSITION); n++;                    XtSetArg(args[n], XmNleftAttachment, XmATTACH_POSITION); n++;                    XtSetArg(args[n], XmNrightAttachment, XmATTACH_POSITION); n++;                    XtSetArg(args[n], XmNminimum, a.radiomin[i][j]); n++;                    XtSetArg(args[n], XmNmaximum, a.radiomax[i][j]); n++;                    XtSetArg(args[n], XmNprocessingDirection,XmMAX_ON_RIGHT); n++;                    XtSetArg(args[n], XmNhighlightOnEnter, True); n++;                          XtSetArg(args[n], XmNincrement, 1); n++;                    XtSetArg(args[n], XmNvalue, value); n++;                    XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;#ifdef MOTIF2                    XtSetArg(args[n], XmNshowValue, XmNEAR_BORDER); n++;                    XtSetArg(args[n], XmNshowArrows, XmEACH_SIDE); n++;      #else                    XtSetArg(args[n], XmNshowArrows, True); n++;      #endif                    XtSetArg(args[n], XmNdecimalPoints, 0); 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++;                    }                    ////  This will create Motif warnings of "Cannot allocate                     ////  colormap entry" if want_colormaps is 1, when Motif                     ////  tries to grab colors for the descendants Scrollbar                     ////  and Title. The warnings are suppressed by defining                    ////  a warning handler.                    radioslider[i][j] = w[wc++] = XmCreateScale(form, "slider", args, n);                    a.radioslider[i][j] = radioslider[i][j];                    XtManageChild(radioslider[i][j]);                }                y+=rspacing;            }       }       //------Answer boxes (input boxes)-------------------------------//       y=TOPMARGIN+spacing;       bspacing = spacing;       for(j=0;j<a.noofboxes;j++)       {                boxstring = a.boxes[j];          // boxstring is a temporary string            boxstring[40] = 0;               // Make sure it fits on button           switch(a.boxtype[j])           {              case TOGGLE:                   n = 0;                   XtSetArg(args[n], XmNmarginLeft, 15); n++;                   XtSetArg(args[n], XmNresizable, True); n++;                   XtSetArg(args[n], XmNspacing, 0); n++;                   XtSetArg(args[n], XmNleftPosition, BOXSTART); n++;     // % of width from left                   XtSetArg(args[n], XmNtopPosition, y); n++;     // % of height from top                   XtSetArg(args[n], XmNbottomPosition, y+bspacing); n++;  // % of width from top                   XtSetArg(args[n], XmNrightPosition, BOXEND); n++;   // % of height from left                   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);                    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++;                   }                   boxbutton[j] = w[wc++] = XmCreateToggleButton(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]);                   ////  Set up callbacks for each box button                   XtAddCallback(boxbutton[j], XmNvalueChangedCallback,                        (XtCBP)toggleboxcb, (XtP)&a);                   XtAddCallback(boxbutton[j], XmNvalueChangedCallback,                        (XtCBP)armboxcb, (XtP)&a);                   break;              case STRING:                   n = 0;                   XtSetArg(args[n], XmNresizable, False); n++;                   XtSetArg(args[n], XmNspacing, 0); n++;                   XtSetArg(args[n], XmNleftPosition, BOXSTART); n++;     // % of width from left                   XtSetArg(args[n], XmNtopPosition, y); n++;     // % of height from top                   XtSetArg(args[n], XmNbottomPosition, y+bspacing); n++;  // % of width                    XtSetArg(args[n], XmNrightPosition, BOXEND); n++;   // % of height from left                   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++;                   XtSetArg(args[n], XmNrows, 1); n++;                   XtSetArg(args[n], XmNmarginHeight, 1); n++;                   XtSetArg(args[n], XmNmarginWidth, 4); n++;                   XtSetArg(args[n], XmNmaxLength, 256); n++;                   XtSetArg(args[n], XmNvalue, a.answer[j]);n++;                    XtSetArg(args[n], XmNautoShowCursorPosition, True); n++;                   XtSetArg(args[n], XmNcursorPositionVisible, True); n++;                   ////  Motif ignores this for some reason                   XtSetArg(args[n], XmNcursorPosition,(int)strlen(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++] = XmCreateText(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;                   w[wc++] = addlabel(form,boxstring,LEFT,LABELSTART,y,LABELEND,y+bspacing);                   XtManageChild(boxbutton[j]);                   XtAddCallback(boxbutton[j], XmNvalueChangedCallback,                         (XtCBP)dialogstringcb, (XtP)&a);                   XtAddCallback(boxbutton[j], XmNfocusCallback,                         (XtCBP)dialogcursorcb, (XtP)&a);                   break;              case SCROLLEDSTRING:                   n = 0;                   XtSetArg(args[n], XmNresizable, False); n++;                   XtSetArg(args[n], XmNspacing, 0); n++;                   XtSetArg(args[n], XmNleftPosition, BOXSTART); n++;     // % of width from left                   XtSetArg(args[n], XmNtopPosition, y); n++;     // % of height from top                   XtSetArg(args[n], XmNbottomPosition, y+1.5*bspacing); n++;  // % of width                    XtSetArg(args[n], XmNrightPosition, BOXEND); n++;   // % of height from left                   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++;                   XtSetArg(args[n], XmNrows, 1); n++;                   XtSetArg(args[n], XmNmarginHeight, 1); n++;                   XtSetArg(args[n], XmNmarginWidth, 4); n++;                   XtSetArg(args[n], XmNmaxLength, 256); n++;                   XtSetArg(args[n], XmNvalue, a.answer[j]);n++;                    XtSetArg(args[n], XmNautoShowCursorPosition, True); n++;                   XtSetArg(args[n], XmNcursorPositionVisible, True); n++;                   ////  Motif ignores this for some reason                   XtSetArg(args[n], XmNcursorPosition,(int)strlen(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++] = XmCreateScrolledText(form, boxstring, args, n);                   a.boxwidget[j][0] = boxbutton[j];                   a.boxwidget[j][1] = 0;                   a.boxwidget[j][2] = 0;

⌨️ 快捷键说明

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