]> git.lyx.org Git - lyx.git/blobdiff - src/cursor.h
Account for kerning when positioning scripts in the MathFontOld and
[lyx.git] / src / cursor.h
index e3b019c60066968486a14847c34cb8bafb9c8efa..557ceae7e12b8270190220e3b7f6afa1f136bb96 100644 (file)
@@ -26,6 +26,7 @@ class BufferView;
 class FuncStatus;
 class FuncRequest;
 class LyXFont;
+class Row;
 
 // these should go
 class InsetMathUnknown;
@@ -86,11 +87,11 @@ public:
        /// access start of selection
        DocIterator selectionEnd() const;
        ///
-       void selHandle(bool selecting);
+       bool selHandle(bool selecting);
        //
        docstring selectionAsString(bool label) const;
        ///
-       std::string currentState();
+       docstring currentState();
 
        /// auto-correct mode
        bool autocorrect() const { return autocorrect_; }
@@ -102,6 +103,8 @@ public:
        bool & macromode() { return macromode_; }
        /// returns x,y position
        void getPos(int & x, int & y) const;
+       /// the row in the paragraph we're in
+       Row const & textRow() const;
 
        //
        // common part
@@ -116,7 +119,7 @@ public:
        /// insert a single char
        void insert(char_type c);
        /// insert a string
-       void insert(std::string const & str);
+       void insert(docstring const & str);
 
        /// in pixels from left of screen
        int targetX() const;
@@ -138,7 +141,7 @@ public:
        /// access to owning Buffer
        Buffer & buffer() const;
        /// get some interesting description of top position
-       void info(std::ostream & os) const;
+       void info(odocstream & os) const;
        /// are we in math mode (2), text mode (1) or unsure (0)?
        int currentMode();
        /// reset cursor bottom to the beginning of the given inset
@@ -158,8 +161,8 @@ public:
        void undispatched();
        /// the event was already dispatched
        void dispatched();
-       /// call update() when done
-       void needsUpdate();
+       /// Set which update should be done
+       void updateFlags(Update::flags f);
        /**
         * don't call update() when done
         *
@@ -251,7 +254,7 @@ public:
        ///
        void niceInsert(MathAtom const & at);
        ///
-       void niceInsert(std::string const & str);
+       void niceInsert(docstring const & str);
 
        /// in pixels from top of screen
        void setScreenPos(int x, int y);
@@ -289,13 +292,13 @@ public:
        /// display an error message
        void errorMessage(docstring const & msg) const;
        ///
-       std::string getPossibleLabel();
+       docstring getPossibleLabel();
 
        /// moves position somehow up or down
        bool goUpDown(bool up);
 
        /// the name of the macro we are currently inputting
-       std::string macroName();
+       docstring macroName();
        /// where in the curent cell does the macro name start?
        int macroNamePos();
        /// can we enter the inset?