#include "output.h"
#include "outputparams.h"
#include "paragraph.h"
+#include "ParagraphList_fwd.h"
#include "ParagraphParameters.h"
#include "support/gzstream.h"
#include "support/lstrings.h"
-#ifdef HAVE_LOCALE
-#endif
-
using lyx::support::ascii_lowercase;
using lyx::support::compare_ascii_no_case;
using lyx::support::compare_no_case;
}
-void writeFileAscii(Buffer const & buf,
- ostream & os,
- OutputParams const & runparams)
+void writeFileAscii(Buffer const & buf, ostream & os,
+ OutputParams const & runparams)
{
- Buffer & tmp = const_cast<Buffer &>(buf);
- ParagraphList par = const_cast<ParagraphList&>(tmp.paragraphs());
- ParagraphList::iterator beg = par.begin();
- ParagraphList::iterator end = par.end();
- ParagraphList::iterator it = beg;
+ ParagraphList const par = buf.paragraphs();
+ ParagraphList::const_iterator beg = par.begin();
+ ParagraphList::const_iterator end = par.end();
+ ParagraphList::const_iterator it = beg;
for (; it != end; ++it) {
asciiParagraph(buf, *it, os, runparams, it == beg);
}
{
int ltype = 0;
Paragraph::depth_type ltype_depth = 0;
- bool ref_printed = false;
+ static bool ref_printed = false;
Paragraph::depth_type depth = par.params().depth();
// First write the layout
//--
// 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) {
case 4: // (Sub)Paragraph
case 5: // Description
break;
+
case 6: // Abstract
if (runparams.linelen > 0) {
os << _("Abstract") << "\n\n";
currlinelen += abst.length();
}
break;
+
case 7: // Bibliography
if (!ref_printed) {
if (runparams.linelen > 0) {
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;
}
}
for (pos_type i = 0; i < par.size(); ++i) {
char c = par.getUChar(buf.params(), i);
switch (c) {
- 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;
- }
+ case Paragraph::META_INSET: {
+ InsetBase const * inset = par.getInset(i);
+ if (runparams.linelen > 0) {
+ os << word;
+ currlinelen += word.length();
+ word.erase();
}
+ OutputParams rp = runparams;
+ rp.depth = par.params().depth();
+ if (inset->plaintext(buf, os, rp)) {
+ // 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();
+ break;
- os << word << ' ';
- currlinelen += word.length() + 1;
- word.erase();
+ case '\0':
+ lyxerr[Debug::INFO] <<
+ "writeAsciiFile: NULL char in structure." << endl;
+ 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;
- }
+ 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;
}
-
-