home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Spezial / SPEZIAL2_97.zip / SPEZIAL2_97.iso / ANWEND / EDITOR / NVI179B / NVI179B.ZIP / tcl_scripts / gnats.tcl < prev    next >
Text File  |  1995-11-18  |  3KB  |  96 lines

  1. #    @(#)gnats.tcl    8.2 (Berkeley) 11/18/95
  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.