]> git.lyx.org Git - lyx.git/blobdiff - src/InsetList.h
more cursor dispatch
[lyx.git] / src / InsetList.h
index 30dfea3fc4c670fef393aa23080344f1cd54d165..5baa9087944364e98f0a2430dc9da0ce75acff1c 100644 (file)
@@ -1,13 +1,23 @@
 // -*- C++ -*-
+/**
+ * \file InsetList.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
 
 #ifndef INSET_LIST_H
 #define INSET_LIST_H
 
 #include "support/types.h"
 
+#include <vector>
 
-class Inset;
-class BufferView;
+class InsetBase;
+class Buffer;
 
 
 ///
@@ -18,74 +28,51 @@ public:
                ///
                lyx::pos_type pos;
                ///
-               Inset * inset;
+               InsetBase * inset;
                ///
-               InsetTable(lyx::pos_type p, Inset * i) : pos(p), inset(i) {}
+               InsetTable(lyx::pos_type p, InsetBase * i) : pos(p), inset(i) {}
        };
        ///
        typedef std::vector<InsetTable> List;
-
        ///
-       class iterator {
-       public:
-               ///
-               iterator() {}
-               //
-               iterator(List::iterator const & iter);
-               ///
-               iterator & operator++();
-               ///
-               iterator operator++(int);
-               ///
-               lyx::pos_type getPos() const;
-               ///
-               Inset * getInset() const;
-               ///
-               void setInset(Inset * inset);
-               ///
-               friend bool operator==(iterator const &, iterator const &);
-       private:
-               ///
-               List::iterator it;
-       };
+       typedef List::iterator iterator;
+       ///
+       typedef List::const_iterator const_iterator;
+
        ///
        ~InsetList();
        ///
-       iterator begin();
+       iterator begin() { return list.begin(); }
+       ///
+       iterator end() { return list.end(); }
        ///
-       iterator end();
+       const_iterator begin() const { return list.begin(); }
        ///
-       iterator begin() const;
+       const_iterator end() const { return list.end(); }
        ///
-       iterator end() const;
+       bool empty() const { return list.empty(); }
        ///
-       iterator insetIterator(lyx::pos_type pos);
+       iterator insetIterator(lyx::pos_type pos); 
        ///
-       void insert(Inset * inset, lyx::pos_type pos);
+       const_iterator insetIterator(lyx::pos_type pos) const;
+       ///
+       void insert(InsetBase * inset, lyx::pos_type pos);
        ///
        void erase(lyx::pos_type pos);
        ///
-       Inset * release(lyx::pos_type);
+       InsetBase * release(lyx::pos_type);
        ///
-       Inset * get(lyx::pos_type pos) const;
+       InsetBase * get(lyx::pos_type pos) const;
        ///
        void increasePosAfterPos(lyx::pos_type pos);
        ///
        void decreasePosAfterPos(lyx::pos_type pos);
        ///
-       void deleteInsetsLyXText(BufferView * bv);
-       ///
-       void resizeInsetsLyXText(BufferView * bv);
+       void insetsOpenCloseBranch(Buffer const & buf);
+
 private:
        ///
        List list;
 };
 
-///
-bool operator==(InsetList::iterator const & i1,
-               InsetList::iterator const & i2);
-///
-bool operator!=(InsetList::iterator const & i1,
-               InsetList::iterator const & i2);
-
 #endif