#include "lyxlex.h"
#include "outputparams.h"
#include "paragraph.h"
-#include "pariterator.h"
+#include "TocBackend.h"
#include "support/lstrings.h"
#include "support/convert.h"
-#include <sstream>
-using lyx::docstring;
-using lyx::support::contains;
+namespace lyx {
+
+using support::contains;
using std::endl;
using std::string;
font.setColor(LColor::collapsable);
setLabelFont(font);
params_.type = type;
- setInsetName(type);
+ setInsetName(from_utf8(type));
}
case LFUN_INSET_MODIFY: {
InsetFloatParams params;
- InsetFloatMailer::string2params(lyx::to_utf8(cmd.argument()), params);
+ InsetFloatMailer::string2params(to_utf8(cmd.argument()), params);
params_.placement = params.placement;
params_.wide = params.wide;
params_.sideways = params.sideways;
}
-int InsetFloat::latex(Buffer const & buf, ostream & os,
+int InsetFloat::latex(Buffer const & buf, odocstream & os,
OutputParams const & runparams) const
{
FloatList const & floats = buf.params().getLyXTextClass().floats();
// The \n is used to force \begin{<floatname>} to appear in a new line.
// The % is needed to prevent two consecutive \n chars in the case
// when the current output line is empty.
- os << "%\n\\begin{" << tmptype << '}';
+ os << "%\n\\begin{" << from_ascii(tmptype) << '}';
// We only output placement if different from the def_placement.
// sidewaysfloats always use their own page
if (!placement.empty() && !params_.sideways) {
- os << '[' << placement << ']';
+ os << '[' << from_ascii(placement) << ']';
}
os << '\n';
// The \n is used to force \end{<floatname>} to appear in a new line.
// In this case, we do not case if the current output line is empty.
- os << "\n\\end{" << tmptype << "}\n";
+ os << "\n\\end{" << from_ascii(tmptype) << "}\n";
return i + 4;
}
-int InsetFloat::docbook(Buffer const & buf, ostream & os,
+int InsetFloat::docbook(Buffer const & buf, odocstream & os,
OutputParams const & runparams) const
{
- os << '<' << params_.type << '>';
+ // FIXME UNICODE
+ os << '<' << from_ascii(params_.type) << '>';
int const i = InsetText::docbook(buf, os, runparams);
- os << "</" << params_.type << '>';
+ os << "</" << from_ascii(params_.type) << '>';
return i;
}
}
-void InsetFloat::addToToc(lyx::toc::TocList & toclist, Buffer const & buf) const
+void InsetFloat::addToToc(TocList & toclist, Buffer const & buf) const
{
ParConstIterator pit = par_const_iterator_begin(*this);
ParConstIterator end = par_const_iterator_end(*this);
// Find a caption layout in one of the (child inset's) pars
for (; pit != end; ++pit) {
if (pit->layout()->labeltype == LABEL_SENSITIVE) {
- string const type = params_.type;
+ Toc & toc = toclist[params_.type];
docstring const str =
- convert<docstring>(toclist[type].size() + 1)
+ convert<docstring>(toc.size() + 1)
+ ". " + pit->asString(buf, false);
- lyx::toc::TocItem const item(pit, 0, str);
- toclist[type].push_back(item);
+ toc.push_back(TocItem(pit, 0, str));
+ return;
}
}
}
params.write(data);
return data.str();
}
+
+
+} // namespace lyx