]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_data.C
mathed uglyfication
[lyx.git] / src / mathed / math_data.C
index de0588783a83e2c7ba7e98e7c9c441c74c60e11b..028d213e5ab8207fb3f7d5c0a4df908730dea981 100644 (file)
@@ -1,24 +1,33 @@
+/**
+ * \file math_data.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
 #include <config.h>
 
 #include "math_data.h"
-#include "math_inset.h"
 #include "math_cursor.h"
-#include "math_deliminset.h"
 #include "math_fontinset.h"
 #include "math_scriptinset.h"
 #include "math_mathmlstream.h"
 #include "math_support.h"
 #include "math_replace.h"
 #include "debug.h"
-#include "support/LAssert.h"
-#include "metricsinfo.h"
+#include "LColor.h"
+
 #include "frontends/Painter.h"
-#include "textpainter.h"
 
+#include <boost/assert.hpp>
 
-using std::max;
-using std::min;
 using std::abs;
+using std::endl;
+using std::min;
+using std::ostringstream;
 
 
 MathArray::MathArray()
@@ -38,16 +47,16 @@ void MathArray::substitute(MathMacro const & m)
 }
 
 
-MathAtom & MathArray::operator[](size_type pos)
+MathAtom & MathArray::operator[](pos_type pos)
 {
-       lyx::Assert(pos < size());
+       BOOST_ASSERT(pos < size());
        return base_type::operator[](pos);
 }
 
 
-MathAtom const & MathArray::operator[](size_type pos) const
+MathAtom const & MathArray::operator[](pos_type pos) const
 {
-       lyx::Assert(pos < size());
+       BOOST_ASSERT(pos < size());
        return base_type::operator[](pos);
 }
 
@@ -60,7 +69,7 @@ void MathArray::insert(size_type pos, MathAtom const & t)
 
 void MathArray::insert(size_type pos, MathArray const & ar)
 {
-       lyx::Assert(pos <= size());
+       BOOST_ASSERT(pos <= size());
        base_type::insert(begin() + pos, ar.begin(), ar.end());
 }
 
@@ -131,7 +140,7 @@ bool MathArray::matchpart(MathArray const & ar, pos_type pos) const
                return false;
        const_iterator it = begin() + pos;
        for (const_iterator jt = ar.begin(); jt != ar.end(); ++jt, ++it)
-               if (!(*jt)->match(*it))
+               if (asString(*it) != asString(*jt))
                        return false;
        return true;
 }
@@ -142,7 +151,7 @@ void MathArray::replace(ReplaceData & rep)
        for (size_type i = 0; i < size(); ++i) {
                if (find1(rep.from, i)) {
                        // match found
-                       lyxerr << "match found!\n";
+                       lyxerr << "match found!" << endl;
                        erase(i, i + rep.from.size());
                        insert(i, rep.to);
                }
@@ -158,9 +167,9 @@ void MathArray::replace(ReplaceData & rep)
 
 bool MathArray::find1(MathArray const & ar, size_type pos) const
 {
-       //lyxerr << "finding '" << ar << "' in '" << *this << "'\n";
+       lyxerr << "finding '" << ar << "' in '" << *this << "'" << endl;
        for (size_type i = 0, n = ar.size(); i < n; ++i)
-               if (!operator[](pos + i)->match(ar[i]))
+               if (asString(operator[](pos + i)) != asString(ar[i]))
                        return false;
        return true;
 }
@@ -220,8 +229,9 @@ void MathArray::metrics(MetricsInfo & mi) const
 
        if (!empty()) {
                dim_.wid = 0;
+               Dimension d;
                for (const_iterator it = begin(), et = end(); it != et; ++it) {
-                       Dimension d = (*it)->metrics(mi);
+                       (*it)->metrics(mi, d);
                        dim_ += d;
                        it->width_ = d.wid;
                }
@@ -393,6 +403,7 @@ void MathArray::notifyCursorLeaves()
 {
        // do not recurse!
 
+/*
        // remove base-only "scripts"
        for (pos_type i = 0; i + 1 < size(); ++i) {
                MathScriptInset * p = operator[](i).nucleus()->asScriptInset();
@@ -414,5 +425,5 @@ void MathArray::notifyCursorLeaves()
                        mathcursor->adjust(i, -1);
                }
        }
-
+*/
 }