X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCursorSlice.h;h=d703cb4b3479ac3198c26ea3ed2df0dfaeb82f32;hb=f7be88ce4c2bbc10c4691e614a54fca427a2e8fb;hp=ba0b0e5974d5078a460ea1ac97bf06e888e181b4;hpb=c0d2633b8c96d357f26767e2e291b51b0fd752f6;p=lyx.git diff --git a/src/CursorSlice.h b/src/CursorSlice.h index ba0b0e5974..d703cb4b34 100644 --- a/src/CursorSlice.h +++ b/src/CursorSlice.h @@ -4,12 +4,12 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Matthias Ettrich * \author John Levon - * \author André Pönitz + * \author André Pönitz * \author Dekel Tsur - * \author Jürgen Vigna + * \author Jürgen Vigna * * Full author contact details are available in file CREDITS. */ @@ -18,11 +18,9 @@ #define CURSORSLICE_H #include "support/types.h" +#include "support/strfwd.h" #include "insets/Inset.h" -#include -#include - namespace lyx { @@ -40,11 +38,11 @@ class Paragraph; class CursorSlice { public: - /// Those needs inset_ access. - ///@{ + /// \name Those needs inset_ access. + //@{ friend class DocIterator; friend class StableDocIterator; - ///@} + //@} /// type for cell number in inset typedef size_t idx_type; @@ -58,6 +56,15 @@ public: /// explicit CursorSlice(Inset &); + /// \name Comparison operators. + //@{ + friend bool operator==(CursorSlice const &, CursorSlice const &); + friend bool operator!=(CursorSlice const &, CursorSlice const &); + friend bool operator<(CursorSlice const &, CursorSlice const &); + friend bool operator>(CursorSlice const &, CursorSlice const &); + friend bool operator<=(CursorSlice const &, CursorSlice const &); + //@} + /// the current inset Inset & inset() const { return *inset_; } /// return the cell this cursor is in @@ -121,6 +128,14 @@ public: void forwardPos(); /// move to previous position void backwardPos(); + /// move to next cell + 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,23 +163,10 @@ private: idx_type idx_; /// paragraph in this cell (used by texted) pit_type pit_; - /// true if 'pit' was properly initialized - bool pit_valid_; /// position in this cell pos_type pos_; }; -/// test for equality -bool operator==(CursorSlice const &, CursorSlice const &); -/// test for inequality -bool operator!=(CursorSlice const &, CursorSlice const &); -/// test for order -bool operator<(CursorSlice const &, CursorSlice const &); -/// test for order -bool operator>(CursorSlice const &, CursorSlice const &); -/// test for order -bool operator<=(CursorSlice const &, CursorSlice const &); - } // namespace lyx