}
-bool Counters::copy(docstring const & cnt, docstring const & newcnt)
-{
- auto const it = counterList_.find(cnt);
- if (it == counterList_.end())
- return false;
- counterList_[newcnt] = it->second;
- return true;
-}
-
-
bool Counters::remove(docstring const & cnt)
{
bool retval = counterList_.erase(cnt);
void reset();
/// Reset counters matched by match string.
void reset(docstring const & match);
- /// Copy counter \p cnt to \p newcnt.
- bool copy(docstring const & cnt, docstring const & newcnt);
/// Remove counter \p cnt.
bool remove(docstring const & cnt);
/** returns the expanded string representation of counter \c
#include "ParIterator.h"
#include "TextClass.h"
-#include "support/debug.h"
#include "support/gettext.h"
#include "support/lstrings.h"
docstring custom_label = translateIfPossible(il.labelstring());
Counters & cnts = bp.documentClass().counters();
-
- // Special case for `subequations' module.
- if (il.latextype() == InsetLaTeXType::ENVIRONMENT &&
- il.latexname() == "subequations") {
- docstring equation(from_ascii("equation"));
- docstring parentequation(from_ascii("parentequation"));
- cnts.step(equation, utype);
- // save a copy of the equation counter definition
- cnts.copy(equation, parentequation);
- // redefine the equation counter definition
- docstring const eqlabel =
- cnts.theCounter(equation, it->getParLanguage(bp)->code());
- cnts.newCounter(equation, parentequation,
- eqlabel + from_ascii("\\alph{equation}"),
- eqlabel + from_ascii("\\alph{equation}"),
- cnts.guiName(parentequation));
- InsetCollapsible::updateBuffer(it, utype, deleted);
- // reset equation counter as it was.
- cnts.copy(parentequation, equation);
- cnts.remove(parentequation);
- return;
- }
-
docstring const & count = il.counter();
bool const have_counter = cnts.hasCounter(count);
if (have_counter) {