Modified display of GRS-1 records to include headings for standard
[ir-tcl-moved-to-github.git] / formats / medium.tcl
index 1f189e4..af10b31 100644 (file)
@@ -4,7 +4,29 @@
 # Sebastian Hammer, Adam Dickmeiss
 #
 # $Log: medium.tcl,v $
-# Revision 1.6  1995-09-20 11:37:06  adam
+# 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
+# Minor changes in presentation formats.
+#
+# Revision 1.8  1995/10/17  10:58:09  adam
+# More work on presentation formats.
+#
+# Revision 1.7  1995/10/16  17:01:03  adam
+# Medium presentation format looks better.
+#
+# Revision 1.6  1995/09/20  11:37:06  adam
 # Work on GRS.
 #
 # Revision 1.5  1995/06/22  13:16:29  adam
 #
 #
 proc display-grs-medium {w r i} {
+    global tagSet
+    
+    if {[tk4]} {
+        set start [$w index insert]
+    }
     foreach e $r {
-        for {set j 0} {$j < $i} {incr j} {
-            insertWithTags $w "  " {}
+        if {![tk4]} {
+            for {set j 0} {$j < $i} {incr j} {
+                insertWithTags $w "  " marc-tag
+            }
+        }
+        set ttype [lindex $e 0]
+        set tval [lindex $e 2]
+        if {[info exists tagSet($ttype,$tval)]} {
+            insertWithTags $w "$tagSet($ttype,$tval) " marc-pref
+        } else {
+            insertWithTags $w "$tval " marc-pref
         }
-        insertWithTags $w "([lindex $e 0]:[lindex $e 2])" marc-tag
         if {[lindex $e 3] == "string"} {
-            insertWithTags $w [lindex $e 4] {}
-            insertWithTags $w "\n" {}
+            insertWithTags $w [lindex $e 4] marc-text
+            insertWithTags $w "\n"
         } elseif {[lindex $e 3] == "subtree"} {
-            insertWithTags $w "\n" {}
+            insertWithTags $w "\n"
             display-grs-medium $w [lindex $e 4] [expr $i+1]
         } else {
-            insertWithTags [lindex $e 4] {}
+            insertWithTags $w [lindex $e 4] {}
             insertWithTags $w " ?\n" {}
         }
     }
+    if {[tk4]} {
+        $w tag configure indent$i \
+                -lmargin1 [expr $i * 10] \
+                -lmargin2 [expr $i * 10 + 5]
+        $w tag add indent$i $start insert
+    }
 }
 
+# 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 "\n$no\n" marc-data
+        insertWithTags $w " $no " marc-head
+        insertWithTags $w "\n"
     } else {
         $w delete 0.0 end
     }
@@ -62,12 +111,13 @@ proc display-medium {sno no w hflag} {
         return
     }
     set rtype [z39.$sno recordType $no]
+    puts $rtype
     if {$rtype == "SUTRS"} {
         insertWithTags $w [join [z39.$sno getSutrs $no]] {}
         $w insert end "\n"
         return
     } 
-    if {$rtype == "GRS1"} {
+    if {$rtype == "GRS-1"} {
         display-grs-medium $w [z39.$sno getGrs $no] 0
         return
     }
@@ -76,11 +126,11 @@ proc display-medium {sno no w hflag} {
         return
     }
     if {"x$i" != "x"} {
-        insertWithTags $w "Title:      " marc-tag
-        insertWithTags $w [string trimright [lindex $i 0] /] marc-data
+        insertWithTags $w "Title " marc-pref
+        insertWithTags $w [string trimright [lindex $i 0] /] marc-text
         set i [z39.$sno getMarc $no field 245 * b]
         if {"x$i" != "x"} {
-            insertWithTags $w [string trimright [lindex $i 0] /] marc-data
+            insertWithTags $w [string trimright [lindex $i 0] /] marc-text
         }
         $w insert end "\n"
     }
@@ -90,20 +140,20 @@ proc display-medium {sno no w hflag} {
     }
     if {"x$i" != "x"} {
         if {[llength $i] > 1} {
-            insertWithTags $w "Authors:    " marc-tag
+            insertWithTags $w "Authors " marc-pref
         } else {
-            insertWithTags $w "Author:     " marc-tag
+            insertWithTags $w "Author " marc-pref
         }
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-it
         }
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 110 * *]
     if {"x$i" != "x"} {
-        insertWithTags $w "Co-Author:  " marc-tag
+        insertWithTags $w "Co-Author " marc-pref
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-text
         }
         $w insert end "\n"
     }
@@ -111,12 +161,12 @@ proc display-medium {sno no w hflag} {
     set i [z39.$sno getMarc $no field 650 * *]
     if {"x$i" != "x"} {
         set n 0
-        insertWithTags $w "Keywords:   " marc-tag
+        insertWithTags $w "Keywords " marc-pref
         foreach x $i {
             if {$n > 0} {
                 $w insert end ", "
             }
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-it
             incr n
         }
         $w insert end "\n"
@@ -124,49 +174,57 @@ proc display-medium {sno no w hflag} {
     set i [concat [z39.$sno getMarc $no field 260 * a] \
             [z39.$sno getMarc $no field 260 * b]]
     if {"x$i" != "x"} {
-        insertWithTags $w "Publisher:  " marc-tag
+        insertWithTags $w "Publisher " marc-pref
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-text
         }
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 020 * a]
     if {"x$i" != "x"} {
-        insertWithTags $w "ISBN:       " marc-tag
+        insertWithTags $w "ISBN " marc-pref
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-text
         }
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 022 * a]
     if {"x$i" != "x"} {
-        insertWithTags $w "ISSN:       " marc-tag
+        insertWithTags $w "ISSN " marc-pref
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-text
         }
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 030 * a]
     if {"x$i" != "x"} {
-        insertWithTags $w "CODEN:      " marc-tag
+        insertWithTags $w "CODEN " marc-pref
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-text
         }
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 015 * a]
     if {"x$i" != "x"} {
-        insertWithTags $w "Ctl number: " marc-tag
+        insertWithTags $w "Ctl number " marc-pref
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-text
         }
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 010 * a]
     if {"x$i" != "x"} {
-        insertWithTags $w "LC number:  " marc-tag
+        insertWithTags $w "LC number " marc-pref
+        foreach x $i {
+            insertWithTags $w $x marc-text
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 710 * a]
+    if {"x$i" != "x"} {
+        insertWithTags $w "Corporate name " marc-pref
         foreach x $i {
-            insertWithTags $w $x marc-data
+            insertWithTags $w $x marc-text
         }
         $w insert end "\n"
     }