#include "insets/InsetBibitem.h"
#include "insets/InsetInclude.h"
+#include "support/lassert.h"
#include "support/convert.h"
#include "support/debug.h"
#include "support/filetools.h"
bool needEnumCounterReset(ParIterator const & it)
{
Paragraph const & par = *it;
- BOOST_ASSERT(par.layout().labeltype == LABEL_ENUMERATE);
+ LASSERT(par.layout().labeltype == LABEL_ENUMERATE, /**/);
depth_type const cur_depth = par.getDepth();
ParIterator prev_it = it;
while (prev_it.pit()) {
// set the label of a paragraph. This includes the counters.
void setLabel(Buffer const & buf, ParIterator & it)
{
- DocumentClass const & textclass = buf.params().documentClass();
+ BufferParams const & bp = buf.masterBuffer()->params();
+ DocumentClass const & textclass = bp.documentClass();
Paragraph & par = it.paragraph();
Layout const & layout = par.layout();
Counters & counters = textclass.counters();
if (layout.margintype == MARGIN_MANUAL) {
if (par.params().labelWidthString().empty())
- par.params().labelWidthString(par.translateIfPossible(layout.labelstring(), buf.params()));
+ par.params().labelWidthString(par.translateIfPossible(layout.labelstring(), bp));
} else {
par.params().labelWidthString(docstring());
}
switch(layout.labeltype) {
case LABEL_COUNTER:
- if (layout.toclevel <= buf.params().secnumdepth
+ if (layout.toclevel <= bp.secnumdepth
&& (layout.latextype != LATEX_ENVIRONMENT
|| isFirstInSequence(it.pit(), it.plist()))) {
counters.step(layout.counter);
par.params().labelString(
- par.expandLabel(layout, buf.params()));
+ par.expandLabel(layout, bp));
} else
par.params().labelString(docstring());
break;
// At some point of time we should do something more
// clever here, like:
// par.params().labelString(
- // buf.params().user_defined_bullet(par.itemdepth).getText());
+ // bp.user_defined_bullet(par.itemdepth).getText());
// for now, use a simple hardcoded label
docstring itemlabel;
switch (par.itemdepth) {
}
par.params().labelString(counters.counterLabel(
- par.translateIfPossible(from_ascii(format), buf.params())));
+ par.translateIfPossible(from_ascii(format), bp)));
break;
}
case LABEL_STATIC:
case LABEL_BIBLIO:
par.params().labelString(
- par.translateIfPossible(layout.labelstring(),
- buf.params()));
+ par.translateIfPossible(layout.labelstring(), bp));
break;
}
}
void updateLabels(Buffer const & buf, ParIterator & parit)
{
- BOOST_ASSERT(parit.pit() == 0);
+ LASSERT(parit.pit() == 0, /**/);
// set the position of the text in the buffer to be able
// to resolve macros in it. This has nothing to do with
ParIterator parit = par_iterator_begin(buf.inset());
updateLabels(buf, parit);
+ if (master != &buf)
+ // TocBackend update will be done later.
+ return;
+
cbuf.tocBackend().update();
if (!childonly)
cbuf.structureChanged();