X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxcursor.h;h=8cbea6ce3d223b5c0e61dc5e41316bb0b7eb687d;hb=09e01879979643949f1f2c7216023f1f35d5ada2;hp=1d75d1e32ad3c17afc25346ba4a630bbd13e71c7;hpb=53274e31ec1cc715c0b48921ee67818790c2e99a;p=lyx.git diff --git a/src/lyxcursor.h b/src/lyxcursor.h index 1d75d1e32a..8cbea6ce3d 100644 --- a/src/lyxcursor.h +++ b/src/lyxcursor.h @@ -10,15 +10,9 @@ #ifndef LYXCURSOR_H #define LYXCURSOR_H -#ifdef __GNUG__ -#pragma interface -#endif - +#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, @@ -30,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 @@ -84,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_; /** @@ -129,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