I have no idea why the old version of this file suddenly reappeared.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29982 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2009-06-06 03:22:55 +00:00
parent ccf91c3bf0
commit 30b081c8f9

View File

@ -194,6 +194,8 @@ ParagraphList::const_iterator makeParagraphs(Buffer const & buf,
ParagraphList::const_iterator par = pbegin; ParagraphList::const_iterator par = pbegin;
for (; par != pend; ++par) { for (; par != pend; ++par) {
Layout const & lay = par->layout(); Layout const & lay = par->layout();
if (!lay.counter.empty())
buf.params().documentClass().counters().step(lay.counter);
if (par != pbegin) if (par != pbegin)
os << '\n'; os << '\n';
bool const opened = openTag(os, lay); bool const opened = openTag(os, lay);
@ -228,6 +230,8 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf,
while (par != pend) { while (par != pend) {
Layout const & style = par->layout(); Layout const & style = par->layout();
if (!style.counter.empty())
buf.params().documentClass().counters().step(style.counter);
ParagraphList::const_iterator send; ParagraphList::const_iterator send;
// this will be positive, if we want to skip the initial word // this will be positive, if we want to skip the initial word
// (if it's been taken for the label). // (if it's been taken for the label).
@ -235,35 +239,36 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf,
switch (style.latextype) { switch (style.latextype) {
case LATEX_ENVIRONMENT: case LATEX_ENVIRONMENT:
// case LATEX_LIST_ENVIRONMENT?? case LATEX_LIST_ENVIRONMENT:
case LATEX_ITEM_ENVIRONMENT: { case LATEX_ITEM_ENVIRONMENT: {
// FIXME Factor this out.
// There are two possiblities in this case. // There are two possiblities in this case.
// One is that we are still in the environment in which we // One is that we are still in the environment in which we
// started---which we will be if the depth is the same. // started---which we will be if the depth is the same.
if (par->params().depth() == origdepth) { if (par->params().depth() == origdepth) {
Layout const & cstyle = par->layout();
if (lastlay != 0) { if (lastlay != 0) {
closeItemTag(os, *lastlay); closeItemTag(os, *lastlay);
lastlay = 0; lastlay = 0;
} }
Layout const & cstyle = par->layout(); bool const item_tag_opened = openItemTag(os, cstyle);
if (cstyle.labeltype == LABEL_MANUAL) { if (cstyle.labeltype == LABEL_MANUAL) {
bool const label_tag_opened = openLabelTag(os, cstyle); bool const label_tag_opened = openLabelTag(os, cstyle);
sep = par->firstWordLyXHTML(os, runparams); sep = par->firstWordLyXHTML(os, runparams);
if (label_tag_opened) if (label_tag_opened)
closeLabelTag(os, cstyle); closeLabelTag(os, cstyle);
os << '\n'; os << '\n';
} else if (style.latextype == LATEX_ENVIRONMENT }
// FIXME Why did I put that first condition??
else if (style.latextype == LATEX_ENVIRONMENT
&& style.labeltype != LABEL_NO_LABEL) { && style.labeltype != LABEL_NO_LABEL) {
bool const label_tag_opened = openLabelTag(os, cstyle); bool const label_tag_opened = openLabelTag(os, cstyle);
if (!style.counter.empty())
buf.params().documentClass().counters().step(cstyle.counter);
os << pbegin->expandLabel(style, buf.params(), false); os << pbegin->expandLabel(style, buf.params(), false);
if (label_tag_opened) if (label_tag_opened)
closeLabelTag(os, cstyle); closeLabelTag(os, cstyle);
os << '\n'; os << '\n';
} }
bool const item_tag_opened = openItemTag(os, cstyle);
par->simpleLyXHTMLOnePar(buf, os, runparams, par->simpleLyXHTMLOnePar(buf, os, runparams,
outerFont(distance(paragraphs.begin(), par), paragraphs), sep); outerFont(distance(paragraphs.begin(), par), paragraphs), sep);
++par; ++par;
@ -298,6 +303,7 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf,
// FIXME // FIXME
case LATEX_BIB_ENVIRONMENT: case LATEX_BIB_ENVIRONMENT:
case LATEX_COMMAND: case LATEX_COMMAND:
++par;
break; break;
} }
} }
@ -318,14 +324,15 @@ void makeCommand(Buffer const & buf,
ParagraphList::const_iterator const & pbegin) ParagraphList::const_iterator const & pbegin)
{ {
Layout const & style = pbegin->layout(); Layout const & style = pbegin->layout();
if (!style.counter.empty())
buf.params().documentClass().counters().step(style.counter);
bool const main_tag_opened = openTag(os, style); bool const main_tag_opened = openTag(os, style);
// Label around sectioning number: // Label around sectioning number:
// FIXME Probably need to account for LABEL_MANUAL
if (style.labeltype != LABEL_NO_LABEL) { if (style.labeltype != LABEL_NO_LABEL) {
bool const label_tag_opened = openLabelTag(os, style); bool const label_tag_opened = openLabelTag(os, style);
if (!style.counter.empty())
buf.params().documentClass().counters().step(style.counter);
os << pbegin->expandLabel(style, buf.params(), false); os << pbegin->expandLabel(style, buf.params(), false);
if (label_tag_opened) if (label_tag_opened)
closeLabelTag(os, style); closeLabelTag(os, style);
@ -352,6 +359,7 @@ void xhtmlParagraphs(ParagraphList const & paragraphs,
ParagraphList::const_iterator pend = paragraphs.end(); ParagraphList::const_iterator pend = paragraphs.end();
while (par != pend) { while (par != pend) {
LYXERR0(par->id());
Layout const & style = par->layout(); Layout const & style = par->layout();
ParagraphList::const_iterator lastpar = par; ParagraphList::const_iterator lastpar = par;
ParagraphList::const_iterator send; ParagraphList::const_iterator send;
@ -365,6 +373,7 @@ void xhtmlParagraphs(ParagraphList const & paragraphs,
break; break;
} }
case LATEX_ENVIRONMENT: case LATEX_ENVIRONMENT:
case LATEX_LIST_ENVIRONMENT:
case LATEX_ITEM_ENVIRONMENT: { case LATEX_ITEM_ENVIRONMENT: {
send = searchEnvironment(par, pend); send = searchEnvironment(par, pend);
par = makeEnvironment(buf, os, runparams, paragraphs, par,send); par = makeEnvironment(buf, os, runparams, paragraphs, par,send);
@ -374,9 +383,12 @@ void xhtmlParagraphs(ParagraphList const & paragraphs,
send = searchParagraph(par, pend); send = searchParagraph(par, pend);
par = makeParagraphs(buf, os, runparams, paragraphs, par,send); par = makeParagraphs(buf, os, runparams, paragraphs, par,send);
break; break;
default: case LATEX_BIB_ENVIRONMENT:
// FIXME
++par;
break; break;
} }
// FIXME??
// makeEnvironment may process more than one paragraphs and bypass pend // makeEnvironment may process more than one paragraphs and bypass pend
if (distance(lastpar, par) >= distance(lastpar, pend)) if (distance(lastpar, par) >= distance(lastpar, pend))
break; break;