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
This commit is contained in:
Abdelrazak Younes 2006-09-16 13:34:09 +00:00
parent bcb71b1fbe
commit 972e1eec7c
6 changed files with 26 additions and 26 deletions

View File

@ -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();

View File

@ -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.

View File

@ -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);

View File

@ -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();

View File

@ -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<BufferView *>(&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);
}

View File

@ -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()) &&