]> git.lyx.org Git - lyx.git/blobdiff - src/cursor.h
Fix #1736
[lyx.git] / src / cursor.h
index e99a8a06bd4e16ba32c5e91988ea2e5cdae4e1d5..e39048d60b4556c26cd55a0d97a8fe7d05172859 100644 (file)
@@ -38,7 +38,9 @@ public:
        explicit LCursor(BufferView & bv);
 
        /// dispatch from innermost inset upwards
-       DispatchResult dispatch(FuncRequest const & cmd);
+       void dispatch(FuncRequest const & cmd);
+       /// get the resut of the last dispatch
+       DispatchResult result() const;
        /// are we willing to handle this event?
        bool getStatus(FuncRequest const & cmd, FuncStatus & flag);
 
@@ -53,7 +55,7 @@ public:
        /// pop one slice off the cursor stack and go right
        bool popRight();
        /// sets cursor part
-       void setCursor(DocIterator const & it, bool sel);
+       void setCursor(DocIterator const & it);
 
        //
        // selection
@@ -145,6 +147,8 @@ public:
        void undispatched();
        /// the event was already dispatched
        void dispatched();
+       /// call update() when done
+       void needsUpdate();
        /// don't call update() when done
        void noUpdate();
 
@@ -180,6 +184,13 @@ private:
        /// are we on the way to get one?
        bool mark_;
 
+public:
+       /// the actual cursor position
+       int xo_;
+       int yo_;
+
+private:
+
        //
        // math specific stuff that could be promoted to "global" later
        //
@@ -268,12 +279,6 @@ public:
        bool openable(MathAtom const &) const;
        ///
        Encoding const * getEncoding() const;
-
-private:
-       /// moves position closest to (x, y) in current cell
-       void bruteFind2(int x, int y);
-       /// moves position closest to (x, y) in given box
-       bool bruteFind(int x, int y, int xlow, int xhigh, int ylow, int yhigh);
 };
 
 #endif // LYXCURSOR_H