X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.C;h=2be15d5e9009e3e493bc6c649a330df6f615f08f;hb=37e82a546392d43f787826b85481a11f2a27af15;hp=30d6327240fd81a2bc3a1cafaf05a31351bec327;hpb=edbef46cd7865dab72ab6b503d62e2492479d297;p=lyx.git diff --git a/src/BufferView.C b/src/BufferView.C index 30d6327240..2be15d5e90 100644 --- a/src/BufferView.C +++ b/src/BufferView.C @@ -21,6 +21,7 @@ #include "bufferparams.h" #include "BufferView_pimpl.h" #include "CutAndPaste.h" +#include "coordcache.h" #include "debug.h" #include "funcrequest.h" #include "FuncStatus.h" @@ -141,9 +142,9 @@ bool BufferView::fitCursor() } -void BufferView::update() +void BufferView::update(bool fitcursor, bool forceupdate) { - pimpl_->update(); + pimpl_->update(fitcursor, forceupdate); } @@ -159,12 +160,6 @@ void BufferView::scrollDocView(int value) } -void BufferView::redoCurrentBuffer() -{ - pimpl_->redoCurrentBuffer(); -} - - bool BufferView::available() const { return pimpl_->available(); @@ -213,18 +208,6 @@ void BufferView::center() } -int BufferView::top_y() const -{ - return pimpl_->top_y(); -} - - -void BufferView::top_y(int y) -{ - pimpl_->top_y(y); -} - - string const BufferView::getClipboard() const { return pimpl_->workarea().getClipboard(); @@ -293,7 +276,7 @@ void BufferView::gotoLabel(string const & label) it->getLabelList(*buffer(), labels); if (find(labels.begin(),labels.end(),label) != labels.end()) { cursor().clearSelection(); - text()->setCursor(cursor(), it.par(), it.pos()); + text()->setCursor(cursor(), it.pit(), it.pos()); cursor().resetAnchor(); update(); return; @@ -316,14 +299,6 @@ LyXText * BufferView::getLyXText() const } -Language const * BufferView::getParentLanguage(InsetOld * inset) const -{ - Paragraph const & par = ownerPar(*buffer(), inset); - return par.getFontSettings(buffer()->params(), - par.getPositionOfInset(inset)).language(); -} - - void BufferView::haveSelection(bool sel) { pimpl_->workarea().haveSelection(sel); @@ -344,13 +319,11 @@ LyXText * BufferView::text() const void BufferView::setCursor(ParIterator const & par, lyx::pos_type pos) { - int const last = par.size(); - for (int i = 0; i < last; ++i) + for (int i = 0, n = par.size(); i < n; ++i) par[i].inset().edit(cursor(), true); cursor().setCursor(makeDocIterator(par, pos)); cursor().selection() = false; - par.bottom().text()->redoParagraph(par.bottom().par()); } @@ -365,11 +338,8 @@ void BufferView::putSelectionAt(DocIterator const & cur, if (length) { if (backwards) { + cursor().pos() += length; cursor().setSelection(cursor(), -length); - DocIterator const it = cursor(); - cursor().setCursor(cursor().anchor_); - cursor().selection() = true; - cursor().anchor_ = it; } else cursor().setSelection(cursor(), length); } @@ -386,3 +356,15 @@ LCursor const & BufferView::cursor() const { return pimpl_->cursor_; } + + +lyx::pit_type BufferView::anchor_ref() const +{ + return pimpl_->anchor_ref_; +} + + +int BufferView::offset_ref() const +{ + return pimpl_->offset_ref_; +}