X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_exintinset.C;h=e26a74e6b69890d8e0a40749839bafab48e96e19;hb=e093e5e80c334995a77445c8e66a9f3c9594dda1;hp=23758c6ee7bb67f6e5bcf26c847ce3383570063f;hpb=ea35e1c460c3cbb4a9130aaeaed8e28dc0656961;p=lyx.git diff --git a/src/mathed/math_exintinset.C b/src/mathed/math_exintinset.C index 23758c6ee7..e26a74e6b6 100644 --- a/src/mathed/math_exintinset.C +++ b/src/mathed/math_exintinset.C @@ -1,14 +1,26 @@ +#include + #include "math_exintinset.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(string const & name) - : MathNestInset(2), symbol_(name), scripts_(new MathScriptInset) + : MathNestInset(4), symbol_(name) {} +// 0 - core +// 1 - diff +// 2 - lower +// 3 - upper + MathInset * MathExIntInset::clone() const { @@ -16,18 +28,6 @@ MathInset * MathExIntInset::clone() const } -void MathExIntInset::scripts(MathAtom const & at) -{ - scripts_ = at; -} - - -MathAtom & MathExIntInset::scripts() -{ - return scripts_; -} - - void MathExIntInset::symbol(string const & symbol) { symbol_ = symbol; @@ -37,56 +37,51 @@ void MathExIntInset::symbol(string const & symbol) bool MathExIntInset::hasScripts() const { // take empty upper bound as "no scripts" - return !scripts_->asScriptInset()->up().data_.empty(); + return !cell(3).empty(); } void MathExIntInset::normalize(NormalStream & os) const { - os << '[' << symbol_.c_str() << ' ' << cell(0) << ' ' << cell(1); - if (hasScripts()) - os << ' ' << scripts_.nucleus(); - os << ']'; + os << '[' << symbol_ << ' ' << cell(0) << ' ' << cell(1) << ' ' + << cell(2) << ' ' << cell(3) << ']'; } -void MathExIntInset::metrics(MathMetricsInfo const &) const +void MathExIntInset::metrics(MathMetricsInfo &) const { - lyxerr << "should not happen\n"; + lyxerr << "should not happen" << endl; } -void MathExIntInset::draw(Painter &, int, int) const -{ - lyxerr << "should not happen\n"; +void MathExIntInset::draw(MathPainterInfo &, int, int) const +{ + lyxerr << "should not happen" << endl; } void MathExIntInset::maplize(MapleStream & os) const { - os << symbol_.c_str() << '('; + os << symbol_ << '('; if (cell(0).size()) os << cell(0); - else + else os << '1'; os << ',' << cell(1); - if (hasScripts()) { - MathScriptInset * p = scripts_->asScriptInset(); - os << '=' << p->down().data_ << ".." << p->up().data_; - } + if (hasScripts()) + os << '=' << cell(2) << ".." << cell(3); os << ')'; } void MathExIntInset::mathmlize(MathMLStream & os) const { - MathSymbolInset * sym = new MathSymbolInset(symbol_.c_str()); - if (hasScripts()) - scripts_->asScriptInset()->mathmlize(sym, os); - else + boost::scoped_ptr sym(new MathSymbolInset(symbol_)); + //if (hasScripts()) + // mathmlize(sym, os); + //else sym->mathmlize(os); - delete sym; os << cell(0) << "" << MTag("mrow") << "" << cell(1) << ETag("mrow"); @@ -95,6 +90,5 @@ void MathExIntInset::mathmlize(MathMLStream & os) const void MathExIntInset::write(WriteStream &) const { - lyxerr << "should not happen\n"; + lyxerr << "should not happen" << endl; } -