]> git.lyx.org Git - features.git/blobdiff - src/BufferView.C
Anchor globalization
[features.git] / src / BufferView.C
index 062bd2854de5cfd65d268a8698488e371c8d87a6..d75d6c19601e12e1909229cd8d8afbb4cc7da0ef 100644 (file)
@@ -316,7 +316,7 @@ void BufferView::gotoLabel(string const & label)
                        text()->setCursor(
                                std::distance(text()->paragraphs().begin(), it.getPar()),
                                it.getPos());
-                       text()->anchor() = text()->cursor();
+                       resetAnchor();
                        update();
                        return;
                }
@@ -393,13 +393,13 @@ bool BufferView::ChangeRefsIfUnique(string const & from, string const & to)
 
 UpdatableInset * BufferView::innerInset() const
 {
-       return static_cast<UpdatableInset*>(cursor().innerInset());
+       return static_cast<UpdatableInset*>(fullCursor().innerInset());
 }
 
 
 LyXText * BufferView::getLyXText() const
 {
-       return cursor().innerText();
+       return fullCursor().innerText();
 }
 
 
@@ -436,18 +436,48 @@ int BufferView::workHeight() const
 }
 
 
-LCursor & BufferView::cursor()
+void BufferView::fullCursor(LCursor const & cur)
+{
+       pimpl_->cursor_ = cur;
+}
+
+
+LCursor & BufferView::fullCursor()
 {
        return pimpl_->cursor_;
 }
 
 
-LCursor const & BufferView::cursor() const
+LCursor const & BufferView::fullCursor() const
 {
        return pimpl_->cursor_;
 }
 
 
+CursorSlice & BufferView::cursor()
+{
+       return fullCursor().cursor_.back();
+}
+
+
+CursorSlice const & BufferView::cursor() const
+{
+       return fullCursor().cursor_.back();
+}
+
+
+CursorSlice & BufferView::anchor()
+{
+       return fullCursor().anchor_.back();
+}
+
+
+CursorSlice const & BufferView::anchor() const
+{
+       return fullCursor().anchor_.back();
+}
+
+
 void BufferView::x_target(int x)
 {
        x_target_ = x;
@@ -470,3 +500,9 @@ LyXText * BufferView::text() const
 {
        return pimpl_->buffer_ ? &pimpl_->buffer_->text() : 0;
 }
+
+
+void BufferView::resetAnchor()
+{
+       return fullCursor().resetAnchor();
+}