#include "DispatchResult.h"
#include "Floating.h"
#include "FloatList.h"
-#include "FuncRequest.h"
+#include "Font.h"
#include "Language.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
-#include "MetricsInfo.h"
#include "Paragraph.h"
#include "output_xhtml.h"
#include "TextClass.h"
InsetFloatList::InsetFloatList(Buffer * buf)
- : InsetCommand(buf, InsetCommandParams(FLOAT_LIST_CODE), "toc")
+ : InsetCommand(buf, InsetCommandParams(FLOAT_LIST_CODE))
{}
InsetFloatList::InsetFloatList(Buffer * buf, string const & type)
- : InsetCommand(buf, InsetCommandParams(FLOAT_LIST_CODE), "toc")
+ : InsetCommand(buf, InsetCommandParams(FLOAT_LIST_CODE))
{
setParam("type", from_ascii(type));
}
}
-int InsetFloatList::latex(odocstream & os, OutputParams const &) const
+void InsetFloatList::latex(otexstream & os, OutputParams const &) const
{
FloatList const & floats = buffer().params().documentClass().floats();
FloatList::const_iterator cit = floats[to_ascii(getParam("type"))];
if (cit != floats.end()) {
Floating const & fl = cit->second;
- if (fl.needsFloatPkg())
+ if (fl.usesFloatPkg()) {
+ docstring const name =
+ buffer().language()->translateLayout(fl.listName());
os << "\\listof{" << getParam("type") << "}{"
- << buffer().B_(fl.listName()) << "}\n";
- else
- os << "\\" << from_ascii(fl.listCommand()) << "\n";
+ << name << "}\n";
+ } else {
+ if (!fl.listCommand().empty())
+ os << "\\" << from_ascii(fl.listCommand()) << "\n";
+ else
+ os << "%% "
+ << bformat(_("LyX cannot generate a list of %1$s"), getParam("type"))
+ << "\n";
+ }
} else {
+ string const flName = "List of " + to_utf8(getParam("type"));
+ docstring const name = buffer().language()->translateLayout(flName);
os << "%%\\listof{" << getParam("type") << "}{"
- << bformat(_("List of %1$s"), getParam("type"))
- << "}\n";
+ << name << "}\n";
}
- return 1;
}
// If so, then they should define ListName, as non-builtin floats do, and
// then we can use that.
// Really, all floats should define that.
- if (!cit->second.needsFloatPkg()) {
+ if (cit->second.isPredefined()) {
// Only two different types allowed here:
string const type = cit->second.floattype();
if (type == "table") {
<< html::StartTag("a", parattr)
// FIXME XHTML
// There ought to be a simple way to customize this.
- << XHTMLStream::NextRaw() << "⇘"
+ << XHTMLStream::ESCAPE_NONE << ">"
<< html::EndTag("a");
xs << html::EndTag("div");
}