X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMath.cpp;h=8706001d61dcabde80630d6a3763c7275e3cc388;hb=a68e5b777487b495feeefa53700834ecec6ec196;hp=943ca902635bad29b77f9e5d6d04dd6c97a643c6;hpb=30b18aec37da1355c8947cfeb8d181e7b5a9a4f9;p=lyx.git diff --git a/src/mathed/InsetMath.cpp b/src/mathed/InsetMath.cpp index 943ca90263..8706001d61 100644 --- a/src/mathed/InsetMath.cpp +++ b/src/mathed/InsetMath.cpp @@ -13,20 +13,29 @@ #include "InsetMath.h" #include "MathData.h" +#include "MathRow.h" #include "MathStream.h" +#include "MetricsInfo.h" + #include "support/debug.h" #include "support/docstream.h" #include "support/gettext.h" +#include "support/lassert.h" #include "support/lstrings.h" #include "support/textutils.h" -#include "support/lassert.h" using namespace std; namespace lyx { +docstring InsetMath::name() const +{ + return from_utf8("Unknown"); +} + + MathData & InsetMath::cell(idx_type) { static MathData dummyCell(&buffer()); @@ -43,11 +52,34 @@ MathData const & InsetMath::cell(idx_type) const } +MathClass InsetMath::mathClass() const +{ + return MC_ORD; +} + + +InsetMath::marker_type InsetMath::marker(BufferView const *) const +{ + return nargs() > 0 ? MARKER : NO_MARKER; +} + + +bool InsetMath::addToMathRow(MathRow & mrow, MetricsInfo & mi) const +{ + MathRow::Element e(mi, MathRow::INSET, mathClass()); + e.inset = this; + e.marker = mi.base.macro_nesting ? NO_MARKER : marker(mi.base.bv); + mrow.push_back(e); + return true; +} + + void InsetMath::dump() const { lyxerr << "---------------------------------------------" << endl; odocstringstream os; - WriteStream wi(os, false, true, WriteStream::wsDefault); + otexrowstream ots(os); + WriteStream wi(ots, false, true, WriteStream::wsDefault); write(wi); lyxerr << to_utf8(os.str()); lyxerr << "\n---------------------------------------------" << endl; @@ -78,10 +110,11 @@ void InsetMath::write(WriteStream & os) const } -int InsetMath::plaintext(odocstream &, OutputParams const &) const +int InsetMath::plaintext(odocstringstream &, + OutputParams const &, size_t) const { // all math plain text output shall take place in InsetMathHull - LASSERT(false, /**/); + LATTEST(false); return 0; } @@ -149,7 +182,8 @@ HullType InsetMath::getType() const ostream & operator<<(ostream & os, MathAtom const & at) { odocstringstream oss; - WriteStream wi(oss, false, false, WriteStream::wsDefault); + otexrowstream ots(oss); + WriteStream wi(ots, false, false, WriteStream::wsDefault); at->write(wi); return os << to_utf8(oss.str()); } @@ -157,7 +191,8 @@ ostream & operator<<(ostream & os, MathAtom const & at) odocstream & operator<<(odocstream & os, MathAtom const & at) { - WriteStream wi(os, false, false, WriteStream::wsDefault); + otexrowstream ots(os); + WriteStream wi(ots, false, false, WriteStream::wsDefault); at->write(wi); return os; }