bool posBackward();
/// move one step forward
bool posForward();
+ /// move visually one step to the right
+ /**
+ * @note: This method may move into an inset unless skip_inset == true.
+ * @note: This method may move into a new paragraph.
+ * @note: This method may move out of the current slice.
+ * @return: true if moved, false if not moved
+ */
+ bool posVisRight(bool skip_inset = false);
+ /// move visually one step to the left
+ /**
+ * @note: This method may move into an inset unless skip_inset == true.
+ * @note: This method may move into a new paragraph.
+ * @note: This method may move out of the current slice.
+ * @return: true if moved, false if not moved
+ */
+ bool posVisLeft(bool skip_inset = false);
/// move visually to next/previous row
/**
* Assuming we were to keep moving left (right) from the current cursor
/// Convenience: prepare undo for the whole buffer
void recordUndoFullDocument();
- /// Convenience: prepare undo for the selected paragraphs
+ /// Convenience: prepare undo for the selected paragraphs or cells
void recordUndoSelection();
///
bool inMacroMode() const;
/// get access to the macro we are currently typing
InsetMathUnknown * activeMacro();
+ /// get access to the macro we are currently typing
+ InsetMathUnknown const * activeMacro() const;
/// replace selected stuff with at, placing the former
// selection in given cell of atom
* Sure that the cursor old is valid, i.e. all inset pointers
* point to valid insets! Use Cursor::fixIfBroken if necessary.
*/
-bool notifyCursorLeaves(DocIterator const & old, Cursor & cur);
+bool notifyCursorLeaves(Cursor const & old, Cursor & cur);
} // namespace lyx