]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_cursor.h
remove unneeded member
[lyx.git] / src / mathed / math_cursor.h
index 1d8e95950b88b83ef77bf30f50b10ba09ba18827..96d0348085baebb5a80f0bfa5afc51de198e5ad9 100644 (file)
@@ -60,12 +60,16 @@ public:
        ///
        explicit MathCursor(InsetFormulaBase *, bool left);
        ///
+       ~MathCursor();
+       ///
        void insert(MathAtom const &);
        ///
        void insert(MathArray const &);
        ///
        void paste(MathArray const &);
        ///
+       void paste(MathGridInset const & data);
+       ///
        void erase();
        ///
        void backspace();
@@ -105,11 +109,15 @@ public:
        /// current inset
        MathInset * par() const;
        /// return the next enclosing grid inset and the cursor's index in it
-       MathGridInset * enclosingGrid(idx_type &) 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();
        ///
-       InsetFormulaBase * formula();
+       InsetFormulaBase * formula() const;
        /// current offset in the current cell
        pos_type pos() const;
        /// current cell
@@ -229,43 +237,61 @@ public:
        MathCursorPos & cursor();
        /// reference to the last item of the path, i.e. "The Cursor"
        MathCursorPos const & cursor() const;
+       /// how deep are we nested?
+       unsigned depth() const;
 
+       /// local dispatcher
+       int dispatch(string const & cmd);
        /// describe the situation
        string info() const;
        /// dump selection information for debugging
        void seldump(char const * str) const;
        /// dump selection information for debugging
        void dump(char const * str) const;
-       ///
-       void stripFromLastEqualSign();
        /// moves on
        void setSelection(cursor_type const & where, size_type n);
        ///
-       void insert(char);
+       void insert(char c);
+       ///
+       void insert(string const & str);
        /// lock/unlock inset
        void insetToggle();
 
        /// hack for reveal codes
        void markInsert();
        void markErase();
+       void handleExtern(string const & arg);
 
        ///
        friend class Selection;
 
+
 private:
-       /// moves cursor position one cell to the left
-       bool posLeft();
-       /// moves cursor position one cell to the right
-       bool posRight();
        /// 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);
 
+
+       /// 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();
+
        ///
        string macroName() const;
        ///
@@ -277,9 +303,9 @@ private:
        /// write access to cursor cell index
        idx_type & idx();
 
-       /// path of positions the cursor had to go if it were leving each inset
+       /// path of positions the cursor had to go if it were leaving each inset
        cursor_type Cursor_;
-       /// path of positions the anchor had to go if it were leving each inset
+       /// path of positions the anchor had to go if it were leaving each inset
        mutable cursor_type Anchor_;
        /// pointer to enclsing LyX inset
        InsetFormulaBase * formula_;