]> git.lyx.org Git - lyx.git/blobdiff - src/dociterator.C
ws changes mostly
[lyx.git] / src / dociterator.C
index 8f97436531265301fec1027abc86bcc05c1df413..fe01067aba2016dd186431a6aa70d6f3b90a98f5 100644 (file)
@@ -123,7 +123,13 @@ MathAtom & DocIterator::nextAtom()
 }
 
 
-LyXText * DocIterator::text() const
+LyXText * DocIterator::text()
+{
+       BOOST_ASSERT(!empty());
+       return top().text();
+}
+
+LyXText const * DocIterator::text() const
 {
        BOOST_ASSERT(!empty());
        return top().text();
@@ -146,13 +152,15 @@ Paragraph const & DocIterator::paragraph() const
 
 Row & DocIterator::textRow()
 {
-       return *paragraph().getRow(pos());
+       BOOST_ASSERT(!paragraph().rows().empty());
+       return paragraph().getRow(pos());
 }
 
 
 Row const & DocIterator::textRow() const
 {
-       return *paragraph().getRow(pos());
+       BOOST_ASSERT(!paragraph().rows().empty());
+       return paragraph().getRow(pos());
 }
 
 
@@ -168,18 +176,6 @@ DocIterator::pos_type DocIterator::lastpos() const
 }
 
 
-DocIterator::row_type DocIterator::crow() const
-{
-       return paragraph().row(pos());
-}
-
-
-DocIterator::row_type DocIterator::lastcrow() const
-{
-       return paragraph().rows.size();
-}
-
-
 DocIterator::idx_type DocIterator::lastidx() const
 {
        return top().lastidx();
@@ -245,7 +241,18 @@ bool DocIterator::inTexted() const
 }
 
 
-LyXText * DocIterator::innerText() const
+LyXText * DocIterator::innerText()
+{
+       BOOST_ASSERT(!empty());
+       // go up until first non-0 text is hit
+       // (innermost text is 0 in mathed)
+       for (int i = size() - 1; i >= 0; --i)
+               if (operator[](i).text())
+                       return operator[](i).text();
+       return 0;
+}
+
+LyXText const * DocIterator::innerText() const
 {
        BOOST_ASSERT(!empty());
        // go up until first non-0 text is hit
@@ -314,7 +321,7 @@ void DocIterator::forwardPos()
                top.pos() = 0;
                return;
        }
-       //lyxerr << "... no next par" << endl;
+       //lyxerr << "... no next pit" << endl;
 
        // otherwise try to move on one cell if possible
        if (top.idx() < lastidx()) {