]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.h
GuiBox.cpp: fix this issue: horizontal box alignment is only possible without inner...
[lyx.git] / src / Cursor.h
index ebb68b13f48bd069fdf43ba89eeae5347a99000f..3ef8a68603c77b8ea1463323c0e0be3e8c23502a 100644 (file)
@@ -36,9 +36,6 @@ class Encoding;
 
 
 /// The cursor class describes the position of a cursor within a document.
-
-// The public inheritance should go in favour of a suitable data member
-// (or maybe private inheritance) at some point of time.
 class Cursor : public DocIterator
 {
 public:
@@ -201,7 +198,11 @@ public:
        int textTargetOffset() const;
 
        /// access to normalized selection anchor
-       CursorSlice anchor() const;
+       CursorSlice normalAnchor() const;
+       // FIXME: this can't be a const & and a const function because
+       // LFUN_TAB_* wants to move the real anchor.
+       /// access to real selection anchor
+       DocIterator & realAnchor();
        /// sets anchor to cursor position
        void resetAnchor();
        /// access to owning BufferView
@@ -285,20 +286,20 @@ public:
        void checkBufferStructure();
 
 public:
-       ///
-       BufferView * bv_;
 //private:
-       /// the anchor position
-       DocIterator anchor_;
        
-       ///
-       mutable DispatchResult disp_;
        ///
        DocIterator const & beforeDispatchCursor() const { return beforeDispatchCursor_; }
        ///
        void saveBeforeDispatchPosXY();
 
 private:
+       ///
+       BufferView * bv_;
+       /// the anchor position
+       DocIterator anchor_;
+       ///
+       mutable DispatchResult disp_;
        /**
         * The target x position of the cursor. This is used for when
         * we have text like :