]> git.lyx.org Git - lyx.git/blobdiff - src/InsetList.cpp
Tracking correctly available translations (take 2)
[lyx.git] / src / InsetList.cpp
index 6b8e1fae4cc75a4b7e6c2a03ee6324448e39c0ff..56401a4ba6d37112c555174a5da44e487c482702 100644 (file)
@@ -3,13 +3,14 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Martin Vermeer
  *
  * Full author contact details are available in file CREDITS.
  */
 
 #include <config.h>
+#include <algorithm>
 
 #include "InsetList.h"
 
@@ -51,6 +52,21 @@ InsetList::InsetList(InsetList const & il)
 }
 
 
+InsetList::InsetList(InsetList const & il, pos_type beg, pos_type end)
+{
+       InsetList::const_iterator cit = il.begin();
+       InsetList::const_iterator cend = il.end();
+       for (; cit != cend; ++cit) {
+               if (cit->pos < beg)
+                       continue;
+               if (cit->pos >= end)
+                       break;
+               // Add a new entry in the insetlist_.
+               insert(cit->inset->clone(), cit->pos - beg);
+       }
+}
+
+
 InsetList::~InsetList()
 {
        List::iterator it = list_.begin();
@@ -60,6 +76,15 @@ InsetList::~InsetList()
 }
 
 
+void InsetList::setBuffer(Buffer & b)
+{
+       List::iterator it = list_.begin();
+       List::iterator end = list_.end();
+       for (; it != end; ++it)
+               it->inset->setBuffer(b);
+}
+
+
 InsetList::iterator InsetList::insetIterator(pos_type pos)
 {
        InsetTable search_elem(pos, 0);