Skip to content

Commit

Permalink
[html-document] use srfi-9 records for <html-document>
Browse files Browse the repository at this point in the history
  • Loading branch information
christopherlam committed Jul 11, 2020
1 parent c65d0ef commit 738c04f
Showing 1 changed file with 30 additions and 57 deletions.
87 changes: 30 additions & 57 deletions gnucash/report/html-document.scm
Expand Up @@ -22,22 +22,43 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(use-modules (gnucash html))
(use-modules (srfi srfi-9))
(use-modules (ice-9 match))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; <html-document> class
;; this is the top-level object representing an entire HTML document.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(define <html-document>
(make-record-type "<html-document>"
'(style-sheet style-stack style style-text title headline objects)))

(define gnc:html-document?
(record-predicate <html-document>))

(define gnc:make-html-document-internal
(record-constructor <html-document>))
(define-record-type <html-document>
(make-html-document-internal style-sheet style-stack style
style-text title headline objects)
html-document?
(style-sheet html-document-style-sheet html-document-set-style-sheet)
(style-stack html-document-style-stack html-document-set-style-stack)
(style html-document-style html-document-set-style)
(style-text html-document-style-text html-document-set-style-text)
(title html-document-title html-document-set-title)
(headline html-document-headline html-document-set-headline)
(objects html-document-objects html-document-set-objects))

(define gnc:html-document-set-title! html-document-set-title)
(define gnc:html-document-title html-document-title)
(define gnc:html-document-set-headline! html-document-set-headline)
(define gnc:html-document-headline html-document-headline)
(define gnc:html-document-set-style-sheet! html-document-set-style-sheet)
(define gnc:html-document-set-style-sheet! html-document-set-style-sheet)
(define gnc:html-document-style-sheet html-document-style-sheet)
(define gnc:html-document-set-style-stack! html-document-set-style-stack)
(define gnc:html-document-style-stack html-document-style-stack)
(define gnc:html-document-set-style-text! html-document-set-style-text)
(define gnc:html-document-style-text html-document-style-text)
(define gnc:html-document-set-style-internal! html-document-set-style)
(define gnc:html-document-style html-document-style)
(define gnc:html-document-set-objects! html-document-set-objects)
(define gnc:html-document-objects html-document-objects)
(define gnc:html-document? html-document?)
(define gnc:make-html-document-internal make-html-document-internal)

(define (gnc:make-html-document)
(gnc:make-html-document-internal
Expand All @@ -50,54 +71,6 @@
'() ;; subobjects
))

(define gnc:html-document-set-title!
(record-modifier <html-document> 'title))

(define gnc:html-document-title
(record-accessor <html-document> 'title))

(define gnc:html-document-set-headline!
(record-modifier <html-document> 'headline))

(define gnc:html-document-headline
(record-accessor <html-document> 'headline))

(define gnc:html-document-set-style-sheet!
(record-modifier <html-document> 'style-sheet))

(define gnc:html-document-set-style-sheet!
(record-modifier <html-document> 'style-sheet))

(define gnc:html-document-style-sheet
(record-accessor <html-document> 'style-sheet))

(define gnc:html-document-set-style-stack!
(record-modifier <html-document> 'style-stack))

(define gnc:html-document-style-stack
(record-accessor <html-document> 'style-stack))

(define gnc:html-document-set-style-text!
(record-modifier <html-document> 'style-text))

(define gnc:html-document-style-text
(record-accessor <html-document> 'style-text))

(define gnc:html-document-set-style-internal!
(record-modifier <html-document> 'style))

(define gnc:html-document-style
(record-accessor <html-document> 'style))

(define gnc:html-document-set-objects!
(record-modifier <html-document> 'objects))

(define gnc:html-document-objects
(record-accessor <html-document> 'objects))

(define gnc:html-document?
(record-predicate <html-document>))

(define (gnc:html-document-set-style! doc tag . rest)
(gnc:html-style-table-set!
(gnc:html-document-style doc) tag
Expand Down

0 comments on commit 738c04f

Please sign in to comment.