X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetFormulaMacro.cpp;h=88897021fe2bd63fa7fce8e95b8ecbb3d9ce77ee;hb=d243e53f54e861c90ce7135f3d1a8d68d6202555;hp=6e5b65a7ec217b157a1748b877a8a5439483ad08;hpb=897436efbb9bd641b61467d185a2dfae9839e575;p=lyx.git diff --git a/src/mathed/InsetFormulaMacro.cpp b/src/mathed/InsetFormulaMacro.cpp index 6e5b65a7ec..88897021fe 100644 --- a/src/mathed/InsetFormulaMacro.cpp +++ b/src/mathed/InsetFormulaMacro.cpp @@ -4,7 +4,7 @@ * Licence details can be found in the file COPYING. * * \author Alejandro Aguilar Sierra - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -17,9 +17,8 @@ #include "BufferView.h" #include "Cursor.h" -#include "debug.h" -#include "gettext.h" -#include "Color.h" +#include "support/debug.h" +#include "support/gettext.h" #include "Lexer.h" #include "OutputParams.h" @@ -30,18 +29,14 @@ #include -using std::string; -using std::auto_ptr; -using std::ostream; -using std::endl; +using namespace std; +using namespace lyx::support; namespace lyx { -using support::bformat; - InsetFormulaMacro::InsetFormulaMacro() - : InsetMathNest(2), name_("unknownA") + : InsetMathNest(2), name_(from_ascii("unknownA")) {} @@ -56,40 +51,43 @@ InsetFormulaMacro::InsetFormulaMacro InsetFormulaMacro::InsetFormulaMacro(string const & s) : InsetMathNest(2), name_("unknownB") { - std::istringstream is(s); + istringstream is(s); read(is); } -auto_ptr InsetFormulaMacro::clone() const +Inset * InsetFormulaMacro::clone() const { - return auto_ptr(new InsetFormulaMacro(*this)); + return new InsetFormulaMacro(*this); } -void InsetFormulaMacro::write(Buffer const &, ostream & os) const +void InsetFormulaMacro::write(ostream & os) const { os << "FormulaMacro\n"; - WriteStream wi(os, false, false); + WriteStream wi(os, false, false, WriteStream::wsDefault); tmpl()->write(wi); } -int InsetFormulaMacro::latex(Buffer const &, odocstream & os, - OutputParams const & runparams) const +void InsetFormulaMacro::latex(otexstream & os, + OutputParams const & runparams) const { //lyxerr << "InsetFormulaMacro::latex" << endl; - WriteStream wi(os, runparams.moving_arg, true); + WriteStream wi(os.os(), runparams.moving_arg, true, + runparams.dryrun ? WriteStream::wsDryrun: WriteStream::wsDefault, + runparams.encoding); + wi.canBreakLine(os.canBreakLine()); tmpl()->write(wi); - return 2; + os.canBreakLine(wi.canBreakLine()); + os.texrow().newlines(wi.line()); } -int InsetFormulaMacro::plaintext(Buffer const &, odocstream & os, - OutputParams const &) const +int InsetFormulaMacro::plaintext(odocstringstream & os, OutputParams const & runparams, size_t) const { odocstringstream oss; - WriteStream wi(oss, false, true); + WriteStream wi(oss, false, true, WriteStream::wsDefault, runparams.encoding); tmpl()->write(wi); docstring const str = oss.str(); @@ -98,20 +96,20 @@ int InsetFormulaMacro::plaintext(Buffer const &, odocstream & os, } -int InsetFormulaMacro::docbook(Buffer const & buf, ostream & os, +int InsetFormulaMacro::docbook(ostream & os, OutputParams const & runparams) const { - return plaintext(buf, os, runparams); + return plaintext(os, runparams); } -void InsetFormulaMacro::read(Buffer const &, Lexer & lex) +void InsetFormulaMacro::read(Lexer & lex) { read(lex.getStream()); } -void InsetFormulaMacro::read(std::istream & is) +void InsetFormulaMacro::read(istream & is) { auto_ptr p(new MathMacroTemplate(is)); name_ = p->name(); @@ -125,16 +123,14 @@ string InsetFormulaMacro::prefix() const } -bool InsetFormulaMacro::metrics(MetricsInfo & mi, Dimension & dim) const +void InsetFormulaMacro::metrics(MetricsInfo & mi, Dimension & dim) const { //lyxerr << "InsetFormulaMacro: " << this << " -- " << &tmpl() << endl; tmpl()->metrics(mi, dim); dim.asc += 5; dim.des += 5; dim.wid += 10 + theFontMetrics(mi.base.font).width(prefix()); - bool const changed = dim_ != dim; dim_ = dim; - return changed; } @@ -142,7 +138,7 @@ void InsetFormulaMacro::draw(PainterInfo & p, int x, int y) const { // label Font font = p.base.font; - font.setColor(Color::math); + font.setColor(Color_math); PainterInfo pi(p.base.bv, p.pain); pi.base.style = LM_ST_TEXT; @@ -152,13 +148,11 @@ void InsetFormulaMacro::draw(PainterInfo & p, int x, int y) const int const w = dim_.wid - 2; int const h = dim_.height() - 2; - // Color::mathbg used to be "AntiqueWhite" but is "linen" now, too - pi.pain.fillRectangle(x, a, w, h, Color::mathmacrobg); - pi.pain.rectangle(x, a, w, h, Color::mathframe); + // Color_mathbg used to be "AntiqueWhite" but is "linen" now, too + pi.pain.fillRectangle(x, a, w, h, Color_mathmacrobg); + pi.pain.rectangle(x, a, w, h, Color_mathframe); -#ifdef WITH_WARNINGS -#warning FIXME -#endif + // FIXME #if 0 Cursor & cur = p.base.bv->cursor(); if (cur.isInside(this))