码迷,mamicode.com
首页 > 其他好文 > 详细

sourceInsight的CodeReview.em的宏

时间:2015-03-04 22:41:34      阅读:2070      评论:0      收藏:0      [点我收藏+]

标签:

  1 /* version 1.1.1 */
  2 
  3 macro Review_Restore_Link()
  4 {
  5     hbuf = GetCurrentBuf()
  6 
  7     sProjRoot = GetProjDir(GetCurrentProj())
  8     sProjRoot = Cat(sProjRoot, "\\")
  9 
 10     line = 0
 11     while(True)
 12     {
 13         sel = SearchInBuf(hbuf, "FileName : ", line, 0, 1, 0, 0)
 14         if(sel == "") break
 15 
 16         line = sel.lnFirst
 17         col = sel.ichLim
 18         str = GetBufLine(hbuf, line)
 19         fileName = strmid(str, col, strlen(str))
 20         fileName = cat(sProjRoot, fileName)
 21                 
 22         str = GetBufLine(hbuf, line+1)
 23         lnNumber = strmid(str, 11, strlen(str))
 24         SetSourceLink(hbuf, line + 2, fileName, lnNumber - 1)
 25         line = line+2
 26     }
 27     
 28     //updateSummary(hbuf)
 29 }
 30 
 31 macro Review_Add_Comment()
 32 {
 33     hbuf = GetCurrentBuf()
 34     curFileName = GetBufName(hbuf)
 35     curFunc = GetCurSymbol()
 36     curLineNumber = GetBufLnCur(hbuf)
 37 
 38     sProjRoot = GetProjDir(GetCurrentProj())
 39     nPos = strlen(sProjRoot)
 40     sFileName = strmid(curFileName, nPos+1, strlen(curFileName))
 41     sLocation = cat("Location : ",sFileName);
 42     sFileName = cat( "FileName : ", sFileName )
 43     sLineNumber = cat( "Line     : ", curLineNumber + 1 )
 44     sLocation = cat(sLocation,"/L");
 45     sLocation = cat(sLocation,curLineNumber + 1);
 46     
 47     promote = "Defect : D,d(Defect); Q,q(Query)"
 48     sTemp = ask(promote);
 49     sTemp = toupper(sTemp[0]);
 50     while( sTemp != "D" && sTemp != "Q")
 51     {
 52         sTemp = ask(cat("Please input again! ", promote));
 53         sTemp = toupper(sTemp[0]);
 54     }
 55 
 56     if( sTemp == "D" ) sTemp = "Defect缺陷";
 57     else if ( sTemp == "Q" ) sTemp = "Query疑问";
 58     sClass = cat("Class    : ",sTemp);
 59         
 60     /* get the severity of the current comment */
 61     if(sTemp == "Defect缺陷")
 62     {
 63         promote = "Severity : G,g(General); S,s(Suggest); M,m(Major)"
 64         sTemp = ask(promote);
 65         sTemp = toupper(sTemp[0]);
 66         while( sTemp != "G" && sTemp != "S" && sTemp != "M" )
 67         {
 68             sTemp = ask(cat("Please input again! ", promote));
 69             sTemp = toupper(sTemp[0]);
 70         }
 71     
 72         if( sTemp == "G" ) sTemp = "General一般";
 73         else if ( sTemp == "S" ) sTemp = "Suggest提示";
 74         else if ( sTemp == "M" ) sTemp = "Major严重";
 75         sSeverity = cat( "Severity : ", sTemp );
 76         // end of get the severity of the current comment
 77         
 78         /* get Categories */
 79         promote = "Categories : S,s(SRS); H,h(HLD); L,l(LLD); T,t(TP); C,c(Code); U,u(Um)"
 80         sTemp = ask(promote);
 81         sTemp = toupper(sTemp[0]);
 82         while( sTemp != "S" && sTemp != "H" && sTemp != "L" 
 83             && sTemp != "T" && sTemp != "C" && sTemp != "U")
 84         {
 85             sTemp = ask(cat("Please input again! ", promote));
 86             sTemp = toupper(sTemp[0]);
 87         }
 88         
 89         if( sTemp == "S" ) sTemp = "SRS软件需求";
 90         else if ( sTemp == "H" ) sTemp = "HLD概要设计";
 91         else if ( sTemp == "L" ) sTemp = "LLD详细设计";
 92         else if ( sTemp == "T" ) sTemp = "TP测试计划";
 93         else if ( sTemp == "C" ) sTemp = "Code代码";  
 94         else if ( sTemp == "U" ) sTemp = "UM用户手册";
 95         sCategories = cat( "Categories : ", sTemp );
 96         //end of get categores
 97         
 98         /* get defect type */
 99         promote = "Categories : I,i(接口); F,f(功能); B,b(构建/打包); A,a(赋值); D,d(文档); C,c(校验); L,l(算法); T,t(时序/顺序缺陷); O,o(其它)"
100         sTemp = ask(promote);
101         sTemp = toupper(sTemp[0]);
102         while( sTemp != "I" && sTemp != "F" && sTemp != "B" 
103             && sTemp != "A" && sTemp != "D" && sTemp != "C"
104             && sTemp != "L" && sTemp != "T" && sTemp != "O")
105         {
106             sTemp = ask(cat("Please input again! ", promote));
107             sTemp = toupper(sTemp[0]);
108         }
109         
110         if( sTemp == "I" ) sTemp = "Interface接口";
111         else if ( sTemp == "F" ) sTemp = "Function功能";
112         else if ( sTemp == "B" ) sTemp = "Build/Package构建/打包";
113         else if ( sTemp == "A" ) sTemp = "Assignment赋值";
114         else if ( sTemp == "D" ) sTemp = "Documentation文档";  
115         else if ( sTemp == "C" ) sTemp = "Checking校验";
116         else if ( sTemp == "L" ) sTemp = "aLgorithm算法";
117         else if ( sTemp == "T" ) sTemp = "Timing/Serialization时序/顺序缺陷";
118         else if ( sTemp == "O" ) sTemp = "Others其它";
119         sDefectType = cat( "DefectType : ", sTemp );
120         /* end of get defect type */
121     }
122     else
123     {
124         sTemp = " ";
125         sSeverity = cat( "Severity : ", sTemp );
126         sCategories = cat( "Categories : ", sTemp );
127         sDefectType = cat( "DefectType : ", sTemp );
128     }
129     
130     /* get the comment */
131     promote = "Input your comment:"
132     sTemp = ask(promote);
133     sComments = cat( "Comments : ", sTemp );
134     
135     /* get the licence user name for the reviewer name */
136     progRecord = GetProgramEnvironmentInfo()
137     sMyName = progRecord.UserName
138 
139     /* get the ReviewComment buffer handle */
140     bNewCreated = false; // used for the review comment is firstly created
141     hout = GetBufHandle("ReviewComment.txt")
142     if (hout == hNil)
143     {
144         // No existing Review Comment buffer
145         hout= OpenBuf ("ReviewComment.txt")
146         if( hout == hNil )
147         {
148             /* No existing ReviewComment.txt, then create a new review comment buffer */
149             hout = NewBuf("ReviewComment.txt")
150             NewWnd(hout)
151             bNewCreated = true
152             
153             /*----------------------------------------------------------------*/
154             /* Get the owner‘s name from the environment variable: MYNAME.    */
155             /* If the variable doesn‘t exist, then the owner field is skipped.*/
156             /*----------------------------------------------------------------*/
157             AppendBufLine(hout, cat("Reviewer Name : ", sMyName))
158             
159             AppendBufLine(hout, "-------------------------------------------------------------------------")
160         }
161     } // end of get ReviewComment buffer handle
162 
163     delConver123(hout)
164     delSummary(hout)
165     AppendBufLine(hout, "")
166     AppendBufLine(hout, sFileName)
167     AppendBufLine(hout, sLineNumber)
168     AppendBufLine(hout, sLocation)
169     AppendBufLine(hout, cat("Reviewer : ", sMyName))
170     AppendBufLine(hout, cat("Symbol   : ", curFunc) )
171     AppendBufLine(hout, sCategories)
172     AppendBufLine(hout, sClass)
173     AppendBufLine(hout, sSeverity)
174     AppendBufLine(hout, sDefectType)
175     AppendBufLine(hout, "Status   : Open")
176     AppendBufLine(hout, sComments)
177     AppendBufLine(hout, "Resolve : ")
178     AppendBufLine(hout, "Author : ")
179 
180     lnSource = GetBufLineCount(hout) - 11
181     SetSourceLink(hout, lnSource, curFileName, curLineNumber)
182     //updateSummary(hout)
183     if( bNewCreated ) SetCurrentBuf(hbuf)
184     jump_to_link;
185 }
186 
187 macro Review_Summary()
188 {
189     hbuf = GetCurrentBuf()
190     updateSummary(hbuf)
191 }
192 
193 macro Review_Output_123()
194 {
195     sSign123 = "-----------------------Convert to lotus123 format------------------------------------------------"
196     rvTitle = "it1=\"FileName :\";it2=\"评审人员\t\";it3=\"描述\t\";it4=\"位置\t\";it5=\"问题类型\t\";it6=\"严重级别\t\";it7=\"缺陷来源\t\";it8=\"缺陷类型\t\";it9=\"作者修改说明\t\";it10=\"状态\t\""
197     //rvObj = "it1=\"FileName :\";it2=\"Reviewer :\";it3=\"Comments :\";it4=\"Location :\";it5=\"Class    :\";it6=\"Severity :\";it7=\"Categories :\";it8=\"DefectType :\";it9=\"Resolve :\";it10=\"Status   :\""
198     
199     hbuf = GetCurrentBuf()
200     
201     delConver123(hbuf)
202     
203     AppendBufLine(hbuf, "")
204     AppendBufLine(hbuf, "")
205     
206     AppendBufLine(hbuf, sSign123)
207     sOutput = cat(rvTitle.it2,rvTitle.it3)
208     sOutput = cat(sOutput,rvTitle.it4)
209     sOutput = cat(sOutput,rvTitle.it5)
210     sOutput = cat(sOutput,rvTitle.it6)
211     sOutput = cat(sOutput,rvTitle.it7)
212     sOutput = cat(sOutput,rvTitle.it8)
213     sOutput = cat(sOutput,rvTitle.it9)
214     sOutput = cat(sOutput,rvTitle.it10)
215     AppendBufLine(hbuf, sOutput)
216     AppendBufLine(hbuf, "-------------------------------------------------------------------------------------------------")
217         
218     ln = 0
219     while (True)
220     {
221         sOutput = ""
222         sel = SearchInBuf(hbuf, "^FileName\\s+:\\s+", ln, 0, 1, 1, 0)
223         if (sel == null) break
224         
225         ln = sel.lnFirst
226         col = sel.ichLim
227         
228         tpsel = SearchInBuf(hbuf, "^Reviewer\\s+:\\s+", ln, 0, 1, 1, 0)
229         if(tpsel)
230         {
231             tpln = tpsel.lnFirst
232             tpcol = tpsel.ichLim
233             sContent = GetBufLine(hbuf, tpln)
234             if(tpcol < strlen(tpsel))
235                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
236             sOutput = cat(sOutput,"\t")
237         }
238         
239         tpsel = SearchInBuf(hbuf, "^Comments\\s+:\\s+", ln, 0, 1, 1, 0)
240         if(tpsel)
241         {
242             tpln = tpsel.lnFirst
243             tpcol = tpsel.ichLim
244             sContent = GetBufLine(hbuf, tpln)
245             if(tpcol < strlen(tpsel))
246                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
247             sOutput = cat(sOutput,"\t")
248         }
249         
250         tpsel = SearchInBuf(hbuf, "^Location\\s+:\\s+", ln, 0, 1, 1, 0)
251         if(tpsel)
252         {
253             tpln = tpsel.lnFirst
254             tpcol = tpsel.ichLim
255             sContent = GetBufLine(hbuf, tpln)
256             if(tpcol < strlen(tpsel))
257                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
258             sOutput = cat(sOutput,"\t")
259         }
260         
261         tpsel = SearchInBuf(hbuf, "^Class\\s+:\\s+", ln, 0, 1, 1, 0)
262         if(tpsel)
263         {
264             tpln = tpsel.lnFirst
265             tpcol = tpsel.ichLim
266             sContent = GetBufLine(hbuf, tpln)
267             if(tpcol < strlen(tpsel))
268                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
269             sOutput = cat(sOutput,"\t")
270         }
271         
272         tpsel = SearchInBuf(hbuf, "^Severity\\s+:\\s+", ln, 0, 1, 1, 0)
273         if(tpsel)
274         {
275             tpln = tpsel.lnFirst
276             tpcol = tpsel.ichLim
277             sContent = GetBufLine(hbuf, tpln)
278             if(tpcol < strlen(tpsel))
279                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
280             sOutput = cat(sOutput,"\t")
281         }
282         
283         tpsel = SearchInBuf(hbuf, "^Categories\\s+:\\s+", ln, 0, 1, 1, 0)
284         if(tpsel)
285         {
286             tpln = tpsel.lnFirst
287             tpcol = tpsel.ichLim
288             sContent = GetBufLine(hbuf, tpln)
289             if(tpcol < strlen(tpsel))
290                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
291             sOutput = cat(sOutput,"\t")
292         }
293         
294         tpsel = SearchInBuf(hbuf, "^DefectType\\s+:\\s+", ln, 0, 1, 1, 0)
295         if(tpsel)
296         {
297             tpln = tpsel.lnFirst
298             tpcol = tpsel.ichLim
299             sContent = GetBufLine(hbuf, tpln)
300             if(tpcol < strlen(tpsel))
301                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
302             sOutput = cat(sOutput,"\t")
303         }
304         
305         tpsel = SearchInBuf(hbuf, "^Resolve\\s+:\\s+", ln, 0, 1, 1, 0)
306         if(tpsel)
307         {
308             tpln = tpsel.lnFirst
309             tpcol = tpsel.ichLim
310             sContent = GetBufLine(hbuf, tpln)
311             if(tpcol < strlen(tpsel))
312                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
313             sOutput = cat(sOutput,"\t")
314         }
315         
316         tpsel = SearchInBuf(hbuf, "^Status\\s+:\\s+", ln, 0, 1, 1, 0)
317         if(tpsel)
318         {
319             tpln = tpsel.lnFirst
320             tpcol = tpsel.ichLim
321             sContent = GetBufLine(hbuf, tpln)
322             if(tpcol < strlen(tpsel))
323                 sOutput = cat(sOutput,strmid(sContent, tpcol, strlen(sContent)))
324             sOutput = cat(sOutput,"\t")
325         }
326         
327         AppendBufLine(hbuf, sOutput)
328         
329         tpsel = SearchInBuf(hbuf, "^Author\\s+:\\s+", ln, 0, 1, 1, 0)
330         if(tpsel)
331             tpln = tpsel.lnFirst
332         else
333             tpln = ln + 9
334         
335         ln = tpln + 1
336     }
337     
338 }
339 
340 macro updateSummary(hbuf)
341 {
342     rvSum0 = getReviewSummary(hbuf)
343     rvSum = "general=\"0\";suggest=\"0\";major=\"0\";query=\"0\";open=\"0\";closed=\"0\";rejected=\"0\";SysReq=\"0\";SDes=\"0\";SRS=\"0\";HLD=\"0\";LLD=\"0\";TP=\"0\";Code=\"0\";Docs=\"0\";Others=\"0\""
344     
345     /* summary the severity */
346     ln = 0
347     while (True)
348     {
349         sel = SearchInBuf(hbuf, "^Severity\\s+:\\s+", ln, 0, 1, 1, 0)
350         if (sel == null) break
351         
352         ln = sel.lnFirst
353         col = sel.ichLim
354         s = GetBufLine(hbuf, ln)
355         if((col + 1) > strlen(s))
356         {
357             rvSum.query = rvSum.query + 1
358             ln = ln + 1;
359             continue;
360         }
361         sTemp = strmid(s, col, col+1)
362         sTemp = toupper(sTEmp);
363         
364         if (sTemp == "G" && norejected(hbuf, ln)) 
365             rvSum.general = rvSum.general + 1
366         else if (sTemp == "S" && norejected(hbuf, ln))
367             rvSum.suggest = rvSum.suggest + 1
368         else if (sTemp == "M" && norejected(hbuf, ln))
369             rvSum.major = rvSum.major + 1
370         
371         ln = ln + 1
372     }
373     
374     /* summary the satus */
375     ln = 0
376     while (True)
377     {
378         sel = SearchInBuf(hbuf, "^Status\\s+:\\s+", ln, 0, 1, 1, 0)
379         if (sel == null) break
380         
381         ln = sel.lnFirst
382         col = sel.ichLim
383         s = GetBufLine(hbuf, ln)
384         sTemp = strmid(s, col, col+1)
385         sTemp = toupper(sTEmp);
386         
387         if (sTemp == "O") rvSum.open = rvSum.open + 1
388         else if (sTemp == "C")    rvSum.closed = rvSum.closed + 1
389         else if (sTemp == "R")    rvSum.rejected = rvSum.rejected + 1
390         
391         ln = ln + 1
392     }
393 
394     /* summary the categories */
395     ln = 0
396     while (True)
397     {
398         norej = norejected(hbuf, ln);
399         sel = SearchInBuf(hbuf, "^Categories\\s+:\\s+", ln, 0, 1, 1, 0)
400         if (sel == null) break
401         
402         ln = sel.lnFirst
403         col = sel.ichLim
404         s = GetBufLine(hbuf, ln)
405         if ( (col+2 > strlen(s)) && IsDefect(hbuf, ln)) 
406         {
407             msg("Please write categories!")
408             return
409         }
410         if((col + 2) > strlen(s))
411             sTemp = "OT"
412         else
413             sTemp = strmid(s, col, col+2)
414         sTemp = toupper(sTEmp);
415         
416         if (sTemp == "SY" && norej) rvSum.SysReq = rvSum.SysReq + 1
417         else if (sTemp == "SD" && norej)    rvSum.SDes = rvSum.SDes + 1
418         else if (sTemp == "SR" && norej)    rvSum.SRS = rvSum.SRS + 1
419         else if (sTemp == "HL" && norej)    rvSum.HLD = rvSum.HLD + 1
420         else if (sTemp == "LL" && norej)    rvSum.LLD = rvSum.LLD + 1
421         else if (sTemp == "TP" && norej)    rvSum.TP = rvSum.TP + 1
422         else if (sTemp == "CO" && norej)    rvSum.Code = rvSum.Code + 1
423         else if (sTemp == "UM" && norej)    rvSum.Docs = rvSum.Docs + 1
424         else if (sTemp == "OT" && norej)    rvSum.Others = rvSum.Others + 1
425         
426         ln = ln + 1
427     }
428 
429     if ( rvSum.general == rvSum0.general && rvSum.suggest == rvSum0.suggest && rvSum.major == rvSum0.major &&
430           rvSum.query == rvSum0.query && rvSum.open == rvSum0.open &&
431           rvSum.closed == rvSum0.closed && rvSum.rejected == rvSum0.rejected  &&
432           rvSum.SysReq == rvSum0.SysReq && rvSum.SDes == rvSum0.SDes &&
433           rvSum.SRS == rvSum0.SRS && rvSum.HLD == rvSum0.HLD &&
434           rvSum.LLD == rvSum0.LLD && rvSum.TP == rvSum0.TP &&
435           rvSum.Code == rvSum0.Code && rvSum.Docs == rvSum0.Docs &&
436           rvSum.Others == rvSum0.Others )
437         return
438     else
439     {
440         delSummary(hbuf)
441         setReviewSummary(hbuf, rvSum)
442     }
443 }
444 
445 macro getReviewSummary(hbuf)
446 {
447     sel = SearchInBuf(hbuf, "^Summary$", 0, 0, 1, 1, 0)
448     rvSum = "general=\"0\";suggest=\"0\";major=\"0\";query=\"0\";open=\"0\";closed=\"0\";rejected=\"0\";SysReq=\"0\";SDes=\"0\";SRS=\"0\";HLD=\"0\";LLD=\"0\";TP=\"0\";Code=\"0\";Docs=\"0\";Others=\"0\""
449 
450     if (sel == null)
451         return rvSum
452         
453     /* get severity summary */
454     ln = sel.lnFirst + 2
455     sel = SearchInBuf(hbuf, "^General\\s+=\\s+", ln, 0, 1, 1, 0)
456     col = sel.ichLim
457     sLine = GetBufLine(hbuf, sel.lnFirst)
458     rvSum.general = strmid(sLine, col, strlen(sLine))
459     
460     sel = SearchInBuf(hbuf, "^Suggest\\s+=\\s+", ln, 0, 1, 1, 0)
461     col = sel.ichLim
462     sLine = GetBufLine(hbuf, sel.lnFirst)
463     rvSum.suggest = strmid(sLine, col, strlen(sLine))
464     
465     sel = SearchInBuf(hbuf, "^Major\\s+=\\s+", ln, 0, 1, 1, 0)
466     col = sel.ichLim
467     sLine = GetBufLine(hbuf, sel.lnFirst)
468     rvSum.major = strmid(sLine, col, strlen(sLine))
469     
470     sel = SearchInBuf(hbuf, "^Query\\s+=\\s+", ln, 0, 1, 1, 0)
471     col = sel.ichLim
472     sLine = GetBufLine(hbuf, sel.lnFirst)
473     rvSum.query = strmid(sLine, col, strlen(sLine))
474 
475     /* get status summary */
476     sel = SearchInBuf(hbuf, "^Open\\s+=\\s+", ln, 0, 1, 1, 0)
477     col = sel.ichLim
478     sLine = GetBufLine(hbuf, sel.lnFirst)
479     rvSum.open = strmid(sLine, col, strlen(sLine))
480 
481     sel = SearchInBuf(hbuf, "^Closed\\s+=\\s+", ln, 0, 1, 1, 0)
482     col = sel.ichLim
483     sLine = GetBufLine(hbuf, sel.lnFirst)
484     rvSum.closed = strmid(sLine, col, strlen(sLine))
485 
486     sel = SearchInBuf(hbuf, "^Rejected\\s+=\\s+", ln, 0, 1, 1, 0)
487     col = sel.ichLim
488     sLine = GetBufLine(hbuf, sel.lnFirst)
489     rvSum.rejected = strmid(sLine, col, strlen(sLine))
490 
491     /* get categories summary */
492     sel = SearchInBuf(hbuf, "^SysReq\\s+=\\s+", ln, 0, 1, 1, 0)
493     col = sel.ichLim
494     sLine = GetBufLine(hbuf, sel.lnFirst)
495     rvSum.SysReq = strmid(sLine, col, strlen(sLine))
496 
497     sel = SearchInBuf(hbuf, "^SDes\\s+=\\s+", ln, 0, 1, 1, 0)
498     col = sel.ichLim
499     sLine = GetBufLine(hbuf, sel.lnFirst)
500     rvSum.SDes = strmid(sLine, col, strlen(sLine))
501 
502     sel = SearchInBuf(hbuf, "^SRS\\s+=\\s+", ln, 0, 1, 1, 0)
503     col = sel.ichLim
504     sLine = GetBufLine(hbuf, sel.lnFirst)
505     rvSum.SRS = strmid(sLine, col, strlen(sLine))
506 
507     sel = SearchInBuf(hbuf, "^HLD\\s+=\\s+", ln, 0, 1, 1, 0)
508     col = sel.ichLim
509     sLine = GetBufLine(hbuf, sel.lnFirst)
510     rvSum.HLD = strmid(sLine, col, strlen(sLine))
511 
512     sel = SearchInBuf(hbuf, "^LLD\\s+=\\s+", ln, 0, 1, 1, 0)
513     col = sel.ichLim
514     sLine = GetBufLine(hbuf, sel.lnFirst)
515     rvSum.LLD = strmid(sLine, col, strlen(sLine))
516 
517     sel = SearchInBuf(hbuf, "^TP\\s+=\\s+", ln, 0, 1, 1, 0)
518     col = sel.ichLim
519     sLine = GetBufLine(hbuf, sel.lnFirst)
520     rvSum.TP = strmid(sLine, col, strlen(sLine))
521 
522     sel = SearchInBuf(hbuf, "^Code\\s+=\\s+", ln, 0, 1, 1, 0)
523     col = sel.ichLim
524     sLine = GetBufLine(hbuf, sel.lnFirst)
525     rvSum.Code = strmid(sLine, col, strlen(sLine))
526 
527     sel = SearchInBuf(hbuf, "^UM\\s+=\\s+", ln, 0, 1, 1, 0)
528     col = sel.ichLim
529     sLine = GetBufLine(hbuf, sel.lnFirst)
530     rvSum.Docs = strmid(sLine, col, strlen(sLine))
531 
532     sel = SearchInBuf(hbuf, "^Others\\s+=\\s+", ln, 0, 1, 1, 0)
533     col = sel.ichLim
534     sLine = GetBufLine(hbuf, sel.lnFirst)
535     rvSum.Others = strmid(sLine, col, strlen(sLine))
536 
537     return rvSum
538 }
539 
540 macro setReviewSummary(hbuf, rvSum)
541 {
542     AppendBufLine(hbuf, "")
543     AppendBufLine(hbuf, "Summary")
544     AppendBufLine(hbuf, "-------------------------------------------------------------------------")
545     
546     /* Defects sumary */
547     AppendBufLine(hbuf, "[Defects sumary]:")
548     s = Cat("Total defects = ", rvSum.general + rvSum.suggest + rvSum.major + rvSum.query)
549     AppendBufLine(hbuf, s)
550     s = Cat("General = ", rvSum.general)
551     AppendBufLine(hbuf, s)
552     s = Cat("Suggest = ", rvSum.suggest)
553     AppendBufLine(hbuf, s)
554     s = Cat("Major = ", rvSum.major)
555     AppendBufLine(hbuf, s)
556     s = Cat("Query = ", rvSum.query)
557     AppendBufLine(hbuf, s)
558     
559     /* Status sumary */
560     AppendBufLine(hbuf, "")
561     AppendBufLine(hbuf, "[Status sumary]:")
562     s = Cat("Open = ", rvSum.open)
563     AppendBufLine(hbuf, s)
564     s = Cat("Closed = ", rvSum.closed)
565     AppendBufLine(hbuf, s)
566     s = " ";
567     AppendBufLine(hbuf, s)
568     s = Cat("Rejected = ", rvSum.rejected)
569     AppendBufLine(hbuf, s)
570 
571     /* Categories summary */
572     AppendBufLine(hbuf, "")
573     AppendBufLine(hbuf, "[Defects categories]:")
574     s = Cat("Total defects = ", rvSum.SysReq + rvSum.SDes + rvSum.SRS + rvSum.HLD + rvSum.LLD + rvSum.TP + rvSum.Code + rvSum.Docs + rvSum.Others)
575     AppendBufLine(hbuf, s)
576     s = Cat("SysReq = ", rvSum.SysReq)
577     AppendBufLine(hbuf, s)
578     s = Cat("SDes = ", rvSum.SDes)
579     AppendBufLine(hbuf, s)
580     s = Cat("SRS = ", rvSum.SRS)
581     AppendBufLine(hbuf, s)
582     s = Cat("HLD = ", rvSum.HLD)
583     AppendBufLine(hbuf, s)
584     s = Cat("LLD = ", rvSum.LLD)
585     AppendBufLine(hbuf, s)
586     s = Cat("TP = ", rvSum.TP)
587     AppendBufLine(hbuf, s)
588     s = Cat("Code = ", rvSum.Code)
589     AppendBufLine(hbuf, s)
590     s = Cat("UM = ", rvSum.Docs)
591     AppendBufLine(hbuf, s)
592     s = Cat("Others = ", rvSum.Others)
593     AppendBufLine(hbuf, s)
594 }
595 
596 macro delSummary(hbuf)
597 {
598     sSign123 = "-----------------------Convert to lotus123 format-----------------------------------"
599     
600     sel = SearchInBuf(hbuf, "^Summary$", 0, 0, 1, 1, 0)
601     tpsel = SearchInBuf(hbuf, sSign123, 0, 0, 1, 1, 0)
602     if(tpsel == null)
603         tpln = 0
604     else
605         tpln = tpsel.lnFirst
606     
607     if (sel == null)
608         return 
609     else
610     {
611         ln = sel.lnFirst
612         LineCount = GetBufLineCount(hbuf) - 1
613         
614         if(tpln > ln)
615             LineCount = tpln - 1 
616             
617         while(LineCount >= ln)
618         {
619             DelBufLine(hbuf, LineCount)
620             LineCount = LineCount -1;
621         }
622     }
623 }
624 
625 macro delConver123(hbuf)
626 {
627     sSign123 = "-----------------------Convert to lotus123 format-----------------------------------"
628     
629     tpsel = SearchInBuf(hbuf, "^Summary$", 0, 0, 1, 1, 0)
630     sel = SearchInBuf(hbuf, sSign123, 0, 0, 1, 1, 0)
631     if(tpsel == null)
632         tpln = 0
633     else
634         tpln = tpsel.lnFirst
635     
636     if (sel == null)
637         return 
638     else
639     {
640         ln = sel.lnFirst
641         LineCount = GetBufLineCount(hbuf) - 1
642         
643         if(tpln > ln)
644             LineCount = tpln - 1 
645             
646         while(LineCount >= (ln - 2))
647         {
648             DelBufLine(hbuf, LineCount)
649             LineCount = LineCount -1;
650         }
651     }
652 }
653 
654 macro norejected(hbuf, ln)
655 {
656     sel = SearchInBuf(hbuf, "^Status\\s+:\\s+", ln, 0, 1, 1, 0)
657     if (sel == null) return True;
658         
659     ln = sel.lnFirst
660     col = sel.ichLim
661     s = GetBufLine(hbuf, ln)
662     sTemp = strmid(s, col, col+1)
663     sTemp = toupper(sTEmp);
664         
665     if (sTemp == "R") return  False;
666 
667     return True;
668 }
669 
670 macro IsDefect(hbuf, ln)
671 {
672     sel = SearchInBuf(hbuf, "^Class\\s+:\\s+", ln, 0, 1, 1, 0)
673     if (sel == null) return True;
674         
675     ln = sel.lnFirst
676     col = sel.ichLim
677     s = GetBufLine(hbuf, ln)
678     sTemp = strmid(s, col, col+1)
679     sTemp = toupper(sTEmp);
680         
681     if (sTemp == "Q") return  False;
682 
683     return True;
684 }

 

sourceInsight的CodeReview.em的宏

标签:

原文地址:http://www.cnblogs.com/ahcc08/p/4314467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!