]> git.lyx.org Git - lyx.git/blobdiff - src/InsetList.cpp
GuiSetBorder: Fix drawing glitch with trimmed lines
[lyx.git] / src / InsetList.cpp
index 56401a4ba6d37112c555174a5da44e487c482702..f5f8cf27029f252c770d4db5113fe1d2dc8e51a2 100644 (file)
  */
 
 #include <config.h>
-#include <algorithm>
 
 #include "InsetList.h"
 
-#include "Buffer.h"
-#include "BufferParams.h"
-#include "BranchList.h"
-
-#include "insets/InsetBranch.h"
+#include "insets/Inset.h"
 
 #include "support/debug.h"
 
+#include <algorithm>
+
 using namespace std;
 
 namespace lyx {
@@ -29,9 +26,9 @@ namespace lyx {
 
 namespace {
 
-typedef InsetList::InsetTable Table;
+typedef InsetList::Element Table;
 
-struct InsetTablePosLess
+struct ElementPosLess
 {
        bool operator()(Table const & t1, Table const & t2) const
        {
@@ -39,12 +36,11 @@ struct InsetTablePosLess
        }
 };
 
-} // namespace anon
+} // namespace
 
 
-InsetList::InsetList(InsetList const & il)
+InsetList::InsetList(InsetList const & il) : list_(il.list_)
 {
-       list_ = il.list_;
        List::iterator it = list_.begin();
        List::iterator end = list_.end();
        for (; it != end; ++it)
@@ -85,19 +81,28 @@ void InsetList::setBuffer(Buffer & b)
 }
 
 
+void InsetList::resetBuffer()
+{
+       List::iterator it = list_.begin();
+       List::iterator end = list_.end();
+       for (; it != end; ++it)
+               it->inset->resetBuffer();
+}
+
+
 InsetList::iterator InsetList::insetIterator(pos_type pos)
 {
-       InsetTable search_elem(pos, 0);
+       Element search_elem(pos, 0);
        return lower_bound(list_.begin(), list_.end(), search_elem,
-                          InsetTablePosLess());
+                          ElementPosLess());
 }
 
 
 InsetList::const_iterator InsetList::insetIterator(pos_type pos) const
 {
-       InsetTable search_elem(pos, 0);
+       Element search_elem(pos, 0);
        return lower_bound(list_.begin(), list_.end(), search_elem,
-                          InsetTablePosLess());
+                          ElementPosLess());
 }
 
 
@@ -109,7 +114,7 @@ void InsetList::insert(Inset * inset, pos_type pos)
                LYXERR0("ERROR (InsetList::insert): "
                       << "There is an inset in position: " << pos);
        } else {
-               list_.insert(it, InsetTable(pos, inset));
+               list_.insert(it, Element(pos, inset));
        }
 }