xref: /netbsd-src/external/bsd/nvi/dist/tcl_scripts/gnats.tcl (revision dbd550ed1a6686d6600f748306f9cc03d8cd4c94)
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