1*dbd550edSchristos# Id: gnats.tcl,v 8.2 1995/11/18 12:59:07 bostic Exp (Berkeley) Date: 1995/11/18 12:59:07 2*dbd550edSchristos# 3*dbd550edSchristosproc init {catFile} { 4*dbd550edSchristos global viScreenId 5*dbd550edSchristos global categories 6*dbd550edSchristos set categories {} 7*dbd550edSchristos set categoriesFile [open $catFile r] 8*dbd550edSchristos while {[gets $categoriesFile line] >= 0} { 9*dbd550edSchristos lappend categories $line 10*dbd550edSchristos } 11*dbd550edSchristos close $categoriesFile 12*dbd550edSchristos viMsg $viScreenId $categories 13*dbd550edSchristos viMapKey $viScreenId next 14*dbd550edSchristos} 15*dbd550edSchristos 16*dbd550edSchristosproc next {} { 17*dbd550edSchristos global viScreenId 18*dbd550edSchristos set cursor [viGetCursor $viScreenId] 19*dbd550edSchristos set lineNum [lindex $cursor 0] 20*dbd550edSchristos set line [viGetLine $viScreenId $lineNum] 21*dbd550edSchristos viMsg $viScreenId [lindex $line 0] 22*dbd550edSchristos if {[lindex $line 0] == ">Confidential:"} { 23*dbd550edSchristos confNext $lineNum $line 24*dbd550edSchristos } elseif {[lindex $line 0] == ">Severity:"} { 25*dbd550edSchristos sevNext $lineNum $line 26*dbd550edSchristos } elseif {[lindex $line 0] == ">Priority:"} { 27*dbd550edSchristos priNext $lineNum $line 28*dbd550edSchristos } elseif {[lindex $line 0] == ">Class:"} { 29*dbd550edSchristos classNext $lineNum $line 30*dbd550edSchristos } elseif {[lindex $line 0] == ">Category:"} { 31*dbd550edSchristos catNext $lineNum $line 32*dbd550edSchristos } 33*dbd550edSchristos} 34*dbd550edSchristos 35*dbd550edSchristosproc confNext {lineNum line} { 36*dbd550edSchristos global viScreenId 37*dbd550edSchristos viMsg $viScreenId [lindex $line 1] 38*dbd550edSchristos if {[lindex $line 1] == "yes"} { 39*dbd550edSchristos viSetLine $viScreenId $lineNum ">Confidential: no" 40*dbd550edSchristos } else { 41*dbd550edSchristos viSetLine $viScreenId $lineNum ">Confidential: yes" 42*dbd550edSchristos } 43*dbd550edSchristos} 44*dbd550edSchristos 45*dbd550edSchristosproc sevNext {lineNum line} { 46*dbd550edSchristos global viScreenId 47*dbd550edSchristos viMsg $viScreenId [lindex $line 1] 48*dbd550edSchristos if {[lindex $line 1] == "non-critical"} { 49*dbd550edSchristos viSetLine $viScreenId $lineNum ">Severity: serious" 50*dbd550edSchristos } elseif {[lindex $line 1] == "serious"} { 51*dbd550edSchristos viSetLine $viScreenId $lineNum ">Severity: critical" 52*dbd550edSchristos } elseif {[lindex $line 1] == "critical"} { 53*dbd550edSchristos viSetLine $viScreenId $lineNum ">Severity: non-critical" 54*dbd550edSchristos } 55*dbd550edSchristos} 56*dbd550edSchristos 57*dbd550edSchristosproc priNext {lineNum line} { 58*dbd550edSchristos global viScreenId 59*dbd550edSchristos viMsg $viScreenId [lindex $line 1] 60*dbd550edSchristos if {[lindex $line 1] == "low"} { 61*dbd550edSchristos viSetLine $viScreenId $lineNum ">Priority: medium" 62*dbd550edSchristos } elseif {[lindex $line 1] == "medium"} { 63*dbd550edSchristos viSetLine $viScreenId $lineNum ">Priority: high" 64*dbd550edSchristos } elseif {[lindex $line 1] == "high"} { 65*dbd550edSchristos viSetLine $viScreenId $lineNum ">Priority: low" 66*dbd550edSchristos } 67*dbd550edSchristos} 68*dbd550edSchristos 69*dbd550edSchristosproc classNext {lineNum line} { 70*dbd550edSchristos global viScreenId 71*dbd550edSchristos viMsg $viScreenId [lindex $line 1] 72*dbd550edSchristos if {[lindex $line 1] == "sw-bug"} { 73*dbd550edSchristos viSetLine $viScreenId $lineNum ">Class: doc-bug" 74*dbd550edSchristos } elseif {[lindex $line 1] == "doc-bug"} { 75*dbd550edSchristos viSetLine $viScreenId $lineNum ">Class: change-request" 76*dbd550edSchristos } elseif {[lindex $line 1] == "change-request"} { 77*dbd550edSchristos viSetLine $viScreenId $lineNum ">Class: support" 78*dbd550edSchristos } elseif {[lindex $line 1] == "support"} { 79*dbd550edSchristos viSetLine $viScreenId $lineNum ">Class: sw-bug" 80*dbd550edSchristos } 81*dbd550edSchristos} 82*dbd550edSchristos 83*dbd550edSchristosproc catNext {lineNum line} { 84*dbd550edSchristos global viScreenId 85*dbd550edSchristos global categories 86*dbd550edSchristos viMsg $viScreenId [lindex $line 1] 87*dbd550edSchristos set curr [lsearch -exact $categories [lindex $line 1]] 88*dbd550edSchristos if {$curr == -1} { 89*dbd550edSchristos set curr 0 90*dbd550edSchristos } 91*dbd550edSchristos viMsg $viScreenId $curr 92*dbd550edSchristos viSetLine $viScreenId $lineNum ">Class: [lindex $categories $curr]" 93*dbd550edSchristos} 94*dbd550edSchristos 95*dbd550edSchristosinit abekas 96