]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathExInt.cpp
Remove hardcoded values
[lyx.git] / src / mathed / InsetMathExInt.cpp
index 052a13f78ba3f7829d989a480dde25fbee95dc3a..64f49cd996778bbd80637c8ec9b7533622c12a36 100644 (file)
@@ -11,6 +11,8 @@
 #include <config.h>
 
 #include "InsetMathExInt.h"
+
+#include "LaTeXFeatures.h"
 #include "MathData.h"
 #include "MathStream.h"
 #include "MathStream.h"
@@ -74,7 +76,7 @@ void InsetMathExInt::draw(PainterInfo &, int, int) const
 void InsetMathExInt::maple(MapleStream & os) const
 {
        os << symbol_ << '(';
-       if (cell(0).size())
+       if (!cell(0).empty())
                os << cell(0);
        else
                os << '1';
@@ -92,7 +94,7 @@ void InsetMathExInt::maxima(MaximaStream & os) const
        else
                os << symbol_ << '(';
 
-       if (cell(0).size())
+       if (!cell(0).empty())
                os << cell(0) << ',';
        else
                os << '1' << ',';
@@ -111,7 +113,7 @@ void InsetMathExInt::mathematica(MathematicaStream & os) const
        else
                os << symbol_ << '[';
 
-       if (cell(0).size())
+       if (!cell(0).empty())
                os << cell(0) << ',';
        else
                os << '1' << ',';
@@ -124,6 +126,10 @@ void InsetMathExInt::mathematica(MathematicaStream & os) const
 
 void InsetMathExInt::mathmlize(MathStream & os) const
 {
+       // At the moment, we are not extracting sums and the like for MathML.
+       // If we should decide to do so later, then we'll need to re-merge
+       // r32566 and r32568.
+       // So right now this only handles integrals.
        InsetMathSymbol sym(symbol_);
        bool const lower = !cell(2).empty();
        bool const upper = !cell(3).empty();
@@ -152,10 +158,35 @@ void InsetMathExInt::mathmlize(MathStream & os) const
 }
 
 
+void InsetMathExInt::htmlize(HtmlStream & os) const
+{
+       // At the moment, we are not extracting sums and the like for HTML.
+       // So right now this only handles integrals.
+       InsetMathSymbol sym(symbol_);
+       bool const lower = !cell(2).empty();
+       bool const upper = !cell(3).empty();
+       
+       os << MTag("span", "class='integral'")
+          << MTag("span", "class='intsym'");
+       sym.htmlize(os, false);
+       os << ETag("span");
+       
+       if (lower && upper) {
+               os << MTag("span", "class='limits'")
+                  << MTag("span") << cell(2) << ETag("span")
+                        << MTag("span") << cell(3) << ETag("span")
+                        << ETag("span");
+       } else if (lower)
+               os << MTag("sub", "class='limit'") << cell(2) << ETag("sub");
+       else if (upper)
+               os << MTag("sup", "class='limit'") << cell(3) << ETag("sup");
+       os << cell(0) << "<b>d</b>" << cell(1) << ETag("span");
+}
+
+
 void InsetMathExInt::write(WriteStream &) const
 {
        LYXERR0("should not happen");
 }
 
-
 } // namespace lyx