]> git.lyx.org Git - lyx.git/blobdiff - src/InsetList.h
Account for old versions of Pygments
[lyx.git] / src / InsetList.h
index aa99aeb4af047cab255f1475c08cea422499376d..f704a394f8c1b2070227fef014ad07320b3d8513 100644 (file)
@@ -4,7 +4,7 @@
  * 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
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -12,6 +12,8 @@
 #ifndef INSET_LIST_H
 #define INSET_LIST_H
 
+#include "insets/InsetCode.h"
+
 #include "support/types.h"
 
 #include <vector>
@@ -25,6 +27,18 @@ class Buffer;
 ///
 class InsetList {
 public:
+       ///
+       InsetList() {}
+       ///
+       InsetList(InsetList const &);
+       /// Partial copy constructor.
+       /// Copy the InsetList contents from \p beg to \p end (without end).
+       InsetList(InsetList const &, pos_type beg, pos_type end);
+       ///
+       void setBuffer(Buffer &);
+       ///
+       void resetBuffer();
+
        ///
        class InsetTable {
        public:
@@ -71,10 +85,20 @@ public:
        ///
        void decreasePosAfterPos(pos_type pos);
 
-       /// replicate ourselves.
-       /// Warning: this should be used with care, only
-       /// Paragraph::Pimpl should use it actually.
-       void clone();
+       /// search for next occurence of an \c Inset type.
+       /// \return the position of the found inset.
+       /// \retval -1 if no \c Inset is found.
+       pos_type find(
+               InsetCode code, ///< Code of inset to find.
+               pos_type startpos = 0 ///< start position for the search.
+               ) const;
+
+       /// count occurences of of an \c Inset type.
+       /// \return the number of found inset(s).
+       int count(
+               InsetCode code, ///< Code of inset type to count.
+               pos_type startpos = 0 ///< start position for the counting.
+               ) const;
 
 private:
        ///