This changes public BufferView::text into a private BufferView::text_
and removes a bit of unused code from the insets (insetInInsetY,
InsetText::textwidth_/cpos/cpar/crow)
Should be uncontroversial.
Andre'
? .lyxlayout.C.swp
? 0.diff
? 1.diff
? 2.diff
? frontends/controllers/ControlVSpace.C
? frontends/controllers/ControlVSpace.h
? frontends/xforms/FormVSpace.C
? frontends/xforms/FormVSpace.h
? frontends/xforms/forms/form_vspace.fd
? insets/2
? insets/insetvspace.C
? insets/insetvspace.h
Index: BufferView.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/BufferView.C,v
retrieving revision 1.210
diff -u -p -r1.210 BufferView.C
--- BufferView.C 13 Nov 2003 13:43:35 -0000 1.210
+++ BufferView.C 28 Nov 2003 08:25:56 -0000
@@ -60,13 +60,13 @@ BufferView::BufferView(LyXView * owner,
: pimpl_(new Pimpl(this, owner, xpos, ypos, width, height)),
x_target_(0)
{
- text = 0;
+ text_ = 0;
}
BufferView::~BufferView()
{
- delete text;
+ delete text_;
delete pimpl_;
}
@@ -256,10 +256,10 @@ bool BufferView::insertLyXFile(string co
string const fname = MakeAbsPath(filen);
- text->clearSelection();
- text->breakParagraph(buffer()->paragraphs());
+ text_->clearSelection();
+ text_->breakParagraph(buffer()->paragraphs());
- bool res = buffer()->readFile(fname, text->cursorPar());
+ bool res = buffer()->readFile(fname, text_->cursorPar());
resize();
return res;
}
@@ -290,9 +290,9 @@ void BufferView::setCursorFromRow(int ro
buffer()->texrow().getIdFromRow(row, tmpid, tmppos);
if (tmpid == -1)
- text->setCursor(0, 0);
+ text_->setCursor(0, 0);
else
- text->setCursor(buffer()->getParFromID(tmpid).pit(), tmppos);
+ text_->setCursor(buffer()->getParFromID(tmpid).pit(), tmppos);
}
@@ -309,11 +309,11 @@ void BufferView::gotoLabel(string const
vector<string> labels;
it->getLabelList(*buffer(), labels);
if (find(labels.begin(),labels.end(),label) != labels.end()) {
- text->clearSelection();
- text->setCursor(
- std::distance(text->ownerParagraphs().begin(),
it.getPar()),
+ text_->clearSelection();
+ text_->setCursor(
+ std::distance(text_->ownerParagraphs().begin(),
it.getPar()),
it.getPos());
- text->selection.cursor = text->cursor;
+ text_->selection.cursor = text_->cursor;
update();
return;
}
@@ -327,7 +327,7 @@ void BufferView::undo()
return;
owner()->message(_("Undo"));
- text->clearSelection();
+ text_->clearSelection();
if (!textUndo(this))
owner()->message(_("No further undo information"));
update();
@@ -341,7 +341,7 @@ void BufferView::redo()
return;
owner()->message(_("Redo"));
- text->clearSelection();
+ text_->clearSelection();
if (!textRedo(this))
owner()->message(_("No further redo information"));
update();
@@ -354,14 +354,14 @@ void BufferView::replaceWord(string cons
if (!available())
return;
- LyXText * text = getLyXText();
+ LyXText * t = getLyXText();
- text->replaceSelectionWithString(replacestring);
- text->setSelectionRange(replacestring.length());
+ t->replaceSelectionWithString(replacestring);
+ t->setSelectionRange(replacestring.length());
// Go back so that replacement string is also spellchecked
for (string::size_type i = 0; i < replacestring.length() + 1; ++i)
- text->cursorLeft(this);
+ t->cursorLeft(this);
// FIXME: should be done through LFUN
buffer()->markDirty();
@@ -410,13 +410,13 @@ Language const * BufferView::getParentLa
Encoding const * BufferView::getEncoding() const
{
- LyXText * text = getLyXText();
- if (!text)
+ LyXText * t = getLyXText();
+ if (!t)
return 0;
- return text->cursorPar()->getFont(
+ return t->cursorPar()->getFont(
buffer()->params(),
- text->cursor.pos(),
- outerFont(text->cursorPar(), text->ownerParagraphs())
+ t->cursor.pos(),
+ outerFont(t->cursorPar(), t->ownerParagraphs())
).language()->encoding();
}
Index: BufferView.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/BufferView.h,v
retrieving revision 1.152
diff -u -p -r1.152 BufferView.h
--- BufferView.h 10 Nov 2003 13:23:08 -0000 1.152
+++ BufferView.h 28 Nov 2003 08:25:56 -0000
@@ -104,11 +104,6 @@ public:
/// return the current change at the cursor
Change const getCurrentChange();
- /**
- * This holds the mapping between buffer paragraphs and screen rows.
- * This should be private...but not yet. (Lgb)
- */
- LyXText * text;
/// return the lyxtext we are using
LyXText * getLyXText() const;
@@ -193,12 +188,21 @@ public:
LCursor const & cursor() const;
///
UpdatableInset * innerInset() const;
+ ///
+ LyXText * text() const { return text_; }
+ ///
+ void setText(LyXText * t) { text_ = t; }
private:
+ ///
struct Pimpl;
+ ///
friend struct BufferView::Pimpl;
-
+ ///
Pimpl * pimpl_;
+
+ /// This holds the mapping between buffer paragraphs and screen rows.
+ LyXText * text_;
/**
* The target x position of the cursor. This is used for when
Index: BufferView_pimpl.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/BufferView_pimpl.C,v
retrieving revision 1.468
diff -u -p -r1.468 BufferView_pimpl.C
--- BufferView_pimpl.C 22 Nov 2003 14:44:54 -0000 1.468
+++ BufferView_pimpl.C 28 Nov 2003 08:25:56 -0000
@@ -287,8 +287,8 @@ void BufferView::Pimpl::buffer(Buffer *
<< b << ')' << endl;
if (buffer_) {
disconnectBuffer();
- delete bv_->text;
- bv_->text = 0;
+ delete bv_->text();
+ bv_->setText(0);
}
// set current buffer
@@ -309,7 +309,7 @@ void BufferView::Pimpl::buffer(Buffer *
connectBuffer(*buffer_);
// If we don't have a text object for this, we make one
- if (bv_->text == 0)
+ if (bv_->text() == 0)
resizeCurrentBuffer();
// FIXME: needed when ?
@@ -333,7 +333,7 @@ void BufferView::Pimpl::buffer(Buffer *
// Don't forget to update the Layout
if (buffer_)
- owner_->setLayout(bv_->text->cursorPar()->layout()->name());
+ owner_->setLayout(bv_->text()->cursorPar()->layout()->name());
if (lyx::graphics::Previews::activated() && buffer_)
lyx::graphics::Previews::get().generateBufferPreviews(*buffer_);
@@ -354,7 +354,7 @@ bool BufferView::Pimpl::fitCursor()
void BufferView::Pimpl::redoCurrentBuffer()
{
lyxerr[Debug::INFO] << "BufferView::redoCurrentBuffer" << endl;
- if (buffer_ && bv_->text) {
+ if (buffer_ && bv_->text()) {
resizeCurrentBuffer();
updateScrollbar();
owner_->updateLayoutChoice();
@@ -380,37 +380,37 @@ void BufferView::Pimpl::resizeCurrentBuf
owner_->message(_("Formatting document..."));
- if (bv_->text) {
- par = bv_->text->cursor.par();
- pos = bv_->text->cursor.pos();
- selstartpar = bv_->text->selection.start.par();
- selstartpos = bv_->text->selection.start.pos();
- selendpar = bv_->text->selection.end.par();
- selendpos = bv_->text->selection.end.pos();
- selection = bv_->text->selection.set();
- mark_set = bv_->text->selection.mark();
- bv_->text->fullRebreak();
+ if (bv_->text()) {
+ par = bv_->text()->cursor.par();
+ pos = bv_->text()->cursor.pos();
+ selstartpar = bv_->text()->selection.start.par();
+ selstartpos = bv_->text()->selection.start.pos();
+ selendpar = bv_->text()->selection.end.par();
+ selendpos = bv_->text()->selection.end.pos();
+ selection = bv_->text()->selection.set();
+ mark_set = bv_->text()->selection.mark();
+ bv_->text()->fullRebreak();
update();
} else {
- bv_->text = new LyXText(bv_, 0, false, bv_->buffer()->paragraphs());
- bv_->text->init(bv_);
+ bv_->setText(new LyXText(bv_, 0, false, bv_->buffer()->paragraphs()));
+ bv_->text()->init(bv_);
}
if (par != -1) {
- bv_->text->selection.set(true);
+ bv_->text()->selection.set(true);
// At this point just to avoid the Delete-Empty-Paragraph-
// Mechanism when setting the cursor.
- bv_->text->selection.mark(mark_set);
+ bv_->text()->selection.mark(mark_set);
if (selection) {
- bv_->text->setCursor(selstartpar, selstartpos);
- bv_->text->selection.cursor = bv_->text->cursor;
- bv_->text->setCursor(selendpar, selendpos);
- bv_->text->setSelection();
- bv_->text->setCursor(par, pos);
+ bv_->text()->setCursor(selstartpar, selstartpos);
+ bv_->text()->selection.cursor = bv_->text()->cursor;
+ bv_->text()->setCursor(selendpar, selendpos);
+ bv_->text()->setSelection();
+ bv_->text()->setCursor(par, pos);
} else {
- bv_->text->setCursor(par, pos);
- bv_->text->selection.cursor = bv_->text->cursor;
- bv_->text->selection.set(false);
+ bv_->text()->setCursor(par, pos);
+ bv_->text()->selection.cursor = bv_->text()->cursor;
+ bv_->text()->selection.set(false);
}
}
@@ -428,13 +428,13 @@ void BufferView::Pimpl::resizeCurrentBuf
void BufferView::Pimpl::updateScrollbar()
{
- if (!bv_->text) {
+ if (!bv_->text()) {
lyxerr[Debug::GUI] << "no text in updateScrollbar" << endl;
workarea().setScrollbarParams(0, 0, 0);
return;
}
- LyXText const & t = *bv_->text;
+ LyXText const & t = *bv_->text();
lyxerr[Debug::GUI] << "Updating scrollbar: h " << t.height << ", top_y() "
<< top_y() << ", default height " << defaultRowHeight() << endl;
@@ -462,7 +462,7 @@ void BufferView::Pimpl::scrollDocView(in
int const first = top_y() + height;
int const last = top_y() + workarea().workHeight() - height;
- LyXText * text = bv_->text;
+ LyXText * text = bv_->text();
if (text->cursor.y() < first)
text->setCursorFromCoordinates(0, first);
else if (text->cursor.y() > last)
@@ -477,7 +477,7 @@ void BufferView::Pimpl::scroll(int lines
if (!buffer_)
return;
- LyXText const * t = bv_->text;
+ LyXText const * t = bv_->text();
int const line_height = defaultRowHeight();
// The new absolute coordinate
@@ -523,15 +523,15 @@ void BufferView::Pimpl::selectionRequest
LyXText * text = bv_->getLyXText();
if (text->selection.set() &&
- (!bv_->text->xsel_cache.set() ||
- text->selection.start != bv_->text->xsel_cache.start ||
- text->selection.end != bv_->text->xsel_cache.end))
+ (!bv_->text()->xsel_cache.set() ||
+ text->selection.start != bv_->text()->xsel_cache.start ||
+ text->selection.end != bv_->text()->xsel_cache.end))
{
- bv_->text->xsel_cache = text->selection;
+ bv_->text()->xsel_cache = text->selection;
sel = text->selectionAsString(*bv_->buffer(), false);
} else if (!text->selection.set()) {
sel = string();
- bv_->text->xsel_cache.set(false);
+ bv_->text()->xsel_cache.set(false);
}
if (!sel.empty()) {
workarea().putClipboard(sel);
@@ -544,7 +544,7 @@ void BufferView::Pimpl::selectionLost()
if (available()) {
screen().hideCursor();
bv_->getLyXText()->clearSelection();
- bv_->text->xsel_cache.set(false);
+ bv_->text()->xsel_cache.set(false);
}
}
@@ -590,7 +590,7 @@ void BufferView::Pimpl::update()
getParsInRange(buffer_->paragraphs(),
top_y(), top_y() + workarea().workHeight(),
beg, end);
- bv_->text->redoParagraphs(beg, end);
+ bv_->text()->redoParagraphs(beg, end);
bv_->getLyXText()->redoCursor();
updateScrollbar();
}
@@ -613,7 +613,7 @@ void BufferView::Pimpl::cursorToggle()
bool BufferView::Pimpl::available() const
{
- return buffer_ && bv_->text;
+ return buffer_ && bv_->text();
}
@@ -637,8 +637,8 @@ void BufferView::Pimpl::savePosition(uns
if (i >= saved_positions_num)
return;
saved_positions[i] = Position(buffer_->fileName(),
- bv_->text->cursorPar()->id(),
- bv_->text->cursor.pos());
+ bv_->text()->cursorPar()->id(),
+ bv_->text()->cursor.pos());
if (i > 0)
owner_->message(bformat(_("Saved bookmark %1$s"), tostr(i)));
}
@@ -651,7 +651,7 @@ void BufferView::Pimpl::restorePosition(
string const fname = saved_positions[i].filename;
- bv_->text->clearSelection();
+ bv_->text()->clearSelection();
if (fname != buffer_->fileName()) {
Buffer * b = 0;
@@ -669,7 +669,7 @@ void BufferView::Pimpl::restorePosition(
if (par == buffer_->par_iterator_end())
return;
- bv_->text->setCursor(par.pit(),
+ bv_->text()->setCursor(par.pit(),
min(par->size(), saved_positions[i].par_pos));
if (i > 0)
@@ -701,7 +701,7 @@ void BufferView::Pimpl::switchKeyMap()
void BufferView::Pimpl::center()
{
- LyXText * text = bv_->text;
+ LyXText * text = bv_->text();
text->clearSelection();
int const half_height = workarea().workHeight() / 2;
@@ -843,7 +843,7 @@ void BufferView::Pimpl::trackChanges()
buf->undostack().clear();
} else {
update();
- bv_->text->setCursor(0, 0);
+ bv_->text()->setCursor(0, 0);
#warning changes FIXME
bool found = lyx::find::findNextChange(bv_);
if (found) {
@@ -867,7 +867,7 @@ namespace {
InsetOld * insetFromCoords(BufferView * bv, int x, int y)
{
- LyXText * text = bv->text;
+ LyXText * text = bv->text();
InsetOld * inset = 0;
theTempCursor = LCursor(bv);
while (true) {
@@ -1208,7 +1208,7 @@ bool BufferView::Pimpl::dispatch(FuncReq
break;
case LFUN_ACCEPT_ALL_CHANGES: {
- bv_->text->setCursor(0, 0);
+ bv_->text()->setCursor(0, 0);
#warning FIXME changes
while (lyx::find::findNextChange(bv_))
bv_->getLyXText()->acceptChange();
@@ -1217,7 +1217,7 @@ bool BufferView::Pimpl::dispatch(FuncReq
}
case LFUN_REJECT_ALL_CHANGES: {
- bv_->text->setCursor(0, 0);
+ bv_->text()->setCursor(0, 0);
#warning FIXME changes
while (lyx::find::findNextChange(bv_))
bv_->getLyXText()->rejectChange();
@@ -1262,25 +1262,25 @@ bool BufferView::Pimpl::insertInset(Inse
#endif
// not quite sure if we want this...
- bv_->text->recUndo(bv_->text->cursor.par());
+ bv_->text()->recUndo(bv_->text()->cursor.par());
freezeUndo();
- bv_->text->clearSelection();
+ bv_->text()->clearSelection();
if (!lout.empty()) {
- bv_->text->breakParagraph(bv_->buffer()->paragraphs());
+ bv_->text()->breakParagraph(bv_->buffer()->paragraphs());
- if (!bv_->text->cursorPar()->empty()) {
- bv_->text->cursorLeft(bv_);
- bv_->text->breakParagraph(bv_->buffer()->paragraphs());
+ if (!bv_->text()->cursorPar()->empty()) {
+ bv_->text()->cursorLeft(bv_);
+ bv_->text()->breakParagraph(bv_->buffer()->paragraphs());
}
string lres = lout;
LyXTextClass const & tclass = buffer_->params().getLyXTextClass();
bool hasLayout = tclass.hasLayout(lres);
- bv_->text->setLayout(hasLayout ? lres : tclass.defaultLayoutName());
+ bv_->text()->setLayout(hasLayout ? lres : tclass.defaultLayoutName());
- bv_->text->setParagraph(
+ bv_->text()->setParagraph(
VSpace(VSpace::NONE), VSpace(VSpace::NONE),
Spacing(),
LYX_ALIGN_LAYOUT,
@@ -1297,7 +1297,7 @@ bool BufferView::Pimpl::ChangeInsets(Ins
string const & from, string const & to)
{
bool need_update = false;
- LyXCursor cursor = bv_->text->cursor;
+ LyXCursor cursor = bv_->text()->cursor;
LyXCursor tmpcursor = cursor;
cursor.par(tmpcursor.par());
cursor.pos(tmpcursor.pos());
@@ -1324,12 +1324,12 @@ bool BufferView::Pimpl::ChangeInsets(Ins
// The test it.size()==1 was needed to prevent crashes.
// How to set the cursor correctly when it.size()>1 ??
if (it.size() == 1) {
-
bv_->text->setCursorIntern(bv_->text->parOffset(it.pit()), 0);
- bv_->text->redoParagraph(bv_->text->cursorPar());
+
bv_->text()->setCursorIntern(bv_->text()->parOffset(it.pit()), 0);
+ bv_->text()->redoParagraph(bv_->text()->cursorPar());
}
}
}
- bv_->text->setCursorIntern(cursor.par(), cursor.pos());
+ bv_->text()->setCursorIntern(cursor.par(), cursor.pos());
return need_update;
}
Index: cursor.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/cursor.C,v
retrieving revision 1.25
diff -u -p -r1.25 cursor.C
--- cursor.C 22 Nov 2003 14:44:55 -0000 1.25
+++ cursor.C 28 Nov 2003 08:25:56 -0000
@@ -101,8 +101,8 @@ DispatchResult LCursor::dispatch(FuncReq
break;
}
}
- lyxerr << "trying to dispatch to main text " << bv_->text << endl;
- DispatchResult res = bv_->text->dispatch(cmd);
+ lyxerr << "trying to dispatch to main text " << bv_->text() << endl;
+ DispatchResult res = bv_->text()->dispatch(cmd);
lyxerr << " result: " << res.val() << endl;
if (!res.dispatched()) {
@@ -160,7 +160,7 @@ LyXText * LCursor::innerText() const
if (data_[i].text())
return data_[i].text();
}
- return bv_->text;
+ return bv_->text();
}
@@ -187,8 +187,8 @@ void LCursor::getDim(int & asc, int & de
void LCursor::getPos(int & x, int & y) const
{
if (data_.empty()) {
- x = bv_->text->cursor.x();
- y = bv_->text->cursor.y();
+ x = bv_->text()->cursor.x();
+ y = bv_->text()->cursor.y();
// y -= bv_->top_y();
} else {
// Would be nice to clean this up to make some understandable sense...
@@ -201,7 +201,6 @@ void LCursor::getPos(int & x, int & y) c
// inset.top_baseline, so getCursor() returns an old value.
// Ugly as you like.
//inset->getCursorPos(bv_, x, y);
- //y = inset->insetInInsetY() + bv_->text->cursor.y();
inset->getCursorPos(x, y);
x += inset->x();
y += cached_y_;
Index: iterators.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/iterators.C,v
retrieving revision 1.32
diff -u -p -r1.32 iterators.C
--- iterators.C 22 Nov 2003 14:44:55 -0000 1.32
+++ iterators.C 28 Nov 2003 08:25:56 -0000
@@ -153,7 +153,7 @@ LyXText * ParIterator::text(BufferView *
{
//lyxerr << "positions.size: " << pimpl_->positions.size() << std::endl;
if (pimpl_->positions.size() <= 1)
- return bv->text;
+ return bv->text();
ParPosition const & pos = pimpl_->positions[pimpl_->positions.size() - 2];
return (*pos.it)->inset->getText(*pos.index);
Index: lyx_cb.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyx_cb.C,v
retrieving revision 1.231
diff -u -p -r1.231 lyx_cb.C
--- lyx_cb.C 10 Nov 2003 09:06:34 -0000 1.231
+++ lyx_cb.C 28 Nov 2003 08:25:57 -0000
@@ -353,8 +353,8 @@ void InsertAsciiFile(BufferView * bv, st
return;
// clear the selection
- if (bv->text == bv->getLyXText())
- bv->text->clearSelection();
+ if (bv->text() == bv->getLyXText())
+ bv->text()->clearSelection();
if (asParagraph)
bv->getLyXText()->insertStringAsParagraphs(tmpstr);
else
Index: lyxfind.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyxfind.C,v
retrieving revision 1.59
diff -u -p -r1.59 lyxfind.C
--- lyxfind.C 24 Nov 2003 20:03:47 -0000 1.59
+++ lyxfind.C 28 Nov 2003 08:25:57 -0000
@@ -159,8 +159,7 @@ int replaceAll(BufferView * bv,
if (!searchAllowed(bv, searchstr) || buf.isReadonly())
return 0;
- recordUndo(Undo::ATOMIC, bv->text, 0,
- buf.paragraphs().size() - 1);
+ recordUndo(Undo::ATOMIC, bv->text(), 0, buf.paragraphs().size() - 1);
PosIterator cur = buf.pos_iterator_begin();
PosIterator const end = buf.pos_iterator_end();
@@ -181,7 +180,7 @@ int replaceAll(BufferView * bv,
}
PosIterator beg = buf.pos_iterator_begin();
- bv->text->init(bv);
+ bv->text()->init(bv);
put_selection_at(bv, beg, 0, false);
if (num)
buf.markDirty();
@@ -201,8 +200,7 @@ bool stringSelected(BufferView * bv,
string const & str1 = searchstr;
string const str2 = text->selectionAsString(*bv->buffer(),
false);
- if ((cs && str1 != str2)
- || lowercase(str1) != lowercase(str2)) {
+ if ((cs && str1 != str2) || lowercase(str1) != lowercase(str2)) {
find(bv, searchstr, cs, mw, fw);
return false;
}
Index: lyxtext.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyxtext.h,v
retrieving revision 1.262
diff -u -p -r1.262 lyxtext.h
--- lyxtext.h 26 Nov 2003 09:48:19 -0000 1.262
+++ lyxtext.h 28 Nov 2003 08:25:57 -0000
@@ -128,6 +128,8 @@ public:
void fullRebreak();
/// compute text metrics
void metrics(MetricsInfo & mi, Dimension & dim);
+ /// draw text (only used for insets)
+ void draw(PainterInfo & pi, int x, int y) const;
///
DispatchResult dispatch(FuncRequest const & cmd);
@@ -418,8 +420,8 @@ public:
ParagraphList * paragraphs_;
/// absolute document pixel coordinates of this LyXText
- int xo_;
- int yo_;
+ mutable int xo_;
+ mutable int yo_;
private:
Index: output_plaintext.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/output_plaintext.C,v
retrieving revision 1.1
diff -u -p -r1.1 output_plaintext.C
--- output_plaintext.C 5 Nov 2003 12:06:03 -0000 1.1
+++ output_plaintext.C 28 Nov 2003 08:25:57 -0000
@@ -144,7 +144,7 @@ void asciiParagraph(Buffer const & buf,
//--
// we should probably change to the paragraph language in the
- // gettext here (if possible) so that strings are outputted in
+ // gettext here (if possible) so that strings are output in
// the correct language! (20012712 Jug)
//--
switch (ltype) {
@@ -152,6 +152,7 @@ void asciiParagraph(Buffer const & buf,
case 4: // (Sub)Paragraph
case 5: // Description
break;
+
case 6: // Abstract
if (runparams.linelen > 0) {
os << _("Abstract") << "\n\n";
@@ -162,6 +163,7 @@ void asciiParagraph(Buffer const & buf,
currlinelen += abst.length();
}
break;
+
case 7: // Bibliography
if (!ref_printed) {
if (runparams.linelen > 0) {
@@ -172,17 +174,16 @@ void asciiParagraph(Buffer const & buf,
os << refs;
currlinelen += refs.length();
}
-
ref_printed = true;
}
break;
- default:
- {
- string const parlab = par.params().labelString();
- os << parlab << ' ';
- currlinelen += parlab.length() + 1;
+
+ default: {
+ string const label = par.params().labelString();
+ os << label << ' ';
+ currlinelen += label.length() + 1;
+ break;
}
- break;
}
}
@@ -202,59 +203,52 @@ void asciiParagraph(Buffer const & buf,
for (pos_type i = 0; i < par.size(); ++i) {
char c = par.getUChar(buf.params(), i);
switch (c) {
- case Paragraph::META_INSET:
- {
+ case Paragraph::META_INSET: {
InsetOld const * inset = par.getInset(i);
- if (inset) {
- if (runparams.linelen > 0) {
- os << word;
- currlinelen += word.length();
- word.erase();
- }
- if (inset->plaintext(buf, os, runparams)) {
- // to be sure it breaks paragraph
- currlinelen += runparams.linelen;
- }
+ if (runparams.linelen > 0) {
+ os << word;
+ currlinelen += word.length();
+ word.erase();
}
+ if (inset->plaintext(buf, os, runparams)) {
+ // to be sure it breaks paragraph
+ currlinelen += runparams.linelen;
+ }
+ break;
}
- break;
- default:
- if (c == ' ') {
- if (runparams.linelen > 0 &&
- currlinelen + word.length() > runparams.linelen -
10) {
- os << "\n";
- pair<int, string> p = addDepth(depth,
ltype_depth);
- os << p.second;
- currlinelen = p.first;
- }
+ case ' ':
+ if (runparams.linelen > 0 &&
+ currlinelen + word.length() > runparams.linelen - 10) {
+ os << "\n";
+ pair<int, string> p = addDepth(depth, ltype_depth);
+ os << p.second;
+ currlinelen = p.first;
+ }
- os << word << ' ';
- currlinelen += word.length() + 1;
- word.erase();
+ os << word << ' ';
+ currlinelen += word.length() + 1;
+ word.erase();
+ break;
- } else {
- if (c != '\0') {
- word += c;
- } else {
- lyxerr[Debug::INFO] <<
- "writeAsciiFile: NULL char in
structure." << endl;
- }
- if ((runparams.linelen > 0) &&
- (currlinelen + word.length()) >
runparams.linelen)
- {
- os << "\n";
-
- pair<int, string> p =
- addDepth(depth, ltype_depth);
- os << p.second;
- currlinelen = p.first;
- }
+
+ case '\0':
+ lyxerr[Debug::INFO] <<
+ "writeAsciiFile: NULL char in structure." << endl;
+ break;
+
+ default:
+ word += c;
+ if (runparams.linelen > 0 &&
+ currlinelen + word.length() > runparams.linelen)
+ {
+ os << "\n";
+ pair<int, string> p = addDepth(depth, ltype_depth);
+ os << p.second;
+ currlinelen = p.first;
}
break;
}
}
os << word;
}
-
-
Index: rowpainter.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/rowpainter.C,v
retrieving revision 1.100
diff -u -p -r1.100 rowpainter.C
--- rowpainter.C 25 Nov 2003 11:17:23 -0000 1.100
+++ rowpainter.C 28 Nov 2003 08:25:57 -0000
@@ -129,7 +129,7 @@ RowPainter::RowPainter(BufferView const
x_ += xo_;
// background has already been cleared.
- if (&text_ == bv_.text)
+ if (&text_ == bv_.text())
paintBackground();
// paint the selection background
@@ -960,15 +960,15 @@ int paintPars(BufferView const & bv, LyX
} // namespace anon
-int paintText(BufferView & bv)
+int paintText(BufferView const & bv)
{
ParagraphList::iterator pit;
- bv.text->getRowNearY(bv.top_y(), pit);
- return paintPars(bv, *bv.text, pit, 0, 0, pit->y);
+ bv.text()->getRowNearY(bv.top_y(), pit);
+ return paintPars(bv, *bv.text(), pit, 0, 0, pit->y);
}
-void paintTextInset(BufferView & bv, LyXText & text, int xo, int yo)
+void paintTextInset(BufferView const & bv, LyXText const & text, int xo, int yo)
{
paintPars(bv, text, text.ownerParagraphs().begin(), xo, yo, 0);
}
Index: rowpainter.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/rowpainter.h,v
retrieving revision 1.15
diff -u -p -r1.15 rowpainter.h
--- rowpainter.h 27 Aug 2003 14:55:17 -0000 1.15
+++ rowpainter.h 28 Nov 2003 08:25:57 -0000
@@ -21,9 +21,9 @@ class VSpace;
int getLengthMarkerHeight(BufferView const & bv, VSpace const & vsp);
/// paint the rows of the main text, return last drawn y value
-int paintText(BufferView & bv);
+int paintText(BufferView const & bv);
/// paint the rows of a text inset
-void paintTextInset(BufferView & bv, LyXText & text, int x, int y);
+void paintTextInset(BufferView const & bv, LyXText const & text, int x, int y);
#endif // ROWPAINTER_H
Index: text.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text.C,v
retrieving revision 1.500
diff -u -p -r1.500 text.C
--- text.C 27 Nov 2003 09:22:38 -0000 1.500
+++ text.C 28 Nov 2003 08:25:58 -0000
@@ -1641,6 +1641,15 @@ void LyXText::metrics(MetricsInfo & mi,
}
+// only used for inset right now. should also be used for main text
+void LyXText::draw(PainterInfo & pi, int x, int y) const
+{
+ xo_ = x;
+ yo_ = y;
+ paintTextInset(*bv(), *this, x, y);
+}
+
+
bool LyXText::isLastRow(ParagraphList::iterator pit, Row const & row) const
{
return row.endpos() >= pit->size()
Index: text2.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text2.C,v
retrieving revision 1.514
diff -u -p -r1.514 text2.C
--- text2.C 27 Nov 2003 09:22:39 -0000 1.514
+++ text2.C 28 Nov 2003 08:25:58 -0000
@@ -506,8 +506,8 @@ void LyXText::clearSelection()
TextCursor::clearSelection();
// reset this in the bv()!
- if (bv() && bv()->text)
- bv()->text->xsel_cache.set(false);
+ if (bv() && bv()->text())
+ bv()->text()->xsel_cache.set(false);
}
Index: undo.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/undo.C,v
retrieving revision 1.29
diff -u -p -r1.29 undo.C
--- undo.C 10 Nov 2003 09:06:37 -0000 1.29
+++ undo.C 28 Nov 2003 08:25:58 -0000
@@ -188,7 +188,7 @@ bool performUndoOrRedo(BufferView * bv,
text->updateCounters();
// rebreak the entire lyxtext
- bv->text->fullRebreak();
+ bv->text()->fullRebreak();
pit.lockPath(bv);
@@ -292,5 +292,5 @@ void recordUndo(Undo::undo_kind kind, Ly
void recordUndo(BufferView * bv, Undo::undo_kind kind)
{
- recordUndo(kind, bv->text, bv->text->cursor.par());
+ recordUndo(kind, bv->text(), bv->text()->cursor.par());
}
Index: frontends/screen.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/screen.C,v
retrieving revision 1.81
diff -u -p -r1.81 screen.C
--- frontends/screen.C 13 Nov 2003 08:50:24 -0000 1.81
+++ frontends/screen.C 28 Nov 2003 08:25:58 -0000
@@ -242,7 +242,7 @@ bool LyXScreen::fitCursor(BufferView * b
void LyXScreen::redraw(BufferView & bv)
{
- greyed_out_ = !bv.text;
+ greyed_out_ = !bv.text();
if (greyed_out_) {
greyOut();
@@ -257,7 +257,7 @@ void LyXScreen::redraw(BufferView & bv)
// maybe we have to clear the screen at the bottom
int const y2 = workarea().workHeight();
- if (y < y2 && !bv.text->isInInset()) {
+ if (y < y2 && !bv.text()->isInInset()) {
workarea().getPainter().fillRectangle(0, y,
workarea().workWidth(), y2 - y,
LColor::bottomarea);
Index: insets/insetcollapsable.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetcollapsable.C,v
retrieving revision 1.215
diff -u -p -r1.215 insetcollapsable.C
--- insets/insetcollapsable.C 27 Nov 2003 09:22:40 -0000 1.215
+++ insets/insetcollapsable.C 28 Nov 2003 08:25:58 -0000
@@ -318,12 +318,6 @@ InsetCollapsable::priv_dispatch(FuncRequ
}
-int InsetCollapsable::insetInInsetY() const
-{
- return inset.y() - yo_ + inset.insetInInsetY();
-}
-
-
void InsetCollapsable::validate(LaTeXFeatures & features) const
{
inset.validate(features);
Index: insets/insetcollapsable.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetcollapsable.h,v
retrieving revision 1.151
diff -u -p -r1.151 insetcollapsable.h
--- insets/insetcollapsable.h 27 Nov 2003 09:22:40 -0000 1.151
+++ insets/insetcollapsable.h 28 Nov 2003 08:25:58 -0000
@@ -61,8 +61,6 @@ public:
///
bool isTextInset() const { return true; }
///
- int insetInInsetY() const;
- ///
int latex(Buffer const &, std::ostream &,
OutputParams const &) const;
///
Index: insets/insetnewline.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetnewline.C,v
retrieving revision 1.20
diff -u -p -r1.20 insetnewline.C
--- insets/insetnewline.C 5 Nov 2003 12:06:16 -0000 1.20
+++ insets/insetnewline.C 28 Nov 2003 08:25:58 -0000
@@ -89,7 +89,7 @@ void InsetNewline::draw(PainterInfo & pi
// hack, and highly dubious
lyx::pos_type pos = ownerPar(*pi.base.bv->buffer(), this)
.getPositionOfInset(this);
- bool const ltr_pos = (pi.base.bv->text->bidi.level(pos) % 2 == 0);
+ bool const ltr_pos = (pi.base.bv->text()->bidi.level(pos) % 2 == 0);
int xp[3];
int yp[3];
Index: insets/insettabular.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insettabular.C,v
retrieving revision 1.381
diff -u -p -r1.381 insettabular.C
--- insets/insettabular.C 27 Nov 2003 09:22:40 -0000 1.381
+++ insets/insettabular.C 28 Nov 2003 08:25:58 -0000
@@ -388,14 +388,6 @@ void InsetTabular::updateLocal(BufferVie
}
-int InsetTabular::insetInInsetY() const
-{
- if (the_locking_inset)
- return cursory_ + the_locking_inset->insetInInsetY();
- return 0;
-}
-
-
bool InsetTabular::insertInset(BufferView * bv, InsetOld * inset)
{
return the_locking_inset && the_locking_inset->insertInset(bv, inset);
Index: insets/insettabular.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insettabular.h,v
retrieving revision 1.170
diff -u -p -r1.170 insettabular.h
--- insets/insettabular.h 27 Nov 2003 09:22:41 -0000 1.170
+++ insets/insettabular.h 28 Nov 2003 08:25:59 -0000
@@ -80,8 +80,6 @@ public:
///
void updateLocal(BufferView *) const;
///
- int insetInInsetY() const;
- ///
bool insertInset(BufferView *, InsetOld *);
///
bool insetAllowed(InsetOld::Code code) const;
Index: insets/insettext.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insettext.C,v
retrieving revision 1.555
diff -u -p -r1.555 insettext.C
--- insets/insettext.C 27 Nov 2003 09:22:41 -0000 1.555
+++ insets/insettext.C 28 Nov 2003 08:25:59 -0000
@@ -78,7 +78,6 @@ InsetText::InsetText(BufferParams const
frame_color_(LColor::insetframe),
text_(0, this, true, paragraphs)
{
- textwidth_ = 0; // broken
paragraphs.begin()->layout(bp.getLyXTextClass().defaultLayout());
if (bp.tracking_changes)
paragraphs.begin()->trackChanges();
@@ -102,7 +101,6 @@ void InsetText::operator=(InsetText cons
autoBreakRows_ = in.autoBreakRows_;
drawFrame_ = in.drawFrame_;
frame_color_ = in.frame_color_;
- textwidth_ = in.textwidth_;
text_ = LyXText(in.text_.bv_owner, this, true, paragraphs);
init();
}
@@ -218,7 +216,6 @@ void InsetText::read(Buffer const & buf,
void InsetText::metrics(MetricsInfo & mi, Dimension & dim) const
{
//lyxerr << "InsetText::metrics: width: " << mi.base.textwidth << endl;
- textwidth_ = mi.base.textwidth;
mi.base.textwidth -= 2 * TEXT_TO_INSET_OFFSET;
setViewCache(mi.base.bv);
text_.metrics(mi, dim);
@@ -236,24 +233,21 @@ void InsetText::draw(PainterInfo & pi, i
xo_ = x;
yo_ = y;
- BufferView * bv = pi.base.bv;
Painter & pain = pi.pain;
// repaint the background if needed
+ x += TEXT_TO_INSET_OFFSET;
if (backgroundColor() != LColor::background)
- clearInset(bv, xo_ + TEXT_TO_INSET_OFFSET, y);
+ clearInset(pain, x, y);
+ BufferView * bv = pi.base.bv;
bv->hideCursor();
if (!owner())
x += scroll();
-
- x += TEXT_TO_INSET_OFFSET;
y += bv->top_y() - text_.firstRow()->ascent_of_text();
- text_.xo_ = x;
- text_.yo_ = y;
- paintTextInset(*bv, text_, x, y);
+ text_.draw(pi, x, y);
if (drawFrame_ == ALWAYS || drawFrame_ == LOCKED)
drawFrame(pain, xo_);
@@ -271,7 +265,7 @@ void InsetText::drawFrame(Painter & pain
}
-void InsetText::updateLocal(BufferView * bv, bool /*mark_dirty*/)
+void InsetText::updateLocal(BufferView * bv)
{
if (!bv)
return;
@@ -286,7 +280,7 @@ void InsetText::updateLocal(BufferView *
bv->owner()->updateMenubar();
bv->owner()->updateToolbar();
if (old_par != text_.cursor.par()) {
- bv->owner()->setLayout(cpar()->layout()->name());
+ bv->owner()->setLayout(text_.cursorPar()->layout()->name());
old_par = text_.cursor.par();
}
}
@@ -326,7 +320,7 @@ void InsetText::edit(BufferView * bv, bo
text_.setCursor(paragraphs.size() - 1, paragraphs.back().size());
sanitizeEmptyText(bv);
- updateLocal(bv, false);
+ updateLocal(bv);
bv->updateParagraphDialog();
}
@@ -341,7 +335,7 @@ void InsetText::edit(BufferView * bv, in
text_.clearSelection();
finishUndo();
- updateLocal(bv, false);
+ updateLocal(bv);
bv->updateParagraphDialog();
}
@@ -437,17 +431,12 @@ void InsetText::getCursorPos(int & x, in
}
-int InsetText::insetInInsetY() const
-{
- return 0;
-}
-
-
bool InsetText::insertInset(BufferView * bv, InsetOld * inset)
{
inset->setOwner(this);
text_.insertInset(inset);
- updateLocal(bv, true);
+ updateLocal(bv);
+#warning should we mark the buffer dirty?
return true;
}
@@ -540,24 +529,6 @@ void InsetText::setFrameColor(LColor_col
}
-pos_type InsetText::cpos() const
-{
- return text_.cursor.pos();
-}
-
-
-ParagraphList::iterator InsetText::cpar() const
-{
- return text_.cursorPar();
-}
-
-
-RowList::iterator InsetText::crow() const
-{
- return cpar()->getRow(cpos());
-}
-
-
void InsetText::setViewCache(BufferView const * bv) const
{
if (bv && bv != text_.bv_owner) {
@@ -585,15 +556,8 @@ int InsetText::scroll(bool /*recursive*/
}
-void InsetText::clearSelection(BufferView *)
-{
- text_.clearSelection();
-}
-
-
-void InsetText::clearInset(BufferView * bv, int x, int y) const
+void InsetText::clearInset(Painter & pain, int x, int y) const
{
- Painter & pain = bv->painter();
int w = dim_.wid;
int h = dim_.asc + dim_.des;
int ty = y - dim_.asc;
Index: insets/insettext.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insettext.h,v
retrieving revision 1.234
diff -u -p -r1.234 insettext.h
--- insets/insettext.h 25 Nov 2003 11:17:27 -0000 1.234
+++ insets/insettext.h 28 Nov 2003 08:25:59 -0000
@@ -59,11 +59,11 @@ public:
/// empty inset to empty par, or just mark as erased
void clear(bool just_mark_erased);
///
- void read(Buffer const &, LyXLex &);
+ void read(Buffer const & buf, LyXLex & lex);
///
- void write(Buffer const &, std::ostream &) const;
+ void write(Buffer const & buf, std::ostream & os) const;
///
- void metrics(MetricsInfo &, Dimension &) const;
+ void metrics(MetricsInfo & mi, Dimension & dim) const;
///
void draw(PainterInfo & pi, int x, int y) const;
///
@@ -89,8 +89,6 @@ public:
/// FIXME, document
void getCursorPos(int & x, int & y) const;
///
- int insetInInsetY() const;
- ///
bool insertInset(BufferView *, InsetOld *);
///
bool insetAllowed(InsetOld::Code) const;
@@ -129,8 +127,6 @@ public:
UpdatableInset::scroll(bv, offset);
}
///
- void clearSelection(BufferView * bv);
- ///
ParagraphList * getParagraphs(int) const;
///
LyXText * getText(int) const;
@@ -165,14 +161,12 @@ public:
int numParagraphs() const { return 1; }
///
mutable ParagraphList paragraphs;
-protected:
+private:
///
DispatchResult
priv_dispatch(FuncRequest const &, idx_type &, pos_type &);
///
- void updateLocal(BufferView *, bool mark_dirty);
-
-private:
+ void updateLocal(BufferView *);
///
void init();
// If the inset is empty set the language of the current font to the
@@ -183,15 +177,9 @@ private:
///
void removeNewlines();
///
- lyx::pos_type cpos() const;
- ///
- ParagraphList::iterator cpar() const;
- ///
- RowList::iterator crow() const;
- ///
void drawFrame(Painter &, int x) const;
///
- void clearInset(BufferView *, int start_x, int baseline) const;
+ void clearInset(Painter &, int x, int y) const;
///
void collapseParagraphs(BufferView *);
@@ -205,8 +193,6 @@ private:
*/
int frame_color_;
///
- bool no_selection;
- ///
mutable lyx::paroffset_type old_par;
/** to remember old painted frame dimensions to clear it on
@@ -216,7 +202,5 @@ private:
public:
///
mutable LyXText text_;
- ///
- mutable int textwidth_;
};
#endif
Index: insets/updatableinset.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/updatableinset.h,v
retrieving revision 1.26
diff -u -p -r1.26 updatableinset.h
--- insets/updatableinset.h 21 Nov 2003 14:59:24 -0000 1.26
+++ insets/updatableinset.h 28 Nov 2003 08:25:59 -0000
@@ -35,8 +35,6 @@ public:
virtual void getCursorDim(int &, int &) const;
///
virtual bool insertInset(BufferView *, InsetOld *) { return false; }
- ///
- virtual int insetInInsetY() const { return 0; }
// We need this method to not clobber the real method in Inset
int scroll(bool recursive = true) const
{ return InsetOld::scroll(recursive); }