clean up TOC and on-this-page boxes a bit for single-page mode

svn: r7925

original commit: 9ea7af5ee5d3bd6d5c0b94451dfe11e43a768e81
This commit is contained in:
Matthew Flatt 2007-12-07 21:23:34 +00:00
parent 40d4f61785
commit 2c117e2cc8

View File

@ -120,16 +120,8 @@
d)) d))
(values d mine))))]) (values d mine))))])
`((div ((class "tocset")) `((div ((class "tocset"))
(div ((class "tocview")) ,@(let ([toc-content
(div ((class "tocviewtitle")) (map (lambda (pp)
(a ((href "index.html")
(class "tocviewlink"))
,@(render-content (or (part-title-content top) '("???")) d ri)))
(div nbsp)
(table
((class "tocviewlist")
(cellspacing "0"))
,@(map (lambda (pp)
(let ([p (car pp)] (let ([p (car pp)]
[show-number? (cdr pp)]) [show-number? (cdr pp)])
`(tr `(tr
@ -161,7 +153,19 @@
(cons (car l) (loop (append (map (lambda (v) (cons v #f)) (cons (car l) (loop (append (map (lambda (v) (cons v #f))
(part-parts (caar l))) (part-parts (caar l)))
(cdr l))))] (cdr l))))]
[else (cons (car l) (loop (cdr l)))]))))) [else (cons (car l) (loop (cdr l)))])))])
(if (null? toc-content)
null
`((div ((class "tocview"))
(div ((class "tocviewtitle"))
(a ((href "index.html")
(class "tocviewlink"))
,@(render-content (or (part-title-content top) '("???")) d ri)))
(div nbsp)
(table
((class "tocviewlist")
(cellspacing "0"))
,@toc-content)))))
,@(render-onthispage-contents d ri top) ,@(render-onthispage-contents d ri top)
,@(apply append ,@(apply append
(map (lambda (t) (map (lambda (t)
@ -177,12 +181,17 @@
(loop (delayed-flow-element-flow-elements e ri)))))) (loop (delayed-flow-element-flow-elements e ri))))))
(flow-paragraphs (part-flow d))))))))) (flow-paragraphs (part-flow d)))))))))
(define/public (get-onthispage-label)
null)
(define/public (nearly-top? d ri top)
#f)
(define/private (render-onthispage-contents d ri top) (define/private (render-onthispage-contents d ri top)
(if (ormap (lambda (p) (part-whole-page? p ri)) (if (ormap (lambda (p) (part-whole-page? p ri))
(part-parts d)) (part-parts d))
null null
(let* ([nearly-top? (lambda (d) (let* ([nearly-top? (lambda (d) (nearly-top? d ri top))]
(eq? top (collected-info-parent (part-collected-info d ri))))]
[ps ((if (nearly-top? d) values cdr) [ps ((if (nearly-top? d) values cdr)
(let flatten ([d d]) (let flatten ([d d])
(apply (apply
@ -238,8 +247,7 @@
(if (null? ps) (if (null? ps)
null null
`((div ((class "tocsub")) `((div ((class "tocsub"))
(div ((class "tocsubtitle")) ,@(get-onthispage-label)
"On this page:")
(table (table
((class "tocsublist") ((class "tocsublist")
(cellspacing "0")) (cellspacing "0"))
@ -594,6 +602,13 @@
ds ds
fns)) fns))
(define/override (nearly-top? d ri top)
(eq? top (collected-info-parent (part-collected-info d ri))))
(define/override (get-onthispage-label)
`((div ((class "tocsubtitle"))
"On this page:")))
(define contents-content '("contents")) (define contents-content '("contents"))
(define index-content '("index")) (define index-content '("index"))
(define prev-content '(larr " prev")) (define prev-content '(larr " prev"))