]> git.lyx.org Git - lyx.git/blobdiff - src/DocIterator.h
Fix dialog handling of Insert Plain Text
[lyx.git] / src / DocIterator.h
index fe05e398c841ac228094beba4af124abfc7b66cb..0531a23c6870bc07aca03a08621011673751c175 100644 (file)
@@ -15,7 +15,6 @@
 #include "CursorSlice.h"
 
 #include <vector>
-#include <iosfwd>
 
 
 namespace lyx {
@@ -25,14 +24,6 @@ class MathAtom;
 class Paragraph;
 
 
-// only needed for gcc 2.95, remove when support terminated
-template <typename A, typename B>
-bool ptr_cmp(A const * a, B const * b)
-{
-       return a == b;
-}
-
-
 // The public inheritance should go in favour of a suitable data member
 // (or maybe private inheritance) at some point of time.
 class DocIterator // : public std::vector<CursorSlice>
@@ -212,6 +203,19 @@ public:
        /// \return true if the DocIterator was fixed.
        bool fixIfBroken();
 
+       /// find index of CursorSlice with &cell() == &cell (or -1 if not found)
+       idx_type find(MathData const & cell) const;
+       /// find index of CursorSlice with inset() == inset (or -1 of not found)
+       idx_type find(InsetMath const * inset) const;
+       /// cut off CursorSlices with index > above and store cut off slices in cut
+       void cutOff(idx_type above, std::vector<CursorSlice> & cut);
+       /// cut off CursorSlices with index > above
+       void cutOff(idx_type above);
+       /// push CursorSlices on top
+       void append(std::vector<CursorSlice> const & x);
+       /// push one CursorSlice on top and set its index and position
+       void append(idx_type idx, pos_type pos);
+
 private:
        /**
         * When the cursor position is i, is the cursor after the i-th char