Allow YAZ 2 series only
[ir-tcl-moved-to-github.git] / formats / line.tcl
index 05bf2a5..b3b5212 100644 (file)
@@ -4,7 +4,20 @@
 # Sebastian Hammer, Adam Dickmeiss
 #
 # $Log: line.tcl,v $
-# Revision 1.11  1996-01-23 15:24:21  adam
+# Revision 1.15  1997-11-24 11:34:38  adam
+# Using odr_nullval() instead of ODR_NULLVAL when appropriate.
+#
+# Revision 1.14  1997/11/19 11:22:10  adam
+# Object identifiers can be accessed in GRS-1 records.
+#
+# 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:21  adam
 # Wrore more comments.
 #
 # Revision 1.10  1995/10/17  17:39:46  adam
 # as popup windows.
 #
 #
-
 proc display-grs-line {w r i} {
+    global tagSet
+    
+    if {[tk4]} {
+        set start [$w index insert]
+    }
+    set head Untitled
     foreach e $r {
-        for {set j 0} {$j < $i} {incr j} {
-            insertWithTags $w "  " {}
-        }
-        insertWithTags $w "([lindex $e 0]:[lindex $e 2])" marc-tag
-        if {[lindex $e 3] == "string"} {
-            insertWithTags $w [lindex $e 4] {}
-            insertWithTags $w "\n" {}
-        } elseif {[lindex $e 3] == "subtree"} {
-            insertWithTags $w "\n" {}
-            display-grs-line $w [lindex $e 4] [expr $i+1]
-        } else {
-            insertWithTags $w [lindex $e 4] {}
-            insertWithTags $w " ?\n" {}
+        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 {$ttype == 2 && $tval == 1} {
+           if {[lindex $e 3] == "subtree"} {
+               set f [lindex $e 4]
+               foreach e $f {
+                   if {[lindex $e 0] == 1 && [lindex $e 2] == 19} {
+                       break
+                   }
+               }
+           }
+           if {[lindex $e 3] == "string"} {
+                set head [lindex $e 4]
+           }
+            break
+       }
+    }
+    insertWithTags $w $head marc-text
+    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
     }
 }
 
@@ -94,7 +127,7 @@ proc display-line {sno no w hflag} {
         set rtype [z39.$sno recordType $no]
         if {$rtype == "SUTRS"} {
             insertWithTags $w [join [z39.$sno getSutrs $no]]
-        } elseif {$rtype == "GRS1"} {
+        } elseif {$rtype == "GRS-1"} {
             display-grs-line $w [z39.$sno getGrs $no] 0
         } else {
             if {[catch {