]> git.lyx.org Git - lyx.git/blobdiff - src/DocIterator.h
PDF-form.lyx: add a note
[lyx.git] / src / DocIterator.h
index 24c9e07f5e7edd0aa358abd5ce24c7ccad71578a..6a86e41d44b0a7f8e9115d6ca88a9b144626fa89 100644 (file)
@@ -15,7 +15,7 @@
 #include "CursorSlice.h"
 
 #include <vector>
-
+#include <algorithm>
 
 namespace lyx {
 
@@ -72,6 +72,8 @@ public:
        bool empty() const { return slices_.empty(); }
        /// is this the end position?
        bool atEnd() const { return slices_.empty(); }
+       /// is this the last possible position?
+       bool atLastPos() const { return pit() == lastpit() && pos() == lastpos(); }
 
        //
        // access to slice at tip
@@ -200,7 +202,7 @@ public:
        /// move backward one paragraph
        void backwardPar();
        /// move backward one inset
-       /// FIXME: This is not implemented!
+       /// not used currently, uncomment if you need it
        //void backwardInset();
 
        /// are we some 'extension' (i.e. deeper nested) of the given iterator
@@ -229,6 +231,9 @@ public:
        /// fix DocIterator in circumstances that should never happen.
        /// \return true if the DocIterator was fixed.
        bool fixIfBroken();
+       /// Repopulate the slices insets from bottom to top. Useful
+       /// for stable iterators or Undo data.
+       void sanitize();
 
        /// find index of CursorSlice with &cell() == &cell (or -1 if not found)
        int find(MathData const & cell) const;