]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphList.C
Minimal fix needed to give Qt a label dialog again.
[lyx.git] / src / ParagraphList.C
index af31be305e9f0c5e5d697b58650b79f87c436ca2..152aef2f5458d7d1a473673ab97f5afe867afcde 100644 (file)
@@ -65,7 +65,7 @@ ParagraphList::iterator::operator--(int)
 
 
 bool operator==(ParagraphList::iterator const & i1,
-                ParagraphList::iterator const & i2)
+               ParagraphList::iterator const & i2)
 {
        return &(*const_cast<ParagraphList::iterator&>(i1))
            == &(*const_cast<ParagraphList::iterator&>(i2));
@@ -73,7 +73,7 @@ bool operator==(ParagraphList::iterator const & i1,
 
 
 bool operator!=(ParagraphList::iterator const & i1,
-                ParagraphList::iterator const & i2)
+               ParagraphList::iterator const & i2)
 {
        return !(i1 == i2);
 }
@@ -85,6 +85,27 @@ ParagraphList::ParagraphList()
 {}
 
 
+ParagraphList::iterator
+ParagraphList::insert(ParagraphList::iterator it, Paragraph * par)
+{
+       if (it != end()) {
+               Paragraph * prev = it->previous();
+               par->next(&*it);
+               par->previous(prev);
+               prev->next(par);
+               it->previous(par);
+       } else {
+               // Find last par.
+               Paragraph * last = parlist;
+               while (last->next())
+                       last = last->next();
+               last->next(par);
+               par->previous(last);
+       }
+       return iterator(par);
+}
+
+
 void ParagraphList::clear()
 {
        while (parlist) {
@@ -95,7 +116,21 @@ void ParagraphList::clear()
 }
 
 
-ParagraphList::iterator ParagraphList::begin() 
+void ParagraphList::erase(ParagraphList::iterator it)
+{
+       Paragraph * prev = it->previous();
+       Paragraph * next = it->next();
+
+       if (prev)
+               prev->next(next);
+       if (next)
+               next->previous(prev);
+
+       delete &*it;
+}
+
+
+ParagraphList::iterator ParagraphList::begin()
 {
        return iterator(parlist);
 }