]> git.lyx.org Git - lyx.git/blobdiff - src/Row.cpp
When we use InPremable styles, we want to write as many versions
[lyx.git] / src / Row.cpp
index bd0945961f415eb44e8768534652dee672038ee2..8af6fa9ae173f426d600ad2572dfbe134bb3f868 100644 (file)
@@ -128,6 +128,7 @@ bool Row::Element::breakAt(int w, bool force)
                //lyxerr << "breakAt(" << w << ")  Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl;
                return true;
        }
+
        return false;
 }
 
@@ -412,10 +413,10 @@ void Row::pop_back()
 }
 
 
-void Row::shortenIfNeeded(pos_type const keep, int const w)
+bool Row::shortenIfNeeded(pos_type const keep, int const w)
 {
        if (empty() || width() <= w)
-               return;
+               return false;
 
        Elements::iterator const beg = elements_.begin();
        Elements::iterator const end = elements_.end();
@@ -432,7 +433,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
        if (cit == end) {
                // This should not happen since the row is too long.
                LYXERR0("Something is wrong cannot shorten row: " << *this);
-               return;
+               return false;
        }
 
        // Iterate backwards over breakable elements and try to break them
@@ -466,7 +467,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                        /* after breakAt, there may be spaces at the end of the
                         * string, but they are not counted in the string length
                         * (QTextLayout feature, actually). We remove them, but do
-                        * not change the endo of the row, since the spaces at row
+                        * not change the end of the row, since spaces at row
                         * break are invisible.
                         */
                        brk.str = rtrim(brk.str);
@@ -475,7 +476,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                        dim_.wid = wid_brk + brk.dim.wid;
                        // If there are other elements, they should be removed.
                        elements_.erase(cit_brk + 1, end);
-                       return;
+                       return true;
                }
        }
 
@@ -492,7 +493,7 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                end_ = cit->pos;
                dim_.wid = wid;
                elements_.erase(cit, end);
-               return;
+               return true;
        }
 
        /* If we are here, it means that we have not found a separator to
@@ -507,7 +508,9 @@ void Row::shortenIfNeeded(pos_type const keep, int const w)
                dim_.wid = wid + cit->dim.wid;
                // If there are other elements, they should be removed.
                elements_.erase(next(cit, 1), end);
+               return true;
        }
+       return false;
 }