X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_cursor.h;h=59d6a18e630bc7757d873f43586f1f11e69d4323;hb=a97ed20502fb6a19949cf7ef6fc18a6c6d9e347b;hp=7bb040e62ec07852cc46c32466b43582b7770ff9;hpb=1f9e9cf5173fa1fbafdff5f21080e5194b05818b;p=lyx.git diff --git a/src/mathed/math_cursor.h b/src/mathed/math_cursor.h index 7bb040e62e..59d6a18e63 100644 --- a/src/mathed/math_cursor.h +++ b/src/mathed/math_cursor.h @@ -13,10 +13,12 @@ #ifndef MATH_CURSOR #define MATH_CURSOR - #include "math_inset.h" +#include "math_data.h" #include "math_iterator.h" -#include "LString.h" + +#include + class InsetFormulaBase; class BufferView; @@ -28,7 +30,7 @@ class MathUnknownInset; [Have a look at math_inset.h first] The MathCursor is different from the kind of cursor used in the Outer -World. It contains a stack of CursorPos, each of which is made +World. It contains a stack of CursorSlice, each of which is made up of a inset pointer, an index and a position offset, marking a path from this formula's MathHullInset to the current position. @@ -59,9 +61,9 @@ public: /// void insert(MathArray const &); /// - void insert2(string const &); + void insert2(std::string const &); /// - void paste(string const & data); + void paste(std::string const & data); /// return false for empty math insets bool erase(); /// return false for empty math insets @@ -93,7 +95,7 @@ public: /// void niceInsert(MathAtom const &); /// - void niceInsert(string const &); + void niceInsert(std::string const &); /// in pixels from top of screen void setPos(int x, int y); @@ -159,10 +161,11 @@ public: void selClearOrDel(); /// draws light-blue selection background void drawSelection(PainterInfo & pi) const; - /// - void handleNest(MathAtom const & at); + /// replace selected stuff with at, placing the former + // selection in given cell of atom + void handleNest(MathAtom const & at, int cell = 0); /// remove this as soon as LyXFunc::getStatus is "localized" - string getLastCode() const { return "mathnormal"; } + std::string getLastCode() const { return "mathnormal"; } /// bool isInside(MathInset const *) const; /// @@ -204,21 +207,18 @@ public: MathAtom & nextAtom(); /// returns the selection - void getSelection(CursorPos &, CursorPos &) const; + void getSelection(CursorSlice &, CursorSlice &) const; /// returns the normalized anchor of the selection - CursorPos normalAnchor() const; + CursorSlice normalAnchor() const; /// reference to the last item of the path, i.e. "The Cursor" - CursorPos & cursor(); + CursorSlice & cursor(); /// reference to the last item of the path, i.e. "The Cursor" - CursorPos const & cursor() const; + CursorSlice const & cursor() const; /// how deep are we nested? unsigned depth() const; - - /// local dispatcher - dispatch_result dispatch(FuncRequest const & cmd); /// describe the situation - string info() const; + std::string info() const; /// dump selection information for debugging void seldump(char const * str) const; /// dump selection information for debugging @@ -226,13 +226,13 @@ public: /// moves on void setSelection(MathIterator const & where, size_type n); /// grab selection marked by anchor and current cursor - string grabSelection() const; + std::string grabSelection() const; /// guess what - string grabAndEraseSelection(); + std::string grabAndEraseSelection(); /// void insert(char c); /// - void insert(string const & str); + void insert(std::string const & str); /// lock/unlock inset void insetToggle(); @@ -242,8 +242,10 @@ public: /// injects content of a cell into parent void pullArg(); /// split font inset etc - void handleFont(string const & font); - + void handleFont(std::string const & font); + /// + DispatchResult + dispatch(FuncRequest const & cmd); private: /// moves cursor index one cell to the left bool idxLeft(); @@ -268,7 +270,7 @@ private: void eraseSelection(); /// the name of the macro we are currently inputting - string macroName() const; + std::string macroName() const; /// where in the curent cell does the macro name start? difference_type macroNamePos() const; /// can we enter the inset?