Re-organize InsetTOC to prepare for other TO*s.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32731 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2010-01-01 01:45:02 +00:00
parent 011122e822
commit 68db58a584

View File

@ -75,26 +75,11 @@ int InsetTOC::docbook(odocstream & os, OutputParams const &) const
docstring InsetTOC::xhtml(XHTMLStream &, OutputParams const & op) const
{
// we'll use our own stream, because we are going to defer everything.
// that's how we deal with the fact that we're probably inside a standard
// paragraph, and we don't want to be.
odocstringstream ods;
XHTMLStream xs(ods);
// FIXME XHTML
// This is temporary. We'll get the main TOC working first. The rest will
// then be a fairly simple adapation of this code, I hope.
if (getCmdName() != "tableofcontents")
return docstring();
Toc const & toc = buffer().tocBackend().toc("tableofcontents");
if (toc.empty())
return docstring();
xs << StartTag("div", "class='toc'");
// we want to look like a chapter, section, or whatever.
// so we're going to look for the layout with the minimum toclevel
// number > 0, because we don't want Part.
// we'll take the first one, just because.
// FIXME This could be specified in the layout file.
DocumentClass const & dc = buffer().params().documentClass();
TextClass::LayoutList::const_iterator lit = dc.begin();
TextClass::LayoutList::const_iterator len = dc.end();
@ -111,6 +96,19 @@ docstring InsetTOC::xhtml(XHTMLStream &, OutputParams const & op) const
string const tocclass = lay ? " " + lay->defaultCSSClass(): "";
string const tocattr = "class='tochead" + tocclass + "'";
// we'll use our own stream, because we are going to defer everything.
// that's how we deal with the fact that we're probably inside a standard
// paragraph, and we don't want to be.
odocstringstream ods;
XHTMLStream xs(ods);
if (getCmdName() == "tableofcontents") {
Toc const & toc = buffer().tocBackend().toc("tableofcontents");
if (toc.empty())
return docstring();
xs << StartTag("div", "class='toc'");
xs << StartTag("div", tocattr)
<< _("Table of Contents")
<< EndTag("div");
@ -163,6 +161,7 @@ docstring InsetTOC::xhtml(XHTMLStream &, OutputParams const & op) const
for (int i = lastdepth; i > 0; --i)
xs << EndTag("div");
xs << EndTag("div");
}
return ods.str();
}