X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcursor_slice.h;h=230a9ad83949309e6aec2a5a1f916c2724edf990;hb=de3c8e5b80effa940c92980032389c868f377d6b;hp=a06a374222015d7864e1ebbcd2a837358a9c2733;hpb=99aacdad5ce32c5905149d800405ff48ffb3a3d6;p=lyx.git diff --git a/src/cursor_slice.h b/src/cursor_slice.h index a06a374222..230a9ad839 100644 --- a/src/cursor_slice.h +++ b/src/cursor_slice.h @@ -17,11 +17,11 @@ #ifndef CURSORSLICE_H #define CURSORSLICE_H +#include "support/types.h" + #include #include -#include "support/types.h" - class BufferView; class InsetBase; class MathInset; @@ -43,7 +43,7 @@ public: /// type for cell number in inset typedef size_t idx_type; /// type for paragraph numbers positions within a cell - typedef lyx::paroffset_type par_type; + typedef lyx::par_type par_type; /// type for cursor positions within a cell typedef lyx::pos_type pos_type; /// type for row indices @@ -54,30 +54,28 @@ public: /// CursorSlice(); /// - explicit CursorSlice(InsetBase *); + explicit CursorSlice(InsetBase &); /// the current inset - InsetBase * inset() const { return inset_; } - /// set the paragraph that contains this cursor - void idx(idx_type idx); + InsetBase & inset() const { return *inset_; } /// return the cell this cursor is in - idx_type idx() const; + idx_type idx() const { return idx_; } /// return the cell this cursor is in - idx_type & idx(); + idx_type & idx() { return idx_; } /// return the last cell in this inset idx_type lastidx() const { return nargs() - 1; } - /// set the paragraph that contains this cursor - void par(par_type par); /// return the paragraph this cursor is in - par_type par() const; - /// return the paragraph this cursor is in - par_type & par(); - /// set the position within the paragraph - void pos(pos_type pos); + par_type par() const { return par_; } + /// set the paragraph this cursor is in + par_type & par() { return par_; } + /// increments the paragraph this cursor is in + void incrementPar(); + /// increments the paragraph this cursor is in + void decrementPar(); /// return the position within the paragraph - pos_type pos() const; + pos_type pos() const { return pos_; } /// return the position within the paragraph - pos_type & pos(); + pos_type & pos() { return pos_; } /// return the last position within the paragraph pos_type lastpos() const; /// return the number of embedded cells @@ -95,11 +93,9 @@ public: /// texted specific stuff /// /// see comment for the member - void boundary(bool b); - /// see comment for the member - bool boundary() const; + bool boundary() const { return boundary_; } /// see comment for the member - bool & boundary(); + bool & boundary() { return boundary_; } /// LyXText * text() const; /// @@ -120,12 +116,15 @@ public: /// friend std::ostream & operator<<(std::ostream &, CursorSlice const &); public: - /// pointer to an inset + /// pointer to 'owning' inset. This is some kind of cache. InsetBase * inset_; +private: /// cell index of a position in this inset idx_type idx_; /// paragraph in this cell (used by texted) par_type par_; + /// true of 'pit' was properly initialized + bool pit_valid_; /// position in this cell pos_type pos_; /** @@ -154,5 +153,7 @@ bool operator!=(CursorSlice const &, CursorSlice const &); bool operator<(CursorSlice const &, CursorSlice const &); /// test for order bool operator>(CursorSlice const &, CursorSlice const &); +/// test for order +bool operator<=(CursorSlice const &, CursorSlice const &); #endif