X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_docbook.cpp;h=4dc6048d5b92804d5faafe8a25a892c9e93e4c80;hb=19bec6e8bc13c00c528392cb77826dc7de3f68e8;hp=a7277259cc0699915aa15613150a9a61679db434;hpb=f1cba8ff64b369792fd49f5ddf90e8126ab476ac;p=lyx.git diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp index a7277259cc..4dc6048d5b 100644 --- a/src/output_docbook.cpp +++ b/src/output_docbook.cpp @@ -20,14 +20,13 @@ #include "Layout.h" #include "OutputParams.h" #include "Paragraph.h" -#include "paragraph_funcs.h" #include "ParagraphList.h" #include "ParagraphParameters.h" #include "sgml.h" +#include "Text.h" #include "TextClass.h" #include "support/lassert.h" -#include "support/convert.h" #include "support/debug.h" #include "support/lstrings.h" @@ -98,21 +97,22 @@ ParagraphList::const_iterator searchEnvironment( ParagraphList::const_iterator makeParagraph(Buffer const & buf, odocstream & os, OutputParams const & runparams, - ParagraphList const & paragraphs, + Text const & text, ParagraphList::const_iterator const & pbegin, ParagraphList::const_iterator const & pend) { + ParagraphList const & paragraphs = text.paragraphs(); for (ParagraphList::const_iterator par = pbegin; par != pend; ++par) { if (par != pbegin) os << '\n'; if (buf.params().documentClass().isDefaultLayout(par->layout()) && par->emptyTag()) { par->simpleDocBookOnePar(buf, os, runparams, - outerFont(distance(paragraphs.begin(), par), paragraphs)); + text.outerFont(distance(paragraphs.begin(), par))); } else { sgml::openTag(buf, os, runparams, *par); par->simpleDocBookOnePar(buf, os, runparams, - outerFont(distance(paragraphs.begin(), par), paragraphs)); + text.outerFont(distance(paragraphs.begin(), par))); sgml::closeTag(os, *par); } } @@ -123,9 +123,11 @@ ParagraphList::const_iterator makeParagraph(Buffer const & buf, ParagraphList::const_iterator makeEnvironment(Buffer const & buf, odocstream & os, OutputParams const & runparams, - ParagraphList const & paragraphs, + Text const & text, ParagraphList::const_iterator const & pbegin, - ParagraphList::const_iterator const & pend) { + ParagraphList::const_iterator const & pend) +{ + ParagraphList const & paragraphs = text.paragraphs(); ParagraphList::const_iterator par = pbegin; Layout const & defaultstyle = buf.params().documentClass().defaultLayout(); @@ -157,7 +159,7 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf, if (!bstyle.labeltag().empty()) { sgml::openTag(os, bstyle.innertag(), id); sgml::openTag(os, bstyle.labeltag()); - sep = par->firstWord(os, runparams) + 1; + sep = par->firstWordDocBook(os, runparams) + 1; sgml::closeTag(os, bstyle.labeltag()); } wrapper = defaultstyle.latexname(); @@ -177,21 +179,27 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf, case LATEX_ITEM_ENVIRONMENT: { if (par->params().depth() == pbegin->params().depth()) { sgml::openTag(os, wrapper); - par->simpleDocBookOnePar(buf, os, runparams, outerFont(distance(paragraphs.begin(), par), paragraphs), sep); + par->simpleDocBookOnePar(buf, os, runparams, + text.outerFont(distance(paragraphs.begin(), par)), sep); sgml::closeTag(os, wrapper); ++par; } else { send = searchEnvironment(par, pend); - par = makeEnvironment(buf, os, runparams, paragraphs, par,send); + par = makeEnvironment(buf, os, runparams, text, par,send); } break; } case LATEX_PARAGRAPH: send = searchParagraph(par, pend); - par = makeParagraph(buf, os, runparams, paragraphs, par,send); + par = makeParagraph(buf, os, runparams, text, par,send); break; - default: + case LATEX_LIST_ENVIRONMENT: + case LATEX_BIB_ENVIRONMENT: + case LATEX_COMMAND: + // FIXME This means that we are just skipping any paragraph that + // isn't implemented above, and this includes lists. + ++par; break; } @@ -236,10 +244,11 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf, ParagraphList::const_iterator makeCommand(Buffer const & buf, odocstream & os, OutputParams const & runparams, - ParagraphList const & paragraphs, + Text const & text, ParagraphList::const_iterator const & pbegin, ParagraphList::const_iterator const & pend) { + ParagraphList const & paragraphs = text.paragraphs(); ParagraphList::const_iterator par = pbegin; Layout const & bstyle = par->layout(); @@ -257,7 +266,8 @@ ParagraphList::const_iterator makeCommand(Buffer const & buf, // Opend inner tag and close inner tags sgml::openTag(os, bstyle.innertag()); - par->simpleDocBookOnePar(buf, os, runparams, outerFont(distance(paragraphs.begin(), par), paragraphs)); + par->simpleDocBookOnePar(buf, os, runparams, + text.outerFont(distance(paragraphs.begin(), par))); sgml::closeTag(os, bstyle.innertag()); os << '\n'; @@ -269,18 +279,18 @@ ParagraphList::const_iterator makeCommand(Buffer const & buf, switch (style.latextype) { case LATEX_COMMAND: { send = searchCommand(par, pend); - par = makeCommand(buf, os, runparams, paragraphs, par,send); + par = makeCommand(buf, os, runparams, text, par,send); break; } case LATEX_ENVIRONMENT: case LATEX_ITEM_ENVIRONMENT: { send = searchEnvironment(par, pend); - par = makeEnvironment(buf, os, runparams, paragraphs, par,send); + par = makeEnvironment(buf, os, runparams, text, par,send); break; } case LATEX_PARAGRAPH: send = searchParagraph(par, pend); - par = makeParagraph(buf, os, runparams, paragraphs, par,send); + par = makeParagraph(buf, os, runparams, text, par,send); break; default: break; @@ -295,11 +305,12 @@ ParagraphList::const_iterator makeCommand(Buffer const & buf, } // end anonym namespace -void docbookParagraphs(ParagraphList const & paragraphs, +void docbookParagraphs(Text const & text, Buffer const & buf, odocstream & os, OutputParams const & runparams) { + ParagraphList const & paragraphs = text.paragraphs(); ParagraphList::const_iterator par = paragraphs.begin(); ParagraphList::const_iterator pend = paragraphs.end(); @@ -322,18 +333,18 @@ void docbookParagraphs(ParagraphList const & paragraphs, switch (style.latextype) { case LATEX_COMMAND: { send = searchCommand(par, pend); - par = makeCommand(buf, os, runparams, paragraphs, par,send); + par = makeCommand(buf, os, runparams, text, par,send); break; } case LATEX_ENVIRONMENT: case LATEX_ITEM_ENVIRONMENT: { send = searchEnvironment(par, pend); - par = makeEnvironment(buf, os, runparams, paragraphs, par,send); + par = makeEnvironment(buf, os, runparams, text, par,send); break; } case LATEX_PARAGRAPH: send = searchParagraph(par, pend); - par = makeParagraph(buf, os, runparams, paragraphs, par,send); + par = makeParagraph(buf, os, runparams, text, par,send); break; default: break;