X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=www%2Fz39util.tcl;h=9413385cd2cd430fdb8d20c7637e9601561206dd;hb=6ceeaa167e3ef2970b6ef0ce2b6c7d9c362eda0a;hp=8035c60b3b6e07f710b9815b5d7534a5a96bceed;hpb=2213843897f0bc54bc535935c56fe830648b171a;p=egate.git diff --git a/www/z39util.tcl b/www/z39util.tcl index 8035c60..9413385 100644 --- a/www/z39util.tcl +++ b/www/z39util.tcl @@ -1,5 +1,5 @@ # -# $Id: z39util.tcl,v 1.14 1995/12/22 14:21:16 adam Exp $ +# $Id: z39util.tcl,v 1.16 1996/01/03 08:59:45 adam Exp $ # proc saveState {} { uplevel #0 { @@ -361,20 +361,18 @@ proc display-rec {from to dfunc tno} { } } -proc build-scan {t ilines} { +proc build-scan {t i} { global targets - for {set i 1} {$i <= $ilines} {incr i} { - set term [wform entry$i] - if {$term != ""} { - set field [wform menu$i] - foreach x [lindex $targets($t) 2] { - if {[lindex $x 0] == $field} { - set attr [lindex $x 1] - } + set term [wform entry$i] + if {$term != ""} { + set field [wform menu$i] + foreach x [lindex $targets($t) 2] { + if {[lindex $x 0] == $field} { + set attr [lindex $x 1] } - return [list $term $attr] } + return [list $term $attr] } return "" } @@ -409,7 +407,7 @@ proc build-query {t ilines} { return $q } -proc z39scan {setNo scanNo tno scanLines scanPos} { +proc z39scan {setNo scanNo tno scanLines scanPos cache} { global hist global sessionWait global targets @@ -480,7 +478,7 @@ proc z39scan {setNo scanNo tno scanLines scanPos} { return 0 } } else { - if {![catch [list $zs numberOfTermsRequested 5]]} { + if {$cache && ![catch [list $zs numberOfTermsRequested 5]]} { return 1 } } @@ -517,6 +515,8 @@ proc z39scan {setNo scanNo tno scanLines scanPos} { proc display-scan {setNo scanNo tno} { global hist global targets + global env + global sessionId if {$tno > 0} { set zz z39$tno @@ -525,16 +525,30 @@ proc display-scan {setNo scanNo tno} { } set zs $zz.s$scanNo.$setNo set m [$zs numberOfEntriesReturned] - - html "
\n" + + if {$m > 0} { + set t [lindex [$zs scanLine 0] 1] + if {$tno > 0} { + set hist($setNo,$tno,[expr $scanNo - 1],scanTerm) $t + } else { + set hist($setNo,[expr $scanNo - 1],scanTerm) $t + } + set t [lindex [$zs scanLine [expr $m - 1]] 1] + if {$tno > 0} { + set hist($setNo,$tno,[expr $scanNo + 1],scanTerm) $t + } else { + set hist($setNo,[expr $scanNo + 1],scanTerm) $t + } + } for {set i 0} {$i < $m} {incr i} { - html "
" + html {} html [lindex [$zs scanLine $i] 1] - html ": " + html {: } html [lindex [$zs scanLine $i] 2] - html "\n" + html "
\n" } - html "
\n" } proc z39search {setNo piggy tno elements} { @@ -858,7 +872,7 @@ proc z39history {} { if {![info exists nextSetNo]} { return } - html "

History

\n" + html "

History


\n" for {set setNo 1} {$setNo < $nextSetNo} {incr setNo} { html {
\n" - html {} + html {Error} html "

" $msga "

\n" if {$msgb != ""} { html "

" $msgb "

\n" @@ -892,4 +906,4 @@ proc displayError {msga msgb} { html "

\n" } -set useIcons 1 \ No newline at end of file +set useIcons 1