#include <sstream>
-using lyx::docstring;
+
+namespace lyx {
using std::istringstream;
using std::ostream;
switch (cmd.action) {
case LFUN_INSET_MODIFY: {
- InsetVSpaceMailer::string2params(lyx::to_utf8(cmd.argument()), space_);
+ InsetVSpaceMailer::string2params(to_utf8(cmd.argument()), space_);
break;
}
}
-string const InsetVSpace::label() const
+docstring const InsetVSpace::label() const
{
- // FIXME UNICODE
- static string const label = lyx::to_utf8(_("Vertical Space"));
+ static docstring const label = _("Vertical Space");
return label + " (" + space_.asGUIName() + ')';
}
}
-void InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const
+bool InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const
{
int height = 3 * arrow_size;
if (space_.length().len().value() >= 0.0)
int w = 0;
int a = 0;
int d = 0;
- string lab = label();
- docstring dlab(lab.begin(), lab.end());
- theFontMetrics(font).rectText(dlab, w, a, d);
+ theFontMetrics(font).rectText(label(), w, a, d);
height = max(height, a + d);
dim.asc = height / 2 + (a - d) / 2; // align cursor with the
dim.des = height - dim.asc; // label text
dim.wid = ADD_TO_VSPACE_WIDTH + 2 * arrow_size + 5 + w;
+ bool const changed = dim_ != dim;
dim_ = dim;
+ return changed;
}
font.setColor(LColor::added_space);
font.decSize();
font.decSize();
- string lab = label();
- docstring dlab(lab.begin(), lab.end());
- theFontMetrics(font).rectText(dlab, w, a, d);
+ docstring const lab = label();
+ theFontMetrics(font).rectText(lab, w, a, d);
pi.pain.rectText(x + 2 * arrow_size + 5,
start + (end - start) / 2 + (a - d) / 2,
- dlab, font, LColor::none, LColor::none);
+ lab, font, LColor::none, LColor::none);
// top arrow
pi.pain.line(x, ty1, midx, ty2, LColor::added_space);
}
-int InsetVSpace::latex(Buffer const & buf, ostream & os,
+int InsetVSpace::latex(Buffer const & buf, odocstream & os,
OutputParams const &) const
{
- os << space_.asLatexCommand(buf.params()) << '\n';
+ os << from_ascii(space_.asLatexCommand(buf.params())) << '\n';
return 1;
}
-int InsetVSpace::plaintext(Buffer const &, ostream & os,
+int InsetVSpace::plaintext(Buffer const &, odocstream & os,
OutputParams const &) const
{
os << "\n\n";
}
-int InsetVSpace::docbook(Buffer const &, std::ostream & os,
+int InsetVSpace::docbook(Buffer const &, odocstream & os,
OutputParams const &) const
{
os << '\n';
data << name_ << ' ' << vspace.asLyXCommand();
return data.str();
}
+
+
+} // namespace lyx