X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=formats%2Fmedium.tcl;h=5f3aa335e231cfd71cbb752c5093da3dee983b4d;hb=47ff6a5015c5ee76100a92f9b5a3caf5f6dd9eb5;hp=b9a42a61c542fc644e2ca38bdd10bea97b6110af;hpb=879835d3c8649aa8e54f2bb8b495a9b6988b59e9;p=ir-tcl-moved-to-github.git diff --git a/formats/medium.tcl b/formats/medium.tcl index b9a42a6..5f3aa33 100644 --- a/formats/medium.tcl +++ b/formats/medium.tcl @@ -4,7 +4,20 @@ # Sebastian Hammer, Adam Dickmeiss # # $Log: medium.tcl,v $ -# Revision 1.10 1996-01-11 09:31:05 quinn +# Revision 1.14 1996-04-12 13:45:49 adam +# Minor changes. +# +# Revision 1.13 1996/04/12 12:25:27 adam +# Modified display of GRS-1 records to include headings for standard +# tag sets. +# +# Revision 1.12 1996/03/29 16:05:36 adam +# Bug fix: GRS records wasn't recognized. +# +# Revision 1.11 1996/01/23 15:24:23 adam +# Wrore more comments. +# +# Revision 1.10 1996/01/11 09:31:05 quinn # Small. # # Revision 1.9 1995/10/17 14:18:10 adam @@ -36,24 +49,53 @@ # # proc display-grs-medium {w r i} { + global tagSet + foreach e $r { - for {set j 0} {$j < $i} {incr j} { - insertWithTags $w " " marc-tag + if {[tk4]} { + set start [$w index insert] + } else { + for {set j 0} {$j < $i} {incr j} { + insertWithTags $w " " marc-tag + } + } + set ttype [lindex $e 0] + set tval [lindex $e 2] + if {$ttype == 3} { + insertWithTags $w "$tval " marc-pref + } elseif {[info exists tagSet($ttype,$tval)]} { + insertWithTags $w "$tagSet($ttype,$tval) " marc-pref + } else { + insertWithTags $w "($ttype,$tval) " marc-tag } - insertWithTags $w "([lindex $e 0]:[lindex $e 2]) " marc-tag if {[lindex $e 3] == "string"} { - insertWithTags $w [lindex $e 4] {} + insertWithTags $w [lindex $e 4] marc-text insertWithTags $w "\n" } elseif {[lindex $e 3] == "subtree"} { insertWithTags $w "\n" - display-grs-medium $w [lindex $e 4] [expr $i+1] } else { insertWithTags $w [lindex $e 4] {} insertWithTags $w " ?\n" {} } + if {[tk4]} { + $w tag configure indent$i \ + -lmargin1 [expr $i * 16] \ + -lmargin2 [expr $i * 16 + 8] + $w tag add indent$i $start insert + } + if {[lindex $e 3] == "subtree"} { + display-grs-medium $w [lindex $e 4] [expr $i+1] + } } } +# Procedure display-medium {sno no w hflag} +# sno result set number (integer) +# no record position (integer) +# w text widget in which the record should be displayed +# hflag header flag. If true a header showing the record position +# should be displayed. +# This procedure attempts to display records in a medium-sized format. proc display-medium {sno no w hflag} { if {$hflag} { insertWithTags $w " $no " marc-head @@ -80,7 +122,7 @@ proc display-medium {sno no w hflag} { $w insert end "\n" return } - if {$rtype == "GRS1"} { + if {$rtype == "GRS-1"} { display-grs-medium $w [z39.$sno getGrs $no] 0 return }