mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 18:08:10 +00:00
Remove Paragraph dependency from texrow, use a id instead.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6949 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
ac1faa8439
commit
468560431f
@ -1,5 +1,13 @@
|
|||||||
2003-05-07 Lars Gullik Bjønnes <larsbj@gullik.net>
|
2003-05-07 Lars Gullik Bjønnes <larsbj@gullik.net>
|
||||||
|
|
||||||
|
* texrow.[Ch]: remove dependency on Paragraph and just store a id
|
||||||
|
instead.
|
||||||
|
* paragraph_pimpl.C (simpleTeXBlanks): adjust
|
||||||
|
(simpleTeXSpecialChars): adjust
|
||||||
|
(simpleTeXSpecialChars): adjust
|
||||||
|
* paragraph.C (simpleTeXOnePar): adjust
|
||||||
|
* buffer.C (makeLaTeXFile): adjust
|
||||||
|
|
||||||
* Makefile.am (BOOST_LIBS): allow boost as system lib.
|
* Makefile.am (BOOST_LIBS): allow boost as system lib.
|
||||||
|
|
||||||
* text2.C (changeDepth): parlist cleanup
|
* text2.C (changeDepth): parlist cleanup
|
||||||
|
@ -1037,7 +1037,7 @@ void Buffer::makeLaTeXFile(ostream & os,
|
|||||||
texrow.reset();
|
texrow.reset();
|
||||||
// The starting paragraph of the coming rows is the
|
// The starting paragraph of the coming rows is the
|
||||||
// first paragraph of the document. (Asger)
|
// first paragraph of the document. (Asger)
|
||||||
texrow.start(&*paragraphs.begin(), 0);
|
texrow.start(paragraphs.begin()->id(), 0);
|
||||||
|
|
||||||
if (!only_body && nice) {
|
if (!only_body && nice) {
|
||||||
os << "%% " << lyx_docversion << " created this file. "
|
os << "%% " << lyx_docversion << " created this file. "
|
||||||
|
@ -979,7 +979,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
|
|||||||
|
|
||||||
Change::Type running_change = Change::UNCHANGED;
|
Change::Type running_change = Change::UNCHANGED;
|
||||||
|
|
||||||
texrow.start(this, 0);
|
texrow.start(id(), 0);
|
||||||
|
|
||||||
// if the paragraph is empty, the loop will not be entered at all
|
// if the paragraph is empty, the loop will not be entered at all
|
||||||
if (empty()) {
|
if (empty()) {
|
||||||
|
@ -441,7 +441,7 @@ void Paragraph::Pimpl::simpleTeXBlanks(ostream & os, TexRow & texrow,
|
|||||||
|| getChar(i - 1) == '!'))) {
|
|| getChar(i - 1) == '!'))) {
|
||||||
os << '\n';
|
os << '\n';
|
||||||
texrow.newline();
|
texrow.newline();
|
||||||
texrow.start(owner_, i + 1);
|
texrow.start(owner_->id(), i + 1);
|
||||||
column = 0;
|
column = 0;
|
||||||
} else if (style.free_spacing) {
|
} else if (style.free_spacing) {
|
||||||
os << '~';
|
os << '~';
|
||||||
@ -540,7 +540,7 @@ void Paragraph::Pimpl::simpleTeXSpecialChars(Buffer const * buf,
|
|||||||
os << "\\\\\n";
|
os << "\\\\\n";
|
||||||
}
|
}
|
||||||
texrow.newline();
|
texrow.newline();
|
||||||
texrow.start(owner_, i + 1);
|
texrow.start(owner_->id(), i + 1);
|
||||||
column = 0;
|
column = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -589,7 +589,7 @@ void Paragraph::Pimpl::simpleTeXSpecialChars(Buffer const * buf,
|
|||||||
for (int j = 0; j < tmp; ++j) {
|
for (int j = 0; j < tmp; ++j) {
|
||||||
texrow.newline();
|
texrow.newline();
|
||||||
}
|
}
|
||||||
texrow.start(owner_, i + 1);
|
texrow.start(owner_->id(), i + 1);
|
||||||
column = 0;
|
column = 0;
|
||||||
} else {
|
} else {
|
||||||
column += int(os.tellp()) - len;
|
column += int(os.tellp()) - len;
|
||||||
|
13
src/texrow.C
13
src/texrow.C
@ -8,12 +8,11 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "texrow.h"
|
#include "texrow.h"
|
||||||
#include "paragraph.h"
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
using std::find_if;
|
using std::find_if;
|
||||||
using std::for_each;
|
using std::for_each;
|
||||||
using std::endl;
|
using std::endl;
|
||||||
@ -70,21 +69,21 @@ void TexRow::reset()
|
|||||||
{
|
{
|
||||||
rowlist.clear();
|
rowlist.clear();
|
||||||
count = 0;
|
count = 0;
|
||||||
lastpar = 0;
|
lastid = -1;
|
||||||
lastpos = -1;
|
lastpos = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TexRow::start(Paragraph * par, int pos)
|
void TexRow::start(int id, int pos)
|
||||||
{
|
{
|
||||||
lastpar = par;
|
lastid = id;
|
||||||
lastpos = pos;
|
lastpos = pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TexRow::newline()
|
void TexRow::newline()
|
||||||
{
|
{
|
||||||
int const id = lastpar ? lastpar->id() : -1;
|
int const id = lastid;
|
||||||
RowList::value_type tmp(id, lastpos, ++count);
|
RowList::value_type tmp(id, lastpos, ++count);
|
||||||
rowlist.push_back(tmp);
|
rowlist.push_back(tmp);
|
||||||
}
|
}
|
||||||
|
11
src/texrow.h
11
src/texrow.h
@ -13,19 +13,20 @@
|
|||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
class Paragraph;
|
|
||||||
|
|
||||||
/// Represents the correspondence between paragraphs and the generated LaTeX file
|
/// Represents the correspondence between paragraphs and the generated LaTeX file
|
||||||
class TexRow {
|
class TexRow {
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
TexRow() : count(0), lastpar(0), lastpos(-1) {}
|
TexRow() : count(0), lastid(-1), lastpos(-1) {}
|
||||||
|
|
||||||
|
TexRow & operator+= (TexRow const &);
|
||||||
|
|
||||||
/// Clears structure
|
/// Clears structure
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
/// Define what paragraph and position the next row will represent
|
/// Define what paragraph and position the next row will represent
|
||||||
void start(Paragraph * par, int pos);
|
void start(int id, int pos);
|
||||||
|
|
||||||
/// Insert node when line is completed
|
/// Insert node when line is completed
|
||||||
void newline();
|
void newline();
|
||||||
@ -42,8 +43,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool getIdFromRow(int row, int & id, int & pos) const;
|
bool getIdFromRow(int row, int & id, int & pos) const;
|
||||||
|
|
||||||
TexRow & operator+= (TexRow const &);
|
|
||||||
|
|
||||||
/// Returns the number of rows contained
|
/// Returns the number of rows contained
|
||||||
int rows() const { return count; }
|
int rows() const { return count; }
|
||||||
|
|
||||||
@ -90,7 +89,7 @@ private:
|
|||||||
/// container of id/pos <=> row mapping
|
/// container of id/pos <=> row mapping
|
||||||
RowList rowlist;
|
RowList rowlist;
|
||||||
/// Last paragraph
|
/// Last paragraph
|
||||||
Paragraph * lastpar;
|
int lastid;
|
||||||
/// Last position
|
/// Last position
|
||||||
int lastpos;
|
int lastpos;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user