#include "gettext.h"
#include "iterators.h"
#include "LaTeXFeatures.h"
+#include "Lsstream.h"
#include "lyxfont.h"
#include "lyxlex.h"
#include "lyxtext.h"
using std::ostream;
using std::endl;
+
// With this inset it will be possible to support the latex package
// float.sty, and I am sure that with this and some additional support
// classes we can support similar functionality in other formats
}
-InsetFloat::InsetFloat(InsetFloat const & in, bool same_id)
- : InsetCollapsable(in, same_id), params_(in.params_)
+InsetFloat::InsetFloat(InsetFloat const & in)
+ : InsetCollapsable(in), params_(in.params_)
{}
}
-Inset * InsetFloat::clone(Buffer const &, bool same_id) const
+Inset * InsetFloat::clone() const
{
- return new InsetFloat(*const_cast<InsetFloat *>(this), same_id);
+ return new InsetFloat(*this);
}
}
-int InsetFloat::latex(Buffer const * buf,
- ostream & os, bool fragile, bool fp) const
+int InsetFloat::latex(Buffer const * buf, ostream & os,
+ LatexRunParams const & runparams) const
{
FloatList const & floats = buf->params.getLyXTextClass().floats();
string const tmptype = (params_.wide ? params_.type + "*" : params_.type);
}
os << '\n';
- int const i = inset.latex(buf, os, fragile, fp);
+ int const i = inset.latex(buf, os, runparams);
// 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.
void InsetFloat::addToToc(toc::TocList & toclist, Buffer const * buf) const
{
- ParIterator pit(&*inset.paragraphs.begin());
- ParIterator end;
+ ParIterator pit(inset.paragraphs.begin(), inset.paragraphs);
+ ParIterator end(inset.paragraphs.end(), inset.paragraphs);
// Find a caption layout in one of the (child inset's) pars
for (; pit != end; ++pit) {
- Paragraph * tmp = *pit;
-
- if (tmp->layout()->name() == caplayout) {
+ if (pit->layout()->name() == caplayout) {
string const name = floatname(params_.type, buf->params);
string const str =
tostr(toclist[name].size() + 1)
- + ". " + tmp->asString(buf, false);
- toc::TocItem const item(tmp->id(), 0 , str);
+ + ". " + pit->asString(buf, false);
+ toc::TocItem const item(pit->id(), 0 , str);
toclist[name].push_back(item);
}
}
if (in.empty())
return;
-
- istringstream data(in);
+
+ istringstream data(STRCONV(in));
LyXLex lex(0,0);
lex.setStream(data);
}
-string const
-InsetFloatMailer::params2string(InsetFloatParams const & params)
+string const InsetFloatMailer::params2string(InsetFloatParams const & params)
{
ostringstream data;
data << name_ << ' ';
params.write(data);
-
- return data.str();
+ return STRCONV(data.str());
}