package org.simantics.document.linking.report.html; import org.simantics.document.linking.report.DocumentElement; import org.simantics.document.linking.report.TableOfContents; public class HTMLTocElement extends HTMLStreamElement implements TableOfContents { HTMLTable tocTable; public HTMLTocElement(HTMLDocument writer) throws Exception{ super(writer); this.os.println("

Table of Contents

"); tocTable = new HTMLTable(writer, os, false); tocTable.setHeaderVisible(false); tocTable.setLinesVisible(false); tocTable.addColumn("Name", 1.0); } @Override public void addTocElement(String label, DocumentElement element) throws Exception{ HTMLElement e = (HTMLElement)element; if (e.getId() == null) throw new IllegalArgumentException("Element has no id " + element); //os.println("" + label + "
"); tocTable.writeRow("" + label + "
"); } public void close() throws Exception{ tocTable.endTable(); os.print("
"); super.close(); } @Override public String getId() { return "toc"; } }