}
-void InsetTOC::makeTOCWithDepth(XHTMLStream xs,
- Toc toc, OutputParams const & op) const
+void InsetTOC::makeTOCWithDepth(XHTMLStream & xs,
+ Toc const & toc, OutputParams const & op) const
{
Toc::const_iterator it = toc.begin();
Toc::const_iterator const en = toc.end();
}
-void InsetTOC::makeTOCNoDepth(XHTMLStream xs,
- Toc toc, const OutputParams & op) const
+void InsetTOC::makeTOCNoDepth(XHTMLStream & xs,
+ Toc const & toc, const OutputParams & op) const
{
Toc::const_iterator it = toc.begin();
Toc::const_iterator const en = toc.end();
string const & command = getCmdName();
if (command != "tableofcontents" && command != "lstlistoflistings") {
LYXERR0("TOC type " << command << " not yet implemented.");
- LASSERT(false, /* */);
- return docstring();
+ LASSERT(false, return docstring());
}
- Toc const & toc = buffer().tocBackend().toc(cmd2type(command));
- if (toc.empty())
+ shared_ptr<Toc const> toc =
+ buffer().masterBuffer()->tocBackend().toc(cmd2type(command));
+ if (toc->empty())
return docstring();
// we'll use our own stream, because we are going to defer everything.
xs << html::StartTag("div", "class='toc'");
// Title of TOC
+ InsetLayout const & il = getLayout();
+ string const & tag = il.htmltag();
docstring title = screenLabel();
Layout const & lay = buffer().params().documentClass().htmlTOCLayout();
string const & tocclass = lay.defaultCSSClass();
string const tocattr = "class='tochead " + tocclass + "'";
- xs << html::StartTag("div", tocattr)
+ xs << html::StartTag(tag, tocattr)
<< title
- << html::EndTag("div");
+ << html::EndTag(tag);
// with lists of listings, at least, there is no depth
// to worry about. so the code can be simpler.
// Output of TOC
if (use_depth)
- makeTOCWithDepth(xs, toc, op);
+ makeTOCWithDepth(xs, *toc, op);
else
- makeTOCNoDepth(xs, toc, op);
+ makeTOCNoDepth(xs, *toc, op);
xs << html::EndTag("div") << html::CR();
return ods.str();