]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_undersetinset.C
more IU
[lyx.git] / src / mathed / math_undersetinset.C
index a468cc6c30d7eae2dfc2fc6c5febcca2d6f039a9..8162266a1792bbace92936be30c37b67ef4dda1a 100644 (file)
 #include <config.h>
 
 #include "math_undersetinset.h"
+#include "math_data.h"
 #include "math_mathmlstream.h"
-#include "math_support.h"
 
 
 using std::max;
 using std::auto_ptr;
 
 
-MathUndersetInset::MathUndersetInset()
-{}
-
-
 auto_ptr<InsetBase> MathUndersetInset::clone() const
 {
        return auto_ptr<InsetBase>(new MathUndersetInset(*this));
@@ -51,6 +47,34 @@ void MathUndersetInset::draw(PainterInfo & pi, int x, int y) const
 }
 
 
+bool MathUndersetInset::idxFirst(idx_type & i, pos_type & pos) const
+{
+       i = 1;
+       pos = 0;
+       return true;
+}
+
+
+bool MathUndersetInset::idxLast(idx_type & i, pos_type & pos) const
+{
+       i = 1;
+       pos = cell(i).size();
+       return true;
+}
+
+
+bool MathUndersetInset::idxUpDown(idx_type & idx, pos_type & pos, bool up,
+       int targetx) const
+{
+       idx_type target = up; // up ? 1 : 0, since upper cell has idx 1
+       if (idx == target)
+               return false;
+       idx = target;
+       pos = cell(idx).x2pos(targetx);
+       return true;
+}
+
+
 void MathUndersetInset::write(WriteStream & os) const
 {
        os << "\\underset{" << cell(0) << "}{" << cell(1) << '}';