#include <vector>
#include <iosfwd>
+
+namespace lyx {
+
class LyXText;
class MathAtom;
class Paragraph;
class Row;
-
// only needed for gcc 2.95, remove when support terminated
template <typename A, typename B>
bool ptr_cmp(A const * a, B const * b)
public:
/// type for cell number in inset
typedef CursorSlice::idx_type idx_type;
- /// type for paragraph numbers positions within a cell
- typedef CursorSlice::pit_type pit_type;
- /// type for cursor positions within a cell
- typedef CursorSlice::pos_type pos_type;
/// type for row indices
typedef CursorSlice::row_type row_type;
/// type for col indices
LyXText * text();
///
LyXText const * text() const;
+ /// the containing inset or the cell, respectively
+ InsetBase * realInset() const;
///
InsetBase * innerInsetOfType(int code) const;
///
//
/// move on one logical position, do not descend into nested insets
void forwardPosNoDescend();
- /// move on one logical position, descend into nested insets
- void forwardPos();
+ /**
+ * move on one logical position, descend into nested insets
+ * skip collapsed insets if \p ignorecollapsed is true
+ */
+ void forwardPos(bool ignorecollapsed = false);
/// move on one physical character or inset
void forwardChar();
/// move on one paragraph
DocIterator asDocIterator(InsetBase * start) const;
///
size_t size() const { return data_.size(); }
- /// type for cursor positions within a cell
- typedef CursorSlice::pos_type pos_type;
/// return the position within the paragraph
pos_type pos() const { return data_.back().pos(); }
/// return the position within the paragraph
std::vector<CursorSlice> data_;
};
+
+} // namespace lyx
+
#endif