]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/html/HTMLTocElement.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / report / html / HTMLTocElement.java
1 package org.simantics.document.linking.report.html;\r
2 \r
3 import org.simantics.document.linking.report.DocumentElement;\r
4 import org.simantics.document.linking.report.TableOfContents;\r
5 \r
6 \r
7 public class HTMLTocElement extends HTMLStreamElement implements TableOfContents {\r
8         \r
9         \r
10 \r
11         HTMLTable tocTable;\r
12         \r
13         public HTMLTocElement(HTMLDocument writer) throws Exception{\r
14                 super(writer);\r
15                 this.os.println("<h2>Table of Contents</h2>");\r
16                 tocTable = new HTMLTable(writer, os, false);\r
17                 tocTable.setHeaderVisible(false);\r
18                 tocTable.setLinesVisible(false);\r
19                 tocTable.addColumn("Name", 1.0);\r
20         }\r
21         \r
22         @Override\r
23         public void addTocElement(String label, DocumentElement element) throws Exception{\r
24                 HTMLElement e = (HTMLElement)element;\r
25                 if (e.getId() == null)\r
26                         throw new IllegalArgumentException("Element has no id " + element);\r
27                 //os.println("<a href=\"#" + e.getId() + "\">" + label + "</a><br>");\r
28                 tocTable.writeRow("<a href=\"#" + e.getId() + "\">" + label + "</a><br>");\r
29         }\r
30         \r
31         public void close() throws Exception{\r
32                 tocTable.endTable();\r
33                 os.print("<br>");\r
34                 super.close();\r
35         }\r
36         \r
37         @Override\r
38         public String getId() {\r
39                 return "toc";\r
40         }\r
41 \r
42 }\r