From 972e1eec7c12a5340fc63a21f3f184a4c2355301 Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Sat, 16 Sep 2006 13:34:09 +0000 Subject: [PATCH] delete BufferView::text() method and add two FIXME in text.C git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15017 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BufferView.C | 6 ------ src/BufferView.h | 2 -- src/lyx_cb.C | 3 ++- src/lyxfind.C | 2 +- src/rowpainter.C | 28 ++++++++++++++-------------- src/text.C | 11 +++++++++-- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/BufferView.C b/src/BufferView.C index 431585ba7b..2cde9ab9f0 100644 --- a/src/BufferView.C +++ b/src/BufferView.C @@ -1208,12 +1208,6 @@ int BufferView::workHeight() const } -LyXText * BufferView::text() const -{ - return buffer_ ? &buffer_->text() : 0; -} - - void BufferView::setCursor(DocIterator const & dit) { size_t const n = dit.depth(); diff --git a/src/BufferView.h b/src/BufferView.h index fc69fd34a8..11c95453c2 100644 --- a/src/BufferView.h +++ b/src/BufferView.h @@ -199,8 +199,6 @@ public: LCursor & cursor(); /// access to full cursor LCursor const & cursor() const; - /// - LyXText * text() const; /// sets cursor and open all relevant collapsable insets. void setCursor(DocIterator const &); /// sets cursor; this is used when handling LFUN_MOUSE_PRESS. diff --git a/src/lyx_cb.C b/src/lyx_cb.C index 2a4d9b69bd..3635a4a0a1 100644 --- a/src/lyx_cb.C +++ b/src/lyx_cb.C @@ -362,7 +362,8 @@ void insertAsciiFile(BufferView * bv, string const & f, bool asParagraph) return; // clear the selection - if (bv->text() == bv->getLyXText()) + LyXText & const text = bv->buffer()->text(); + if (&text == bv->getLyXText()) bv->cursor().clearSelection(); if (asParagraph) bv->getLyXText()->insertStringAsParagraphs(bv->cursor(), tmpstr); diff --git a/src/lyxfind.C b/src/lyxfind.C index 8ca56cbc4a..f2752a82f0 100644 --- a/src/lyxfind.C +++ b/src/lyxfind.C @@ -192,7 +192,7 @@ int replaceAll(BufferView * bv, ++num; } - bv->text()->init(bv); + bv->buffer()->text().init(bv); bv->putSelectionAt(doc_iterator_begin(buf.inset()), 0, false); if (num) buf.markDirty(); diff --git a/src/rowpainter.C b/src/rowpainter.C index 53c27fc1b1..9d3593092b 100644 --- a/src/rowpainter.C +++ b/src/rowpainter.C @@ -910,7 +910,7 @@ void paintPar void paintText(BufferView const & bv, ViewMetricsInfo const & vi, Painter & pain) { - LyXText * const text = bv.text(); + LyXText & text = bv.buffer()->text(); bool const select = bv.cursor().selection(); PainterInfo pi(const_cast(&bv), pain); @@ -920,19 +920,19 @@ void paintText(BufferView const & bv, ViewMetricsInfo const & vi, if (repaintAll) { // Clear background (if not delegated to rows) pain.fillRectangle(0, vi.y1, bv.workWidth(), vi.y2 - vi.y1, - text->backgroundColor()); + text.backgroundColor()); } if (select) { - text->drawSelection(pi, 0, 0); + text.drawSelection(pi, 0, 0); } int yy = vi.y1; // draw contents for (pit_type pit = vi.p1; pit <= vi.p2; ++pit) { refreshInside = repaintAll; - Paragraph const & par = text->getPar(pit); + Paragraph const & par = text.getPar(pit); yy += par.ascent(); - paintPar(pi, *bv.text(), pit, 0, yy, repaintAll); + paintPar(pi, text, pit, 0, yy, repaintAll); yy += par.descent(); } @@ -941,24 +941,24 @@ void paintText(BufferView const & bv, ViewMetricsInfo const & vi, // Try viewing the User Guide Mobius figure if (vi.p1 > 0) { - text->redoParagraph(vi.p1 - 1); - theCoords.parPos()[bv.text()][vi.p1 - 1] = - Point(0, vi.y1 - text->getPar(vi.p1 - 1).descent()); + text.redoParagraph(vi.p1 - 1); + theCoords.parPos()[&text][vi.p1 - 1] = + Point(0, vi.y1 - text.getPar(vi.p1 - 1).descent()); } - if (vi.p2 < lyx::pit_type(text->paragraphs().size()) - 1) { - text->redoParagraph(vi.p2 + 1); - theCoords.parPos()[bv.text()][vi.p2 + 1] = - Point(0, vi.y2 + text->getPar(vi.p2 + 1).ascent()); + if (vi.p2 < lyx::pit_type(text.paragraphs().size()) - 1) { + text.redoParagraph(vi.p2 + 1); + theCoords.parPos()[&text][vi.p2 + 1] = + Point(0, vi.y2 + text.getPar(vi.p2 + 1).ascent()); } // and grey out above (should not happen later) -// lyxerr << "par ascent: " << text->getPar(vi.p1).ascent() << endl; +// lyxerr << "par ascent: " << text.getPar(vi.p1).ascent() << endl; if (vi.y1 > 0 && !vi.singlepar) pain.fillRectangle(0, 0, bv.workWidth(), vi.y1, LColor::bottomarea); // and possibly grey out below -// lyxerr << "par descent: " << text->getPar(vi.p1).ascent() << endl; +// lyxerr << "par descent: " << text.getPar(vi.p1).ascent() << endl; if (vi.y2 < bv.workHeight() && !vi.singlepar) pain.fillRectangle(0, vi.y2, bv.workWidth(), bv.workHeight() - vi.y2, LColor::bottomarea); } diff --git a/src/text.C b/src/text.C index 0d279b7a9f..22b5741227 100644 --- a/src/text.C +++ b/src/text.C @@ -684,8 +684,11 @@ int LyXText::leftMargin(pit_type const pit, pos_type const pos) const int LyXText::rightMargin(Paragraph const & par) const { + // FIXME: the correct way is to only call rightMargin() only + // within the main LyXText. The following test is thus bogus. + LyXText const & text = bv()->buffer()->text(); // We do not want rightmargins on inner texts. - if (bv()->text() != this) + if (&text != this) return 0; BufferParams const & params = bv()->buffer()->params(); @@ -1079,8 +1082,12 @@ void LyXText::setHeightOfRow(pit_type const pit, Row & row) maxasc += int(layoutasc * 2 / (2 + pars_[pit].getDepth())); maxdesc += int(layoutdesc * 2 / (2 + pars_[pit].getDepth())); + // FIXME: the correct way is to do the following is to move the + // following code in another method specially tailored for the + // main LyXText. The following test is thus bogus. + LyXText const & text = bv_owner->buffer()->text(); // Top and bottom margin of the document (only at top-level) - if (bv_owner->text() == this) { + if (&text == this) { if (pit == 0 && row.pos() == 0) maxasc += 20; if (pit + 1 == pit_type(pars_.size()) && -- 2.39.2