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