X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCursorSlice.h;h=f44c92e0c29b3c5bc9f5795153fe965435ab9a7c;hb=0430132aa049f2a97280bcbcff69f71d42ed7d98;hp=4da530d1378211edef65a424e878a820a72104eb;hpb=5a361b35cf0c2a2f1ca9535b0748045063f20555;p=lyx.git diff --git a/src/CursorSlice.h b/src/CursorSlice.h index 4da530d137..f44c92e0c2 100644 --- a/src/CursorSlice.h +++ b/src/CursorSlice.h @@ -32,7 +32,7 @@ class Paragraph; /// This encapsulates a single slice of a document iterator as used e.g. /// for cursors. -// After IU, the distinction of MathInset and InsetOld as well as +// After inset unification, the distinction of InsetMath and Inset as well as // that of MathData and Text should vanish. They are conceptually the // same (now...) @@ -89,7 +89,11 @@ public: pos_type pos() const { return pos_; } /// return the position within the paragraph pos_type & pos() { return pos_; } - /// return the last position within the paragraph + /*! + * \return the last position within the paragraph. + * Note that this is the position behind the last character or inset, + * i.e. you cannot dereference it. + */ pos_type lastpos() const; /// return the number of embedded cells size_t nargs() const { return inset_->nargs(); } @@ -134,6 +138,10 @@ public: void forwardIdx(); /// move to previous cell void backwardIdx(); + /// are we at the end of the cell + bool at_cell_end() const; + /// are we at the start of the cell + bool at_cell_begin() const; /// are we at the end of this slice bool at_end() const; /// are we at the start of this slice @@ -148,7 +156,9 @@ private: * Cell index of a position in this inset. * This is the primary cell information also for grid like insets, * although we have the convenience functions row() and col() for - * those * and column changes every time the number of columns ornumber + * those. + * This means that the corresponding idx_ of a cell in a given row + * and column changes every time the number of columns or number * of rows changes. Normally the cursor should stay in the same cell, * so these changes should typically be performed like the following: * \code