X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDocIterator.h;h=69930fcc7d09b3e50f3dc7e08bd5c30c87960bac;hb=294e4884ee29585d311177406cd31499e6d81877;hp=4d2dfa00f7eae7c808149fa9d9db6b5195b41399;hpb=41f59527d1df71cc562008f6980e353772e2960d;p=lyx.git diff --git a/src/DocIterator.h b/src/DocIterator.h index 4d2dfa00f7..69930fcc7d 100644 --- a/src/DocIterator.h +++ b/src/DocIterator.h @@ -69,10 +69,10 @@ public: /// does this iterator have any content? bool empty() const { return slices_.empty(); } + /// is this the begin position? + bool atBegin() const { return depth() == 1 && pit() == 0 && pos() == 0; } /// 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(); } /// checks the cursor slices for disabled spell checker insets bool allowSpellCheck() const; @@ -212,6 +212,8 @@ public: void forwardInset(); /// move backward one logical position void backwardPos(); + /// move backward one logical position, skip collapsed insets + void backwardPosIgnoreCollapsed(); /// move backward one physical character or inset void backwardChar(); /// move backward one paragraph @@ -249,6 +251,10 @@ public: /// Repopulate the slices insets from bottom to top. Useful /// for stable iterators or Undo data. void sanitize(); + /// + bool isInside(Inset const *) const; + /// make sure we are outside of given inset + void leaveInset(Inset const & inset); /// find index of CursorSlice with &cell() == &cell (or -1 if not found) int find(MathData const & cell) const;