- ///
- int & pos();
- ///
- int & idx();
- /// x-offset of current cell relative to par xo
- int cellXOffset() const;
- /// y-offset of current cell relative to par yo
- int cellYOffset() const;
- /// current x position relative to par xo
- int xpos() const;
- /// current y position relative to par yo
- int ypos() const;
- /// adjust position in current cell according to x. idx is not changed.
- void gotoX(int x);
+ /// injects content of a cell into parent
+ void pullArg();
+ /// moves cursor index one cell to the left
+ bool idxLeft();
+ /// moves cursor index one cell to the right
+ bool idxRight();
+ /// moves cursor to beginning first cell of current line
+ bool idxLineFirst();
+ /// moves cursor to end of last cell of current line
+ bool idxLineLast();
+ /// moves cursor position one cell to the left
+ bool posLeft();
+ /// moves cursor position one cell to the right
+ bool posRight();
+ /// moves position somehow up or down
+ bool goUpDown(bool up);
+ /// moves position into box
+ bool bruteFind(int xo, int yo, int xlow, int xhigh, int ylow, int yhigh);
+ /// are we in a nucleus of a script inset?
+ bool inNucleus() const;
+
+
+ /// grab grid marked by anchor and current cursor
+ MathGridInset grabSelection() const;
+ /// erase the selected part and re-sets the cursor
+ void eraseSelection();
+ /// guess what
+ MathGridInset grabAndEraseSelection();