#include "insets/insetspecialchar.h"
#include "insets/insettext.h"
#include "insets/insetfloat.h"
+#include "insets/insetwrap.h"
#include "support/LAssert.h"
#include "support/textutils.h"
}
setCursorIntern(bview, firstrow->par(), 0);
selection.cursor = cursor;
+
+ updateCounters(bview);
}
while (par && par_depth && !tmpfont.resolved()) {
par = par->outerHook();
if (par) {
-#ifndef INHERIT_LANGUAGE
tmpfont.realize(par->layout()->font);
-#else
- tmpfont.realize(tclass[par->layout()]->font,
- buf->params.language);
-#endif
par_depth = par->getDepth();
}
}
-#ifndef INHERIT_LANGUAGE
tmpfont.realize(tclass.defaultfont());
-#else
- tmpfont.realize(tclass.defaultfont(), buf->params.language);
-#endif
return tmpfont;
}
LyXFont f = par->getFontSettings(buf->params, pos);
if (par->inInset())
par->inInset()->getDrawFont(f);
-#ifndef INHERIT_LANGUAGE
return f.realize(layout->reslabelfont);
-#else
- return f.realize(layout.reslabelfont, buf->params.language);
-#endif
} else {
LyXFont f = par->getFontSettings(buf->params, pos);
if (par->inInset())
par->inInset()->getDrawFont(f);
-#ifndef INHERIT_LANGUAGE
return f.realize(layout->resfont);
-#else
- return f.realize(layout.resfont, buf->params.language);
-#endif
}
}
}
LyXFont tmpfont = par->getFontSettings(buf->params, pos);
-#ifndef INHERIT_LANGUAGE
tmpfont.realize(layoutfont);
-#else
- tmpfont.realize(layoutfont, buf->params.language);
-#endif
+
if (par->inInset())
par->inInset()->getDrawFont(tmpfont);
while (!layoutfont.resolved() && tp && tp->getDepth()) {
tp = tp->outerHook();
if (tp)
-#ifndef INHERIT_LANGUAGE
layoutfont.realize(tp->layout()->font);
-#else
- layoutfont.realize(tclass[tp->layout()].font,
- buf->params.language);
-#endif
}
}
-#ifndef INHERIT_LANGUAGE
layoutfont.realize(tclass.defaultfont());
-#else
- layoutfont.realize(tclass.defaultfont(), buf->params.language);
-#endif
// Now, reduce font against full layout font
font.reduce(layoutfont);
// insert a new row, starting at position 0
insertRow(row, par, 0);
- // set the counters
- setCounter(bview->buffer(), par);
-
// and now append the whole paragraph behind the new row
if (!row) {
firstrow->height(0);
// and sel_end cursor
cursor = selection.start;
- bool anything_changed = false;
-
while (true) {
// NOTE: you can't change the depth of a bibliography entry
if (cursor.par()->layout()->labeltype != LABEL_BIBLIO) {
if (cursor.par()->getDepth()
< prev->getMaxDepthAfter()) {
cursor.par()->params().depth(cursor.par()->getDepth() + 1);
- anything_changed = true;
}
}
}
cursor.par(cursor.par()->next());
}
- // if nothing changed set all depth to 0
- if (!anything_changed) {
- cursor = selection.start;
- while (cursor.par() != selection.end.par()) {
- cursor.par()->params().depth(0);
- cursor.par(cursor.par()->next());
- }
- cursor.par()->params().depth(0);
- }
-
redoParagraphs(bview, selection.start, endpar);
// we have to reset the selection, because the
current_font = real_current_font;
current_font.reduce(layoutfont);
// And resolve it completely
-#ifndef INHERIT_LANGUAGE
real_current_font.realize(layoutfont);
-#else
- real_current_font.realize(layoutfont,
- bview->buffer()->params.language);
-#endif
+
return;
}
par->params().appendix(par->previous()->params().appendix());
if (!par->params().appendix() && par->params().startOfAppendix()) {
par->params().appendix(true);
- buf->counters().reset();
+ textclass.counters().reset();
}
par->enumdepth = par->previous()->enumdepth;
par->itemdepth = par->previous()->itemdepth;
if (i >= 0 && i <= buf->params.secnumdepth) {
- buf->counters().step(layout->latexname());
+ textclass.counters().step(layout->latexname());
// Is there a label? Useful for Chapter layout
if (!par->params().appendix()) {
langtype = "latin";
}
- s << buf->counters()
+ s << textclass.counters()
.numberLabel(layout->latexname(),
numbertype, langtype, head);
// possible...
// reset enum counters
- buf->counters().reset("enum");
+ textclass.counters().reset("enum");
} else if (layout->labeltype < LABEL_COUNTER_ENUMI) {
- buf->counters().reset("enum");
+ textclass.counters().reset("enum");
} else if (layout->labeltype == LABEL_COUNTER_ENUMI) {
// FIXME
// Yes I know this is a really, really! bad solution
break;
}
- buf->counters().step(enumcounter);
+ textclass.counters().step(enumcounter);
- s << buf->counters()
+ s << textclass.counters()
.numberLabel(enumcounter,
"enumeration", langtype);
par->params().labelString(s.str().c_str());
}
} else if (layout->labeltype == LABEL_BIBLIO) {// ale970302
- buf->counters().step("bibitem");
- int number = buf->counters().value("bibitem");
+ textclass.counters().step("bibitem");
+ int number = textclass.counters().value("bibitem");
if (!par->bibkey) {
InsetCommandParams p("bibitem");
par->bibkey = new InsetBibKey(p);
while (tmppar && tmppar->inInset()
// the single '=' is intended below
&& (in = tmppar->inInset()->owner())) {
- if (in->lyxCode() == Inset::FLOAT_CODE) {
+ if (in->lyxCode() == Inset::FLOAT_CODE ||
+ in->lyxCode() == Inset::WRAP_CODE) {
isOK = true;
break;
} else {
Floating const & fl
= textclass.floats().getType(static_cast<InsetFloat*>(in)->type());
- buf->counters().step(fl.type());
+ textclass.counters().step(fl.type());
// Doesn't work... yet.
ostringstream o;
}
par->params().labelString(s);
- // reset the enumeration counter. They are always resetted
+ // reset the enumeration counter. They are always reset
// when there is any other layout between
+ // Just fall-through between the cases so that all
+ // enum counters deeper than enumdepth is also reset.
switch (par->enumdepth) {
case 0:
- buf->counters().reset("enumi");
+ textclass.counters().reset("enumi");
case 1:
- buf->counters().reset("enumii");
+ textclass.counters().reset("enumii");
case 2:
- buf->counters().reset("enumiii");
+ textclass.counters().reset("enumiii");
case 3:
- buf->counters().reset("enumiv");
+ textclass.counters().reset("enumiv");
}
}
}
Row * row = firstrow;
par = row->par();
- bview->buffer()->counters().reset();
+ // CHECK if this is really needed. (Lgb)
+ bview->buffer()->params.getLyXTextClass().counters().reset();
+
while (par) {
while (row->par() != par)
row = row->next();