//lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl;
return true;
}
+
return false;
}
}
-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();
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
/* 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);
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;
}
}
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
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;
}