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