X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetpagebreak.C;h=3be10572cf9c11741a68dae83aa3af3cff103325;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=7c4b3d56e060c4fe165dc9ee693e08954b070b96;hpb=43b77ba2d722cdb8a9437926f839c1dcbf3c0b89;p=lyx.git diff --git a/src/insets/insetpagebreak.C b/src/insets/insetpagebreak.C index 7c4b3d56e0..3be10572cf 100644 --- a/src/insets/insetpagebreak.C +++ b/src/insets/insetpagebreak.C @@ -13,16 +13,19 @@ #include "insetpagebreak.h" #include "debug.h" +#include "gettext.h" #include "LColor.h" #include "lyxtext.h" #include "metricsinfo.h" -#include "gettext.h" +#include "TextMetrics.h" +#include "frontends/FontMetrics.h" #include "frontends/Painter.h" -#include "frontends/font_metrics.h" -using lyx::docstring; -using lyx::frontend::Painter; + +namespace lyx { + +using frontend::Painter; using std::endl; using std::ostream; @@ -36,23 +39,23 @@ void InsetPagebreak::read(Buffer const &, LyXLex &) void InsetPagebreak::write(Buffer const &, ostream & os) const { - os << "\n\\newpage\n"; + os << "\n" << getCmdName() << '\n'; } -void InsetPagebreak::metrics(MetricsInfo & mi, Dimension & dim) const +bool InsetPagebreak::metrics(MetricsInfo & mi, Dimension & dim) const { dim.asc = defaultRowHeight(); dim.des = defaultRowHeight(); dim.wid = mi.base.textwidth; + bool const changed = dim_ != dim; dim_ = dim; + return changed; } void InsetPagebreak::draw(PainterInfo & pi, int x, int y) const { - static docstring const label = _("Page Break"); - LyXFont font; font.setColor(LColor::pagebreak); font.decSize(); @@ -60,12 +63,12 @@ void InsetPagebreak::draw(PainterInfo & pi, int x, int y) const int w = 0; int a = 0; int d = 0; - font_metrics::rectText(label, font, w, a, d); + theFontMetrics(font).rectText(insetLabel(), w, a, d); int const text_start = int(x + (dim_.wid - w) / 2); int const text_end = text_start + w; - pi.pain.rectText(text_start, y + d, label, font, + pi.pain.rectText(text_start, y + d, insetLabel(), font, LColor::none, LColor::none); pi.pain.line(x, y, text_start, y, @@ -75,15 +78,15 @@ void InsetPagebreak::draw(PainterInfo & pi, int x, int y) const } -int InsetPagebreak::latex(Buffer const &, ostream & os, +int InsetPagebreak::latex(Buffer const &, odocstream & os, OutputParams const &) const { - os << "\\newpage{}"; + os << from_ascii(getCmdName()) << "{}"; return 0; } -int InsetPagebreak::plaintext(Buffer const &, ostream & os, +int InsetPagebreak::plaintext(Buffer const &, odocstream & os, OutputParams const &) const { os << '\n'; @@ -91,9 +94,12 @@ int InsetPagebreak::plaintext(Buffer const &, ostream & os, } -int InsetPagebreak::docbook(Buffer const &, std::ostream & os, +int InsetPagebreak::docbook(Buffer const &, odocstream & os, OutputParams const &) const { os << '\n'; return 0; } + + +} // namespace lyx