]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_cursor.h
try to correct x position where curosr drops of inset.
[lyx.git] / src / mathed / math_cursor.h
index b529de23477ecd3a4657c8fe540aedae314eddd4..74903c75c07121265146adf4814018ab1db2ad6a 100644 (file)
@@ -99,22 +99,22 @@ public:
        ///
        void niceInsert(MathAtom const &);
 
-       ///
-       void delLine();
        /// in pixels from top of screen
        void setPos(int x, int y);
        /// in pixels from top of screen
-       void getPos(int & x, int & y);
+       void getPos(int & x, int & y) const;
+       /// in pixels from left of screen
+       int targetX() const;
        /// current inset
        MathInset * par() const;
        /// return the next enclosing grid inset and the cursor's index in it
        MathGridInset * enclosingGrid(idx_type & idx) const;
-       /// return the next enclosing hull inset and the cursor's index in it
-       MathHullInset * enclosingHull(idx_type & idx) const;
        /// go up to enclosing grid
        void popToEnclosingGrid();
        /// go up to the hull inset
        void popToEnclosingHull();
+       /// go up to the hull inset
+       void popToHere(MathInset const * p);
        ///
        InsetFormulaBase * formula() const;
        /// current offset in the current cell
@@ -134,7 +134,11 @@ public:
        /// interpret name a name of a macro
        void macroModeClose();
        /// are we currently typing the name of a macro?
-       MathUnknownInset const * inMacroMode() const;
+       bool inMacroMode() const;
+       /// get access to the macro we are currently typing
+       MathUnknownInset * activeMacro();
+       /// get access to the macro we are currently typing
+       MathUnknownInset const * activeMacro() const;
        /// are we currently typing '#1' or '#2' or...?
        bool inMacroArgMode() const;
        /// are we in math mode (1), text mode (-1) or unsure?
@@ -165,12 +169,6 @@ public:
        void drawSelection(MathPainterInfo & pain) const;
        ///
        void handleNest(MathAtom const & at);
-       /// splits cells and shifts right part to the next cell
-       void splitCell();
-       /// splits line and insert new row of cell
-       void breakLine();
-       /// read contents of line into an array
-       void readLine(MathArray & ar) const;
        /// remove this as soon as LyXFunc::getStatus is "localized"
        string getLastCode() const { return "mathnormal"; }
        ///
@@ -179,14 +177,6 @@ public:
        char valign() const;
        ///
        char halign() const;
-       ///
-       col_type hullCol() const;
-       ///
-       row_type hullRow() const;
-       ///
-       col_type gridCol() const;
-       ///
-       row_type gridRow() const;
 
        /// make sure cursor position is valid
        void normalize();
@@ -234,7 +224,7 @@ public:
        unsigned depth() const;
 
        /// local dispatcher
-       int dispatch(string const & cmd);
+       MathInset::result_type dispatch(FuncRequest const & cmd);
        /// describe the situation
        string info() const;
        /// dump selection information for debugging
@@ -253,7 +243,7 @@ public:
        /// hack for reveal codes
        void markInsert();
        void markErase();
-       void handleExtern(string const & arg);
+       //void handleExtern(string const & arg);
 
        ///
        friend class Selection;
@@ -266,8 +256,6 @@ private:
        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