Diff for /capa/capa51/GUITools/quizzer.tcl between versions 1.5 and 1.6

version 1.5, 1999/10/26 16:47:36 version 1.6, 1999/10/28 16:32:07
Line 2228  proc createPreviewWindow {} { Line 2228  proc createPreviewWindow {} {
 }  }
   
 ###########################################################  ###########################################################
   # openError
   ###########################################################
   ###########################################################
   ###########################################################
   proc openError { file line type} {
       global gRefLine gLineNumberGoto gTextWindow
       if { $type == 2 } {
    set gLineNumberGoto $line
    gotoLine
    capaRaise [winfo toplevel $gTextWindow]
       } else {
    if {[set num [openReferenceFile $file]]} {
       update idletasks
       set gRefLine($num) $line
       gotoRefLine $num
    }
       }
   }
   
   ###########################################################
   # showParseErrors
 ###########################################################  ###########################################################
 ###########################################################  ###########################################################
 ###########################################################  ###########################################################
 proc showParseErrors {} {  proc showParseErrors {} {
     global gParseErrorsText gWindowMenu      global gParseErrorsText gWindowMenu gUniqueNumber gCapaConfig
   
     set parseErrors [getParseErrors]      set parseErrors [getParseErrors]
           
Line 2283  proc showParseErrors {} { Line 2304  proc showParseErrors {} {
     capaRaise .parseErrors      capaRaise .parseErrors
  }   }
  foreach line [split $parseErrors "\n"] {   foreach line [split $parseErrors "\n"] {
     if { [regexp {File:.+->(.+), Line ([0-9]+): ERROR:} $line a one two three four five]} {      set tag 0
  puts a:$a      if { [regexp -indices {File:.+->(.+), Line ([0-9]+): ERROR:} $line result file linenum]} {
  puts one:$one   set tag 1
  puts two:$two  
  puts three:$three  
  puts four:$four  
  puts five:$five  
     } else {      } else {
  if { [regexp {File:(.+), Line ([0-9]+): ERROR:} $line a one two three four five]} {   if { [regexp -indices {File:(.+), Line ([0-9]+): ERROR:} $line result file linenum]} {
     puts a:$a      set tag 2
     puts one:$one  
     puts two:$two  
     puts three:$three  
     puts four:$four  
     puts five:$five  
  }   }
     }      }
       if { $tag } {
    set tagnum [incr gUniqueNumber]
    set linenum [eval [list string range $line] $linenum]
    set filename [eval [list string range $line] $file]
    set i [expr [lindex [split [$gParseErrorsText index end] .] 0] - 1]
       }
       $gParseErrorsText insert end "$line\n"
       if { $tag } {
    $gParseErrorsText tag add error.$tagnum $i.[lindex $file 0] $i.[expr [lindex $file 1] + 1]
    $gParseErrorsText tag configure error.$tagnum -foreground $gCapaConfig(IMP_color)
    $gParseErrorsText tag bind error.$tagnum <Double-ButtonPress> \
       "eval openError $filename $linenum $tag"
       }
  }   }
  $gParseErrorsText insert end $parseErrors  
     } else {      } else {
  if { [winfo exists .parseErrors] } { $gParseErrorsText delete 0.0 end }   if { [winfo exists .parseErrors] } { $gParseErrorsText delete 0.0 end }
     }      }
Line 2731  proc isReferenceFileOpen { file } { Line 2755  proc isReferenceFileOpen { file } {
     set entryfile [lindex $entry 1]      set entryfile [lindex $entry 1]
  }   }
 # puts $entryfile  # puts $entryfile
  if { [catch {file stat $entryfile a1}] } { puts skipped;continue }   if { [catch {file stat $entryfile a1}] } { continue }
  file stat $file a2   file stat $file a2
 # puts "$a2(ino) == $a1(ino)"  # puts "$a2(ino) == $a1(ino)"
  if { $a2(ino) == $a1(ino) } {   if { $a2(ino) == $a1(ino) } {
Line 2788  proc openReferenceFile { {file ""} {new Line 2812  proc openReferenceFile { {file ""} {new
       -title "Select the proper file" \        -title "Select the proper file" \
       -initialdir "$gDir(reference)" ]        -initialdir "$gDir(reference)" ]
  event generate .main <ButtonRelease-1>   event generate .main <ButtonRelease-1>
  if { $file == "" } { return }   if { $file == "" } { return 0 }
  set gDir(reference) [file dirname $file]   set gDir(reference) [file dirname $file]
   
  if { [file isdirectory $file] } {   if { [file isdirectory $file] } {
     displayError "You attempted to open $file which is a directory not a file."      displayError "You attempted to open $file which is a directory not a file."
     return      return 0
  }   }
     } else {      } else {
  if { !$new } {   if { !$new } {
     if { [set window [isReferenceFileOpen $file] ] != "" } {       if { [set window [isReferenceFileOpen $file] ] != "" } { 
    set num [lindex [split [lindex [split $window .] 1] e] end]
  capaRaise $window   capaRaise $window
  return    return $num
     }      }
     # specifically opening the capa.config file      # specifically opening the capa.config file
     if { $file == "capa.config" } {      if { $file == "capa.config" } {
Line 2810  proc openReferenceFile { {file ""} {new Line 2835  proc openReferenceFile { {file ""} {new
       { {All Files} {"*"} } } \        { {All Files} {"*"} } } \
   -title "Select the proper file" \    -title "Select the proper file" \
   -initialdir "$gDir(reference)" ]    -initialdir "$gDir(reference)" ]
     if { $file == "" } { return }      if { $file == "" } { return 0 }
  } else {   } else {
     set file [file join [file dirname $gFile] capa.config]      set file [file join [file dirname $gFile] capa.config]
  }   }
     } else {      } else {
  if { ![file isfile $file] && ![file readable $file] } {   if { ![file isfile $file] && ![file readable $file] } {
     displayError "Unable to find $file"      displayError "Unable to find $file"
     return      return 0
  }   }
  if { [file isdirectory $file] } {   if { [file isdirectory $file] } {
     displayError "You attempted to open $file which is a directory not a file."      displayError "You attempted to open $file which is a directory not a file."
     return      return 0
  }   }
     }      }
  }   }
Line 2939  proc openReferenceFile { {file ""} {new Line 2964  proc openReferenceFile { {file ""} {new
     set gRefChanged($num) 0      set gRefChanged($num) 0
     set gRefClosed($num) 0      set gRefClosed($num) 0
     addFindList $num      addFindList $num
       return $num
 }  }
   
 ###########################################################  ###########################################################
Line 2995  proc trackChanges { procName num } { Line 3021  proc trackChanges { procName num } {
 ###########################################################  ###########################################################
 ###########################################################  ###########################################################
 proc undo { num } {  proc undo { num } {
     global gUndo gRefText gTextWindow      global gUndo gRefText gTextWindow gChanged gRefChanged
     if { $gUndo($num.cur) == 0 } { return }      if { $gUndo($num.cur) == 0 } { return }
     set undoInfo $gUndo($num.$gUndo($num.cur))      set undoInfo $gUndo($num.$gUndo($num.cur))
     if { [regexp {.*[\"/].*} $undoInfo] } {      if { [regexp {.*[\"/].*} $undoInfo] } {
Line 3006  proc undo { num } { Line 3032  proc undo { num } {
     }      }
     if { $num == 0 } {      if { $num == 0 } {
  if {[catch {eval ".$gTextWindow $gUndo($num.$gUndo($num.cur))"}]} { return }   if {[catch {eval ".$gTextWindow $gUndo($num.$gUndo($num.cur))"}]} { return }
    set gChanged 1
     } else {      } else {
  if {[catch {eval ".$gRefText($num) $gUndo($num.$gUndo($num.cur))"}]} { return }   if {[catch {eval ".$gRefText($num) $gUndo($num.$gUndo($num.cur))"}]} { return }
    set gRefChanged($num) 1
     }      }
     incr gUndo($num.cur) -1      incr gUndo($num.cur) -1
 }  }

Removed from v.1.5  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>