#include "Paragraph.h"
#include "TextClass.h"
-#include "insets/InsetText.h"
+#include "insets/InsetArgument.h"
#include "support/debug.h"
#include "support/docstream.h"
return false;
if (toc("tableofcontents")->empty()) {
- // FIXME: should not happen,
+ // FIXME: should not happen,
// a call to TocBackend::update() is missing somewhere
LYXERR0("TocBackend::updateItem called but the TOC is empty!");
return false;
// FIXME: This is supposed to accomplish the same as the body of
// InsetText::iterateForToc(), probably
Paragraph & par = toc_item->dit().paragraph();
- InsetList::const_iterator it = par.insetList().begin();
- InsetList::const_iterator end = par.insetList().end();
- for (; it != end; ++it) {
- Inset & inset = *it->inset;
- if (inset.lyxCode() == ARG_CODE) {
+ for (auto const & table : par.insetList())
+ if (InsetArgument const * arg = table.inset->asInsetArgument()) {
tocstring = par.labelString();
if (!tocstring.empty())
tocstring += ' ';
- inset.asInsetText()->text().forOutliner(tocstring,TOC_ENTRY_LENGTH);
+ arg->text().forOutliner(tocstring,TOC_ENTRY_LENGTH);
break;
}
- }
int const toclevel = toc_item->dit().text()->
getTocLevel(toc_item->dit().pit());
resetOutlinerNames();
if (!buffer_->isInternal()) {
DocIterator dit;
- buffer_->inset().addToToc(dit, output_active, utype);
+ buffer_->inset().addToToc(dit, output_active, utype, *this);
}
}