X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_exintinset.C;h=e26a74e6b69890d8e0a40749839bafab48e96e19;hb=e093e5e80c334995a77445c8e66a9f3c9594dda1;hp=7ebd2b9ddcde33aa126287fd5282bb420c364c35;hpb=0daba49b1d7493cbf76658314b7459b51f870081;p=lyx.git diff --git a/src/mathed/math_exintinset.C b/src/mathed/math_exintinset.C index 7ebd2b9ddc..e26a74e6b6 100644 --- a/src/mathed/math_exintinset.C +++ b/src/mathed/math_exintinset.C @@ -1,16 +1,26 @@ +#include + #include "math_exintinset.h" -#include "support.h" -#include "debug.h" +#include "math_support.h" #include "math_mathmlstream.h" +#include "math_streamstr.h" #include "math_symbolinset.h" +#include "debug.h" + +#include + +using std::endl; -MathExIntInset::MathExIntInset(MathScriptInset const & scripts, - MathArray const & core, MathArray const & diff) - : int_(new MathSymbolInset("int")), - scripts_(scripts), core_(core), diff_(diff) +MathExIntInset::MathExIntInset(string const & name) + : MathNestInset(4), symbol_(name) {} +// 0 - core +// 1 - diff +// 2 - lower +// 3 - upper + MathInset * MathExIntInset::clone() const { @@ -18,37 +28,67 @@ MathInset * MathExIntInset::clone() const } -void MathExIntInset::write(MathWriteInfo & os) const +void MathExIntInset::symbol(string const & symbol) { - scripts_.write(int_.nucleus(), os); - os << core_ << "d" << diff_; + symbol_ = symbol; } -void MathExIntInset::writeNormal(NormalStream & os) const +bool MathExIntInset::hasScripts() const { - //os << "[int " << scripts_ << ' ' << core_ << ' ' << diff_ << ']' + // take empty upper bound as "no scripts" + return !cell(3).empty(); } -void MathExIntInset::metrics(MathMetricsInfo const &) const + +void MathExIntInset::normalize(NormalStream & os) const { - lyxerr << "should not happen\n"; + os << '[' << symbol_ << ' ' << cell(0) << ' ' << cell(1) << ' ' + << cell(2) << ' ' << cell(3) << ']'; } -void MathExIntInset::draw(Painter &, int, int) const -{ - lyxerr << "should not happen\n"; +void MathExIntInset::metrics(MathMetricsInfo &) const +{ + lyxerr << "should not happen" << endl; +} + + +void MathExIntInset::draw(MathPainterInfo &, int, int) const +{ + lyxerr << "should not happen" << endl; } void MathExIntInset::maplize(MapleStream & os) const { - //os << name_.c_str() << '(' << cell(0) << ')'; + os << symbol_ << '('; + if (cell(0).size()) + os << cell(0); + else + os << '1'; + os << ',' << cell(1); + if (hasScripts()) + os << '=' << cell(2) << ".." << cell(3); + os << ')'; } + void MathExIntInset::mathmlize(MathMLStream & os) const { - //os << name_.c_str() << '(' << cell(0) << ')'; + boost::scoped_ptr sym(new MathSymbolInset(symbol_)); + //if (hasScripts()) + // mathmlize(sym, os); + //else + sym->mathmlize(os); + os << cell(0) << "" + << MTag("mrow") << "" + << cell(1) << ETag("mrow"); +} + + +void MathExIntInset::write(WriteStream &) const +{ + lyxerr << "should not happen" << endl; }