using std::ostream;
void breakParagraph(BufferParams const & bparams,
- Paragraph * par,
+ ParagraphList::iterator par,
pos_type pos,
int flag)
{
- // create a new paragraph
- Paragraph * tmp = new Paragraph(par);
+ // create a new paragraph, and insert into the list
+ Paragraph * tmp = new Paragraph(&*par);
// without doing that we get a crash when typing <Return> at the
// end of a paragraph
tmp->layout(bparams.getLyXTextClass().defaultLayout());
Change::Type change(par->lookupChange(i));
par->cutIntoMinibuffer(bparams, i);
if (tmp->insertFromMinibuffer(j - pos)) {
- tmp->pimpl_->setChange(j - pos, change);
+ tmp->setChange(j - pos, change);
++j;
}
}
for (i = pos_end; i >= pos; --i) {
- par->pimpl_->eraseIntern(i);
+ par->eraseIntern(i);
}
}
void breakParagraphConservative(BufferParams const & bparams,
- Paragraph * par,
+ ParagraphList::iterator par,
pos_type pos)
{
// create a new paragraph
- Paragraph * tmp = new Paragraph(par);
- tmp->makeSameLayout(par);
+ Paragraph * tmp = new Paragraph(&*par);
+ tmp->makeSameLayout(&*par);
// When can pos > Last()?
// I guess pos == Last() is possible.
}
-void mergeParagraph(BufferParams const & bparams, Paragraph * par)
+void mergeParagraph(Buffer * buf, ParagraphList::iterator par)
{
- Paragraph * the_next = par->next();
+ BufferParams const & bparams = buf->params;
+
+ ParagraphList::iterator the_next = boost::next(par);
// first the DTP-stuff
par->params().lineBottom(the_next->params().lineBottom());
++j;
}
- // delete the next paragraph
- Paragraph * ppar = the_next->previous();
- Paragraph * npar = the_next->next();
- delete the_next;
- ppar->next(npar);
+ buf->paragraphs.erase(the_next);
}