- void cursorUp(LCursor & cur, bool selecting = false);
- ///
- void cursorDown(LCursor & cur, bool selecting = false);
- ///
- bool cursorLeft(LCursor & cur, bool internal = true);
- ///
- bool cursorRight(LCursor & cur, bool internal = true);
+ void recUndo(LCursor & cur, pit_type first) const;
+
+ /// sets cursor only within this LyXText.
+ /// x,y are screen coordinates
+ void setCursorFromCoordinates(LCursor & cur, int x, int y);
+
+ /// sets cursor recursively descending into nested editable insets
+ /**
+ \return the inset pointer if x,y is covering that inset
+ \param x,y are absolute screen coordinates.
+ \retval inset is non-null if the cursor is positionned inside
+ */
+ /// FIXME: move to TextMetrics.
+ InsetBase * editXY(LCursor & cur, int x, int y);
+
+ /// Move cursor one line up.
+ /**
+ * Returns true if an update is needed after the move.
+ */
+ /// FIXME: move to TextMetrics.
+ bool cursorUp(LCursor & cur);
+ /// Move cursor one line down.
+ /**
+ * Returns true if an update is needed after the move.
+ */
+ /// FIXME: move to TextMetrics.
+ bool cursorDown(LCursor & cur);
+ /// Move cursor one position left
+ /**
+ * Returns true if an update is needed after the move.
+ */
+ bool cursorLeft(LCursor & cur);
+ /// Move cursor one position right
+ /**
+ * Returns true if an update is needed after the move.
+ */
+ bool cursorRight(LCursor & cur);