X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxcursor.h;h=8cbea6ce3d223b5c0e61dc5e41316bb0b7eb687d;hb=09e01879979643949f1f2c7216023f1f35d5ada2;hp=1a0dc5253830292c86e1b9608d3d134916d1a62a;hpb=99d1627a471b92f403598d03dfc861ddc3c11be0;p=lyx.git diff --git a/src/lyxcursor.h b/src/lyxcursor.h index 1a0dc52538..8cbea6ce3d 100644 --- a/src/lyxcursor.h +++ b/src/lyxcursor.h @@ -10,11 +10,9 @@ #ifndef LYXCURSOR_H #define LYXCURSOR_H +#include "ParagraphList.h" #include "support/types.h" -class Paragraph; -class Row; - /** * The cursor class describes the position of a cursor within a document. * Several cursors exist within LyX; for example, when locking an inset, @@ -26,9 +24,9 @@ class LyXCursor { public: LyXCursor(); /// set the paragraph that contains this cursor - void par(Paragraph * p); + void par(ParagraphList::iterator pit); /// return the paragraph this cursor is in - Paragraph * par() const; + ParagraphList::iterator par() const; /// set the position within the paragraph void pos(lyx::pos_type p); /// return the position within the paragraph @@ -80,23 +78,9 @@ public: * FIXME: explain why we need this ? especially for y... */ int iy() const; - /// set the row of the paragraph the cursor is in - void row(Row * r); - /// return the row of the paragraph this cursor is in - Row * row() const; - /// set the stored next row - void irow(Row * r); - /** - * Return the next row, when this - * cursor is at the end of the previous row, for insets that take - * a full row. - * - * FIXME: explain why we need this ? especially for y... - */ - Row * irow() const; private: /// The paragraph the cursor is in. - Paragraph * par_; + ParagraphList::iterator par_; /// The position inside the paragraph lyx::pos_type pos_; /** @@ -125,51 +109,11 @@ private: int y_; /// the stored next-row y position int iy_; - /// the containing row - Row * row_; - /// the containing row for the next line - Row * irow_; }; -/// these three dictate the others -inline -bool operator==(LyXCursor const & a, LyXCursor const & b) -{ - return (a.par() == b.par()) - && (a.pos() == b.pos()) - && a.boundary() == b.boundary(); -} - -inline -bool operator!=(LyXCursor const & a, LyXCursor const & b) -{ - return !(a == b); -} - -/// only compares y() and pos(). Can this be done in another way? -inline -bool operator<(LyXCursor const & a, LyXCursor const & b) -{ - return (a.y() < b.y() && a.pos() < b.pos()); -} - -inline -bool operator>(LyXCursor const & a, LyXCursor const & b) -{ - return b < a; -} - -inline -bool operator>=(LyXCursor const & a, LyXCursor const & b) -{ - return !(a < b); -} - - -inline -bool operator<=(LyXCursor const & a, LyXCursor const & b) -{ - return !(a > b); -} +/// +bool operator==(LyXCursor const & a, LyXCursor const & b); +/// +bool operator!=(LyXCursor const & a, LyXCursor const & b); #endif // LYXCURSOR_H