using std::vector;
using std::max;
using std::set;
+#ifdef HAVE_SSTREAM
+using std::istringstream;
+#endif
// all these externs should eventually be removed.
extern BufferList bufferlist;
string tmptok;
int pos = 0;
char depth = 0; // signed or unsigned?
+#ifndef NEW_INSETS
LyXParagraph::footnote_flag footnoteflag = LyXParagraph::NO_FOOTNOTE;
LyXParagraph::footnote_kind footnotekind = LyXParagraph::FOOTNOTE;
+#endif
bool the_end_read = false;
LyXParagraph * return_par = 0;
continue;
the_end_read = parseSingleLyXformat2Token(lex, par, return_par,
token, pos, depth,
- font, footnoteflag,
- footnotekind);
+ font
+#ifndef NEW_INSETS
+ , footnoteflag,
+ footnotekind
+#endif
+ );
}
if (!return_par)
Buffer::parseSingleLyXformat2Token(LyXLex & lex, LyXParagraph *& par,
LyXParagraph *& return_par,
string const & token, int & pos,
- char & depth, LyXFont & font,
- LyXParagraph::footnote_flag & footnoteflag,
- LyXParagraph::footnote_kind & footnotekind)
+ char & depth, LyXFont & font
+#ifndef NEW_INSETS
+ , LyXParagraph::footnote_flag & footnoteflag,
+ LyXParagraph::footnote_kind & footnotekind
+#endif
+ )
{
bool the_end_read = false;
// We'll remove this later. (Lgb)
par->layout =
textclasslist.NumberOfLayout(params.textclass,
layout.obsoleted_by()).second;
+#ifndef NEW_INSETS
par->footnoteflag = footnoteflag;
par->footnotekind = footnotekind;
+#endif
par->depth = depth;
font = LyXFont(LyXFont::ALL_INHERIT, params.language_info);
if (format < 2.16 && params.language == "hebrew")
inset = new InsetFloat("algorithm");
//inset = new InsetAlgorithm;
} else if (tmptok == "wide-fig") {
- InsetFloat * tmp = new InsetFloat("figure");
+ InsetFloat * tmp = new InsetFloat("figure");
tmp->wide(true);
inset = tmp;
//inset = new InsetFigure(true);
} else if (tmptok == "wide-tab") {
- InsetFloat * tmp = new InsetFloat("table");
+ InsetFloat * tmp = new InsetFloat("table");
tmp->wide(true);
inset = tmp;
//inset = new InsetTable(true);
old_float += lex.getLongString("\\end_float");
old_float += "\n\\end_inset\n";
lyxerr << "float body: " << old_float << endl;
-
+
+#ifdef HAVE_SSTREAM
+ istringstream istr(old_float.c_str());
+#else
istrstream istr(old_float.c_str());
+#endif
+
LyXLex nylex(0, 0);
nylex.setStream(istr);
while (par) {
int noparbreak = 0;
int islatex = 0;
- if (par->footnoteflag != LyXParagraph::NO_FOOTNOTE ||
- !par->previous ||
- par->previous->footnoteflag == LyXParagraph::NO_FOOTNOTE){
-
+ if (
+#ifndef NEW_INSETS
+ par->footnoteflag != LyXParagraph::NO_FOOTNOTE ||
+#endif
+ !par->previous
+#ifndef NEW_INSETS
+ || par->previous->footnoteflag == LyXParagraph::NO_FOOTNOTE
+#endif
+ ){
+
+#ifndef NEW_INSETS
/* begins a footnote environment ? */
if (footnoteflag != par->footnoteflag) {
footnoteflag = par->footnoteflag;
currlinelen += j;
}
}
+#endif
/* begins or ends a deeper area ?*/
if (depth != par->depth) {
/* what about the alignment */
} else {
+#ifndef NEW_INSETS
/* dummy layout, that means a footnote ended */
footnoteflag = LyXParagraph::NO_FOOTNOTE;
ofs << ") ";
noparbreak = 1;
+#else
+ lyxerr << "Should this ever happen?" << endl;
+#endif
}
//LyXLayout const & layout =
tmpholder = 0;
}
#endif
+#ifndef NEW_INSETS
if (par->IsDummy())
lyxerr[Debug::LATEX] << "Error in latexParagraphs."
<< endl;
+#endif
LyXLayout const & layout =
textclasslist.Style(params.textclass,
par->layout);
par = par->TeXEnvironment(this, params, ofs, texrow,
ftnote, ft_texrow, ftcount);
} else {
- par = par->TeXOnePar(this, params, ofs, texrow, false,
- ftnote, ft_texrow, ftcount);
+ par = par->TeXOnePar(this, params, ofs, texrow, false
+#ifndef NEW_INSETS
+ ,
+ ftnote, ft_texrow, ftcount
+#endif
+ );
}
// Write out what we've generated...
sgmlOpenTag(ofs, depth, temp);
par = par->next;
+#ifndef NEW_INSETS
linuxDocHandleFootnote(ofs, par, depth);
+#endif
continue;
}
}
break;
}
+#ifndef NEW_INSETS
do {
+#endif
SimpleLinuxDocOnePar(ofs, par, desc_on, depth);
par = par->next;
+#ifndef NEW_INSETS
linuxDocHandleFootnote(ofs, par, depth);
}
while(par && par->IsDummy());
+#endif
ofs << "\n";
// write closing SGML tags
}
+#ifndef NEW_INSETS
void Buffer::linuxDocHandleFootnote(ostream & os, LyXParagraph * & par,
int const depth)
{
par = par->next;
}
}
+#endif
void Buffer::DocBookHandleCaption(ostream & os, string & inner_tag,
LyXParagraph * & par)
{
LyXParagraph * tpar = par;
- while (tpar && (tpar->footnoteflag != LyXParagraph::NO_FOOTNOTE) &&
- (tpar->layout != textclasslist.NumberOfLayout(params.textclass,
+ while (tpar
+#ifndef NEW_INSETS
+ && (tpar->footnoteflag != LyXParagraph::NO_FOOTNOTE)
+#endif
+ && (tpar->layout != textclasslist.NumberOfLayout(params.textclass,
"Caption").second))
tpar = tpar->next;
if (tpar &&
}
+#ifndef NEW_INSETS
void Buffer::DocBookHandleFootnote(ostream & os, LyXParagraph * & par,
int const depth)
{
if(!extra_par.empty()) os << extra_par;
if(!tag.empty()) sgmlCloseTag(os, depth, tag);
}
+#endif
// push a tag in a style stack
i < par->size(); ++i) {
// handle quote tag
- if (i == main_body && !par->IsDummy()) {
+ if (i == main_body
+#ifndef NEW_INSETS
+ && !par->IsDummy()
+#endif
+ ) {
if (main_body > 0)
font1 = style.font;
}
break;
}
+#ifndef NEW_INSETS
do {
+#endif
string extra_par;
SimpleDocBookOnePar(ofs, extra_par, par, desc_on,
depth + 1 + command_depth);
par = par->next;
+#ifndef NEW_INSETS
DocBookHandleFootnote(ofs, par,
depth + 1 + command_depth);
}
while(par && par->IsDummy());
-
+#endif
string end_tag;
// write closing SGML tags
switch(style.latextype) {
vector<vector<TocItem> > l(4);
LyXParagraph * par = paragraph;
while (par) {
+#ifndef NEW_INSETS
if (par->footnoteflag != LyXParagraph::NO_FOOTNOTE) {
if (textclasslist.Style(params.textclass,
par->GetLayout()).labeltype
}
}
} else if (!par->IsDummy()) {
+#endif
char labeltype = textclasslist.Style(params.textclass,
par->GetLayout()).labeltype;
tmp.str = par->String(this, true);
l[TOC_TOC].push_back(tmp);
}
+#ifndef NEW_INSETS
}
+#endif
par = par->next;
}
return l;
LyXParagraph * par = paragraph;
while (par) {
if (par->bibkey)
- keys.push_back(pair<string,string>(par->bibkey->getContents(),
+ keys.push_back(pair<string, string>(par->bibkey->getContents(),
par->String(this, false)));
par = par->next;
}