]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMath.cpp
Merge branch 'master' of git.lyx.org:lyx
[lyx.git] / src / mathed / InsetMath.cpp
index 64db5a21809d540012d0a50e35633ff91efc6ae5..5507a868c9985e3e2a9432fbe2a3701437eec6e6 100644 (file)
@@ -4,7 +4,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Alejandro Aguilar Sierra
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
 #include "InsetMath.h"
 #include "MathData.h"
 #include "MathStream.h"
-#include "gettext.h"
-#include "debug.h"
 
+#include "support/debug.h"
+#include "support/docstream.h"
+#include "support/gettext.h"
 #include "support/lstrings.h"
 #include "support/textutils.h"
 
-#include <boost/current_function.hpp>
+#include "support/lassert.h"
 
-using std::endl;
+using namespace std;
 
 namespace lyx {
 
+docstring InsetMath::name() const
+{
+       return from_utf8("Unknown");
+}
 
 
-MathArray & InsetMath::cell(idx_type)
+MathData & InsetMath::cell(idx_type)
 {
-       static MathArray dummyCell;
-       lyxerr << BOOST_CURRENT_FUNCTION << ": I don't have any cell" << endl;
+       static MathData dummyCell(&buffer());
+       LYXERR0("I don't have any cell");
        return dummyCell;
 }
 
 
-MathArray const & InsetMath::cell(idx_type) const
+MathData const & InsetMath::cell(idx_type) const
 {
-       static MathArray dummyCell;
-       lyxerr << BOOST_CURRENT_FUNCTION << ": I don't have any cell" << endl;
+       static MathData dummyCell;
+       LYXERR0("I don't have any cell");
        return dummyCell;
 }
 
@@ -48,7 +53,7 @@ void InsetMath::dump() const
 {
        lyxerr << "---------------------------------------------" << endl;
        odocstringstream os;
-       WriteStream wi(os, false, true);
+       WriteStream wi(os, false, true, WriteStream::wsDefault);
        write(wi);
        lyxerr << to_utf8(os.str());
        lyxerr << "\n---------------------------------------------" << endl;
@@ -57,23 +62,19 @@ void InsetMath::dump() const
 
 void InsetMath::metricsT(TextMetricsInfo const &, Dimension &) const
 {
-#ifdef WITH_WARNINGS
-       lyxerr << "InsetMath::metricsT(Text) called directly!" << endl;
-#endif
+       LYXERR0("InsetMath::metricsT(Text) called directly!");
 }
 
 
 void InsetMath::drawT(TextPainter &, int, int) const
 {
-#ifdef WITH_WARNINGS
-       lyxerr << "InsetMath::drawT(Text) called directly!" << endl;
-#endif
+       LYXERR0("InsetMath::drawT(Text) called directly!");
 }
 
 
-
 void InsetMath::write(WriteStream & os) const
 {
+       MathEnsurer ensurer(os);
        docstring const s = name();
        os << "\\" << s;
        // We need an extra ' ' unless this is a single-char-non-ASCII name
@@ -83,11 +84,10 @@ void InsetMath::write(WriteStream & os) const
 }
 
 
-int InsetMath::plaintext(Buffer const &, odocstream &,
-                         OutputParams const &) const
+int InsetMath::plaintext(odocstream &, OutputParams const &) const
 {
        // all math plain text output shall take place in InsetMathHull
-       BOOST_ASSERT(false);
+       LASSERT(false, /**/);
        return 0;
 }
 
@@ -128,27 +128,34 @@ void InsetMath::mathematica(MathematicaStream & os) const
 
 void InsetMath::mathmlize(MathStream & os) const
 {
-        NormalStream ns(os.os());
-        normalize(ns);
+       os << "<!-- " << from_utf8(insetName(lyxCode())) << " -->";
+       os << MTag("mi");
+       NormalStream ns(os.os());
+       normalize(ns);
+       os << ETag("mi");
 }
 
 
-HullType InsetMath::getType() const
+void InsetMath::htmlize(HtmlStream & os) const
 {
-       return hullNone;
+       os << "<!-- " << from_utf8(insetName(lyxCode())) << " -->";
+       os << MTag("span", "style='color: red;'");
+       NormalStream ns(os.os());
+       normalize(ns);
+       os << ETag("span");
 }
 
 
-docstring InsetMath::name() const
+HullType InsetMath::getType() const
 {
-       return from_ascii("unknown");
+       return hullNone;
 }
 
 
-std::ostream & operator<<(std::ostream & os, MathAtom const & at)
+ostream & operator<<(ostream & os, MathAtom const & at)
 {
        odocstringstream oss;
-       WriteStream wi(oss, false, false);
+       WriteStream wi(oss, false, false, WriteStream::wsDefault);
        at->write(wi);
        return os << to_utf8(oss.str());
 }
@@ -156,7 +163,7 @@ std::ostream & operator<<(std::ostream & os, MathAtom const & at)
 
 odocstream & operator<<(odocstream & os, MathAtom const & at)
 {
-       WriteStream wi(os, false, false);
+       WriteStream wi(os, false, false, WriteStream::wsDefault);
        at->write(wi);
        return os;
 }