using std::endl;
using std::find;
using std::pair;
+using lyx::pos_type;
LyXText::LyXText(BufferView * bv)
row->next()->previous(row->previous());
if (!row->previous()) {
firstrow = row->next();
+// lyx::Assert(firstrow);
} else {
row->previous()->next(row->next());
}
Paragraph * LyXText::setLayout(BufferView * bview,
LyXCursor & cur, LyXCursor & sstart_cur,
LyXCursor & send_cur,
- layout_type layout)
+ lyx::layout_type layout)
{
Paragraph * endpar = send_cur.par()->next();
Paragraph * undoendpar = endpar;
// set layout over selection and make a total rebreak of those paragraphs
-void LyXText::setLayout(BufferView * bview, layout_type layout)
+void LyXText::setLayout(BufferView * bview, lyx::layout_type layout)
{
LyXCursor tmpcursor = cursor; /* store the current cursor */
}
-LyXText::pos_type LyXText::beginningOfMainBody(Buffer const * buf,
+pos_type LyXText::beginningOfMainBody(Buffer const * buf,
Paragraph const * par) const
{
if (textclasslist.Style(buf->params.textclass,
void LyXText::deleteEmptyParagraphMechanism(BufferView * bview,
LyXCursor const & old_cursor) const
{
+ // don't delete anything if this is the ONLY paragraph!
+ if (!old_cursor.par()->next() && !old_cursor.par()->previous())
+ return;
+
// Would be wrong to delete anything if we have a selection.
if (selection.set()) return;
// We allow all kinds of "mumbo-jumbo" when freespacing.
if (textclasslist.Style(bview->buffer()->params.textclass,
- old_cursor.par()->getLayout()).free_spacing)
+ old_cursor.par()->getLayout()).free_spacing ||
+ old_cursor.par()->isFreeSpacing())
+ {
return;
+ }
bool deleted = false;