Last commit didn't complete reversion, as I forgot to resolve the

conflicted state of this file.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32571 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2009-12-17 17:50:46 +00:00
parent 87085fa2fd
commit 64c84ae883

View File

@ -71,16 +71,8 @@ void InsetMathExInt::draw(PainterInfo &, int, int) const
} }
bool InsetMathExInt::isExIntOperator(docstring const & name)
{
std::string const & sname = to_utf8(name);
return sname == "sum" || sname == "prod";
}
void InsetMathExInt::maple(MapleStream & os) const void InsetMathExInt::maple(MapleStream & os) const
{ {
// FIXME Products and the like may need special treatment.
os << symbol_ << '('; os << symbol_ << '(';
if (cell(0).size()) if (cell(0).size())
os << cell(0); os << cell(0);
@ -95,7 +87,6 @@ void InsetMathExInt::maple(MapleStream & os) const
void InsetMathExInt::maxima(MaximaStream & os) const void InsetMathExInt::maxima(MaximaStream & os) const
{ {
// FIXME Products and the like may need special treatment.
if (symbol_ == "int") if (symbol_ == "int")
os << "integrate("; os << "integrate(";
else else
@ -111,10 +102,8 @@ void InsetMathExInt::maxima(MaximaStream & os) const
os << cell(1) << ')'; os << cell(1) << ')';
} }
void InsetMathExInt::mathematica(MathematicaStream & os) const void InsetMathExInt::mathematica(MathematicaStream & os) const
{ {
// FIXME Products and the like may need special treatment.
if (symbol_ == "int") if (symbol_ == "int")
os << "Integrate["; os << "Integrate[";
else if (symbol_ == "sum") else if (symbol_ == "sum")
@ -136,38 +125,6 @@ void InsetMathExInt::mathematica(MathematicaStream & os) const
void InsetMathExInt::mathmlize(MathStream & os) const void InsetMathExInt::mathmlize(MathStream & os) const
{ {
InsetMathSymbol sym(symbol_); InsetMathSymbol sym(symbol_);
if (isExIntOperator(symbol_)) {
bool const lower = !cell(1).empty();
bool const upper = !cell(3).empty();
if (lower && upper)
os << MTag("msubsup");
else if (lower)
os << MTag("msub");
else if (upper)
os << MTag("msup");
os << MTag("mrow");
sym.mathmlize(os);
os << ETag("mrow");
if (lower) {
os << MTag("mrow");
os << cell(1);
if (!cell(2).empty())
os << MTag("mo") << "=" << ETag("mo")
<< cell(2);
os << ETag("mrow");
}
if (upper)
os << MTag("mrow") << cell(3) << ETag("mrow");
if (lower && upper)
os << ETag("msubsup");
else if (lower)
os << ETag("msub");
else if (upper)
os << ETag("msup");
os << cell(0);
return;
}
// some kind of integral
bool const lower = !cell(2).empty(); bool const lower = !cell(2).empty();
bool const upper = !cell(3).empty(); bool const upper = !cell(3).empty();
if (lower && upper) if (lower && upper)
@ -200,4 +157,5 @@ void InsetMathExInt::write(WriteStream &) const
LYXERR0("should not happen"); LYXERR0("should not happen");
} }
} // namespace lyx } // namespace lyx