]> git.donarmstrong.com Git - lilypond.git/commitdiff
(interface-doc-string):
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 1 Oct 2002 21:55:27 +0000 (21:55 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 1 Oct 2002 21:55:27 +0000 (21:55 +0000)
crosslinks between interfaces and grobs. Headings for interfaces
in grob explanation.

ChangeLog
ly/generate-documentation.ly
scm/backend-documentation-lib.scm
scm/documentation-lib.scm

index 0d63e4d9716bfcd3d05b8192035d02633cdf3a3d..79fd140ed7196c5cc85d8c9d7bcc5f88767a3029 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-10-01  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * scm/backend-documentation-lib.scm (interface-doc-string):
+       crosslinks between interfaces and grobs. Headings for interfaces
+       in grob explanation.
+
 2002-09-30  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * scm/to-xml.scm: Fixes.  input/trip.ly now parses as xml (without
index b2a7bf3558a4d934d76782240273509d50d4905e..5068d8e3eb4a6a838b48e6b1b9c434d9e4b729ae 100644 (file)
@@ -3,4 +3,5 @@
 %
 % Running LilyPond on this file generates the documentation
 %
+#(ly-set-parse-protect #f)
 #(load-from-path "generate-documentation.scm")
index b731521b291cfd53e7b8100d4b533efa4c118d35..f5d730e2698847e1d872a5f0bf5e0b12dbc94aaa 100644 (file)
@@ -42,16 +42,48 @@ Interfaces:
     
     (string-append
      desc
+     "\n\n"
      (description-list->texi propdocs))
 
     ))
 
+(define iface->grob-table (make-vector 61 '()))
+
+(map
+ (lambda (x)
+   (let*
+       (
+       (metah (assoc 'meta (cdr x)))
+       (meta (cdr metah))
+       (ifaces (cdr (assoc 'interfaces meta)))
+       )
+
+     (map (lambda (iface)
+           (hashq-set!
+            iface->grob-table iface
+            (cons (car x)
+                  (hashq-ref iface->grob-table iface '())
+                  )))
+         ifaces)
+     ))
+ all-grob-descriptions)
+
 ;; First level Interface description
 (define (interface-doc interface)
   (let ((name (symbol->string (car interface))))
     (make <texi-node>
       #:name name
-      #:text (interface-doc-string (cdr interface) #f))))
+      #:text (string-append
+             (interface-doc-string (cdr interface) #f)
+             "\n\n"
+             "This grob interface is used in the following graphical objects: "
+
+             (human-listify
+              (map ref-ify
+                   (map symbol->string
+                        (hashq-ref iface->grob-table (car interface) '() )))))
+
+      )))
 
 (define (grob-doc description)
   (let*
@@ -62,7 +94,16 @@ Interfaces:
        (name (cdr (assoc 'name meta)))
        (ifaces (map lookup-interface (cdr (assoc 'interfaces meta))))
        (ifacedoc (map (lambda (iface)
-                       (interface-doc-string iface description))
+                       (string-append
+"@html
+<hr>
+@end html
+
+@subsubheading "
+(ref-ify (symbol->string (car iface)))
+
+"\n\n"
+                       (interface-doc-string iface description)))
                      (reverse ifaces)))
        (engravers (filter-list
                   (lambda (x) (engraver-makes-grob? name x)) all-engravers-list))
index af8a0fbe82b6721ad4c263846a62e66b8a66b2a6..7f82049339e7b50383a111101608d5419076cc5e 100644 (file)
@@ -95,7 +95,7 @@
 . string-to-use)
 "
   (string-append
-   "\n@table @samp\n"
+   "\n@table @asis\n"
    (apply string-append (map one-item->texi items-alist))
    "\n@end table\n"))