* Returns true if an update is needed after the move.
*/
bool cursorBackward(Cursor & cur);
+ /// Move cursor visually one position to the left
+ /**
+ * \param skip_inset if true, don't enter insets
+ * Returns true if an update is needed after the move.
+ */
+ bool cursorVisLeft(Cursor & cur, bool skip_inset = false);
/// Move cursor one position forward
/**
* Returns true if an update is needed after the move.
*/
bool cursorForward(Cursor & cur);
+ /// Move cursor visually one position to the right
+ /**
+ * \param skip_inset if true, don't enter insets
+ * Returns true if an update is needed after the move.
+ */
+ bool cursorVisRight(Cursor & cur, bool skip_inset = false);
///
bool cursorBackwardOneWord(Cursor & cur);
///
///
bool checkAndActivateInset(Cursor & cur, bool front);
+ ///
+ bool checkAndActivateInsetVisual(Cursor & cur, bool movingForward, bool movingLeft);
///
void write(Buffer const & buf, std::ostream & os) const;
/// returns whether we've seen our usual 'end' marker
- bool read(Buffer const & buf, Lexer & lex, ErrorList & errorList);
+ /// insetPtr is the containing Inset
+ bool read(Buffer const & buf, Lexer & lex, ErrorList & errorList,
+ InsetText * insetPtr);
/// delete double spaces, leading spaces, and empty paragraphs around old cursor.
/// \retval true if a change has happened and we need a redraw.