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";
}
}