119304Speter# @(#)gnats.tcl 8.2 (Berkeley) 11/18/95 219304Speter# 319304Speterproc init {catFile} { 419304Speter global viScreenId 519304Speter global categories 619304Speter set categories {} 719304Speter set categoriesFile [open $catFile r] 819304Speter while {[gets $categoriesFile line] >= 0} { 919304Speter lappend categories $line 1019304Speter } 1119304Speter close $categoriesFile 1219304Speter viMsg $viScreenId $categories 1319304Speter viMapKey $viScreenId next 1419304Speter} 1519304Speter 1619304Speterproc next {} { 1719304Speter global viScreenId 1819304Speter set cursor [viGetCursor $viScreenId] 1919304Speter set lineNum [lindex $cursor 0] 2019304Speter set line [viGetLine $viScreenId $lineNum] 2119304Speter viMsg $viScreenId [lindex $line 0] 2219304Speter if {[lindex $line 0] == ">Confidential:"} { 2319304Speter confNext $lineNum $line 2419304Speter } elseif {[lindex $line 0] == ">Severity:"} { 2519304Speter sevNext $lineNum $line 2619304Speter } elseif {[lindex $line 0] == ">Priority:"} { 2719304Speter priNext $lineNum $line 2819304Speter } elseif {[lindex $line 0] == ">Class:"} { 2919304Speter classNext $lineNum $line 3019304Speter } elseif {[lindex $line 0] == ">Category:"} { 3119304Speter catNext $lineNum $line 3219304Speter } 3319304Speter} 3419304Speter 3519304Speterproc confNext {lineNum line} { 3619304Speter global viScreenId 3719304Speter viMsg $viScreenId [lindex $line 1] 3819304Speter if {[lindex $line 1] == "yes"} { 3919304Speter viSetLine $viScreenId $lineNum ">Confidential: no" 4019304Speter } else { 4119304Speter viSetLine $viScreenId $lineNum ">Confidential: yes" 4219304Speter } 4319304Speter} 4419304Speter 4519304Speterproc sevNext {lineNum line} { 4619304Speter global viScreenId 4719304Speter viMsg $viScreenId [lindex $line 1] 4819304Speter if {[lindex $line 1] == "non-critical"} { 4919304Speter viSetLine $viScreenId $lineNum ">Severity: serious" 5019304Speter } elseif {[lindex $line 1] == "serious"} { 5119304Speter viSetLine $viScreenId $lineNum ">Severity: critical" 5219304Speter } elseif {[lindex $line 1] == "critical"} { 5319304Speter viSetLine $viScreenId $lineNum ">Severity: non-critical" 5419304Speter } 5519304Speter} 5619304Speter 5719304Speterproc priNext {lineNum line} { 5819304Speter global viScreenId 5919304Speter viMsg $viScreenId [lindex $line 1] 6019304Speter if {[lindex $line 1] == "low"} { 6119304Speter viSetLine $viScreenId $lineNum ">Priority: medium" 6219304Speter } elseif {[lindex $line 1] == "medium"} { 6319304Speter viSetLine $viScreenId $lineNum ">Priority: high" 6419304Speter } elseif {[lindex $line 1] == "high"} { 6519304Speter viSetLine $viScreenId $lineNum ">Priority: low" 6619304Speter } 6719304Speter} 6819304Speter 6919304Speterproc classNext {lineNum line} { 7019304Speter global viScreenId 7119304Speter viMsg $viScreenId [lindex $line 1] 7219304Speter if {[lindex $line 1] == "sw-bug"} { 7319304Speter viSetLine $viScreenId $lineNum ">Class: doc-bug" 7419304Speter } elseif {[lindex $line 1] == "doc-bug"} { 7519304Speter viSetLine $viScreenId $lineNum ">Class: change-request" 7619304Speter } elseif {[lindex $line 1] == "change-request"} { 7719304Speter viSetLine $viScreenId $lineNum ">Class: support" 7819304Speter } elseif {[lindex $line 1] == "support"} { 7919304Speter viSetLine $viScreenId $lineNum ">Class: sw-bug" 8019304Speter } 8119304Speter} 8219304Speter 8319304Speterproc catNext {lineNum line} { 8419304Speter global viScreenId 8519304Speter global categories 8619304Speter viMsg $viScreenId [lindex $line 1] 8719304Speter set curr [lsearch -exact $categories [lindex $line 1]] 8819304Speter if {$curr == -1} { 8919304Speter set curr 0 9019304Speter } 9119304Speter viMsg $viScreenId $curr 9219304Speter viSetLine $viScreenId $lineNum ">Class: [lindex $categories $curr]" 9319304Speter} 9419304Speter 9519304Speterinit abekas 96