mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
* Inset: Prepare for an eventual merge of updateLabels() and addToToc()
* TocBackend: add non const toc() and tocs() access methods. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23018 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
5b7eb343ec
commit
c3a8b3a566
@ -92,6 +92,12 @@ Toc const & TocBackend::toc(string const & type) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Toc & TocBackend::toc(string const & type)
|
||||||
|
{
|
||||||
|
return tocs_[type];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TocBackend::updateItem(ParConstIterator const & par_it)
|
void TocBackend::updateItem(ParConstIterator const & par_it)
|
||||||
{
|
{
|
||||||
if (toc("tableofcontents").empty()) {
|
if (toc("tableofcontents").empty()) {
|
||||||
@ -157,7 +163,7 @@ void TocBackend::update()
|
|||||||
InsetList::const_iterator end = pit->insetList().end();
|
InsetList::const_iterator end = pit->insetList().end();
|
||||||
for (; it != end; ++it) {
|
for (; it != end; ++it) {
|
||||||
Inset & inset = *it->inset;
|
Inset & inset = *it->inset;
|
||||||
inset.addToToc(tocs_, *buffer_, pit);
|
inset.addToToc(*buffer_, pit);
|
||||||
switch (inset.lyxCode()) {
|
switch (inset.lyxCode()) {
|
||||||
case OPTARG_CODE: {
|
case OPTARG_CODE: {
|
||||||
if (!tocstring.empty())
|
if (!tocstring.empty())
|
||||||
|
@ -95,11 +95,13 @@ public:
|
|||||||
|
|
||||||
///
|
///
|
||||||
TocList const & tocs() const { return tocs_; }
|
TocList const & tocs() const { return tocs_; }
|
||||||
|
TocList & tocs() { return tocs_; }
|
||||||
|
|
||||||
///
|
///
|
||||||
Toc const & toc(std::string const & type) const;
|
Toc const & toc(std::string const & type) const;
|
||||||
/// Return the first Toc Item before the cursor
|
Toc & toc(std::string const & type);
|
||||||
|
|
||||||
|
/// Return the first Toc Item before the cursor
|
||||||
TocIterator item(
|
TocIterator item(
|
||||||
std::string const & type, ///< Type of Toc.
|
std::string const & type, ///< Type of Toc.
|
||||||
ParConstIterator const & ///< The cursor location in the document.
|
ParConstIterator const & ///< The cursor location in the document.
|
||||||
|
@ -369,7 +369,7 @@ public:
|
|||||||
virtual void addPreview(graphics::PreviewLoader &) const {}
|
virtual void addPreview(graphics::PreviewLoader &) const {}
|
||||||
/// Add an entry to the TocList
|
/// Add an entry to the TocList
|
||||||
/// pit is the ParConstIterator of the paragraph containing the inset
|
/// pit is the ParConstIterator of the paragraph containing the inset
|
||||||
virtual void addToToc(TocList &, Buffer const &, ParConstIterator const &) const {}
|
virtual void addToToc(Buffer const &, ParConstIterator const &) const {}
|
||||||
/// report files that can be embedded with the lyx file
|
/// report files that can be embedded with the lyx file
|
||||||
virtual void registerEmbeddedFiles(Buffer const &, EmbeddedFileList &) const {}
|
virtual void registerEmbeddedFiles(Buffer const &, EmbeddedFileList &) const {}
|
||||||
/// use embedded or external file after the embedding status of a file is changed
|
/// use embedded or external file after the embedding status of a file is changed
|
||||||
|
@ -115,7 +115,7 @@ void InsetCaption::setCustomLabel(docstring const & label)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetCaption::addToToc(TocList & toclist, Buffer const & buf,
|
void InsetCaption::addToToc(Buffer const & buf,
|
||||||
ParConstIterator const & cpit) const
|
ParConstIterator const & cpit) const
|
||||||
{
|
{
|
||||||
if (type_.empty())
|
if (type_.empty())
|
||||||
@ -124,7 +124,7 @@ void InsetCaption::addToToc(TocList & toclist, Buffer const & buf,
|
|||||||
ParConstIterator pit = cpit;
|
ParConstIterator pit = cpit;
|
||||||
pit.push_back(*this);
|
pit.push_back(*this);
|
||||||
|
|
||||||
Toc & toc = toclist[type_];
|
Toc & toc = buf.tocBackend().toc(type_);
|
||||||
docstring const str = full_label_ + ". " + pit->asString(buf, false);
|
docstring const str = full_label_ + ". " + pit->asString(buf, false);
|
||||||
toc.push_back(TocItem(pit, 0, str));
|
toc.push_back(TocItem(pit, 0, str));
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ public:
|
|||||||
///
|
///
|
||||||
void setCustomLabel(docstring const & label);
|
void setCustomLabel(docstring const & label);
|
||||||
///
|
///
|
||||||
void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
|
void addToToc(Buffer const &, ParConstIterator const &) const;
|
||||||
///
|
///
|
||||||
virtual bool forceEmptyLayout() const { return true; }
|
virtual bool forceEmptyLayout() const { return true; }
|
||||||
/// Captions don't accept alignment, spacing, etc.
|
/// Captions don't accept alignment, spacing, etc.
|
||||||
|
@ -75,13 +75,13 @@ void InsetFoot::updateLabels(Buffer const & buf, ParIterator const & it)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetFoot::addToToc(TocList & toclist, Buffer const & buf,
|
void InsetFoot::addToToc(Buffer const & buf,
|
||||||
ParConstIterator const & cpit) const
|
ParConstIterator const & cpit) const
|
||||||
{
|
{
|
||||||
ParConstIterator pit = cpit;
|
ParConstIterator pit = cpit;
|
||||||
pit.push_back(*this);
|
pit.push_back(*this);
|
||||||
|
|
||||||
Toc & toc = toclist["footnote"];
|
Toc & toc = buf.tocBackend().toc("footnote");
|
||||||
// FIXME: we probably want the footnote number too.
|
// FIXME: we probably want the footnote number too.
|
||||||
docstring str;
|
docstring str;
|
||||||
str = getNewLabel(str);
|
str = getNewLabel(str);
|
||||||
|
@ -43,7 +43,7 @@ public:
|
|||||||
/// Update the counters of this inset and of its contents
|
/// Update the counters of this inset and of its contents
|
||||||
void updateLabels(Buffer const &, ParIterator const &);
|
void updateLabels(Buffer const &, ParIterator const &);
|
||||||
///
|
///
|
||||||
void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
|
void addToToc(Buffer const &, ParConstIterator const &) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
InsetFoot(InsetFoot const &);
|
InsetFoot(InsetFoot const &);
|
||||||
|
@ -853,7 +853,7 @@ void InsetInclude::addPreview(graphics::PreviewLoader & ploader) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetInclude::addToToc(TocList & toclist, Buffer const & buffer,
|
void InsetInclude::addToToc(Buffer const & buffer,
|
||||||
ParConstIterator const & cpit) const
|
ParConstIterator const & cpit) const
|
||||||
{
|
{
|
||||||
if (isListings(params())) {
|
if (isListings(params())) {
|
||||||
@ -861,7 +861,7 @@ void InsetInclude::addToToc(TocList & toclist, Buffer const & buffer,
|
|||||||
string caption = p.getParamValue("caption");
|
string caption = p.getParamValue("caption");
|
||||||
if (caption.empty())
|
if (caption.empty())
|
||||||
return;
|
return;
|
||||||
Toc & toc = toclist["listing"];
|
Toc & toc = buffer.tocBackend().toc("listing");
|
||||||
docstring const str = convert<docstring>(toc.size() + 1)
|
docstring const str = convert<docstring>(toc.size() + 1)
|
||||||
+ ". " + from_utf8(caption);
|
+ ". " + from_utf8(caption);
|
||||||
ParConstIterator pit = cpit;
|
ParConstIterator pit = cpit;
|
||||||
@ -873,6 +873,7 @@ void InsetInclude::addToToc(TocList & toclist, Buffer const & buffer,
|
|||||||
if (!childbuffer)
|
if (!childbuffer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
TocList & toclist = buffer.tocBackend().tocs();
|
||||||
TocList const & childtoclist = childbuffer->tocBackend().tocs();
|
TocList const & childtoclist = childbuffer->tocBackend().tocs();
|
||||||
TocList::const_iterator it = childtoclist.begin();
|
TocList::const_iterator it = childtoclist.begin();
|
||||||
TocList::const_iterator const end = childtoclist.end();
|
TocList::const_iterator const end = childtoclist.end();
|
||||||
|
@ -88,7 +88,7 @@ public:
|
|||||||
///
|
///
|
||||||
void addPreview(graphics::PreviewLoader &) const;
|
void addPreview(graphics::PreviewLoader &) const;
|
||||||
///
|
///
|
||||||
void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
|
void addToToc(Buffer const &, ParConstIterator const &) const;
|
||||||
///
|
///
|
||||||
void updateLabels(Buffer const & buffer, ParIterator const &);
|
void updateLabels(Buffer const & buffer, ParIterator const &);
|
||||||
/// child document can be embedded
|
/// child document can be embedded
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
#include "InsetIndex.h"
|
#include "InsetIndex.h"
|
||||||
|
|
||||||
|
#include "Buffer.h"
|
||||||
#include "DispatchResult.h"
|
#include "DispatchResult.h"
|
||||||
#include "FuncRequest.h"
|
#include "FuncRequest.h"
|
||||||
#include "FuncStatus.h"
|
#include "FuncStatus.h"
|
||||||
@ -61,13 +62,13 @@ void InsetIndex::write(Buffer const & buf, ostream & os) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetIndex::addToToc(TocList & toclist, Buffer const & buf,
|
void InsetIndex::addToToc(Buffer const & buf,
|
||||||
ParConstIterator const & cpit) const
|
ParConstIterator const & cpit) const
|
||||||
{
|
{
|
||||||
ParConstIterator pit = cpit;
|
ParConstIterator pit = cpit;
|
||||||
pit.push_back(*this);
|
pit.push_back(*this);
|
||||||
|
|
||||||
Toc & toc = toclist["index"];
|
Toc & toc = buf.tocBackend().toc("index");
|
||||||
docstring str;
|
docstring str;
|
||||||
str = getNewLabel(str);
|
str = getNewLabel(str);
|
||||||
toc.push_back(TocItem(pit, 0, str));
|
toc.push_back(TocItem(pit, 0, str));
|
||||||
|
@ -43,7 +43,7 @@ public:
|
|||||||
/// should paragraph indendation be omitted in any case?
|
/// should paragraph indendation be omitted in any case?
|
||||||
bool neverIndent(Buffer const &) const { return true; }
|
bool neverIndent(Buffer const &) const { return true; }
|
||||||
///
|
///
|
||||||
void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
|
void addToToc(Buffer const &, ParConstIterator const &) const;
|
||||||
private:
|
private:
|
||||||
///
|
///
|
||||||
virtual Inset * clone() const;
|
virtual Inset * clone() const;
|
||||||
|
@ -79,13 +79,13 @@ int InsetMarginal::docbook(Buffer const & buf, odocstream & os,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetMarginal::addToToc(TocList & toclist, Buffer const &/* buf*/,
|
void InsetMarginal::addToToc(Buffer const & buf,
|
||||||
ParConstIterator const & cpit) const
|
ParConstIterator const & cpit) const
|
||||||
{
|
{
|
||||||
ParConstIterator pit = cpit;
|
ParConstIterator pit = cpit;
|
||||||
pit.push_back(*this);
|
pit.push_back(*this);
|
||||||
|
|
||||||
Toc & toc = toclist["marginalnote"];
|
Toc & toc = buf.tocBackend().toc("marginalnote");
|
||||||
docstring str;
|
docstring str;
|
||||||
str = getNewLabel(str);
|
str = getNewLabel(str);
|
||||||
toc.push_back(TocItem(pit, 0, str));
|
toc.push_back(TocItem(pit, 0, str));
|
||||||
|
@ -42,7 +42,7 @@ public:
|
|||||||
///
|
///
|
||||||
virtual docstring const editMessage() const;
|
virtual docstring const editMessage() const;
|
||||||
///
|
///
|
||||||
void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
|
void addToToc(Buffer const &, ParConstIterator const &) const;
|
||||||
protected:
|
protected:
|
||||||
InsetMarginal(InsetMarginal const &);
|
InsetMarginal(InsetMarginal const &);
|
||||||
private:
|
private:
|
||||||
|
@ -220,13 +220,13 @@ void InsetNote::updateLabels(Buffer const & buf, ParIterator const & it)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetNote::addToToc(TocList & toclist, Buffer const & /*buf*/,
|
void InsetNote::addToToc(Buffer const & buf,
|
||||||
ParConstIterator const & cpit) const
|
ParConstIterator const & cpit) const
|
||||||
{
|
{
|
||||||
ParConstIterator pit = cpit;
|
ParConstIterator pit = cpit;
|
||||||
pit.push_back(*this);
|
pit.push_back(*this);
|
||||||
|
|
||||||
Toc & toc = toclist["note"];
|
Toc & toc = buf.tocBackend().toc("note");
|
||||||
docstring str;
|
docstring str;
|
||||||
str = notetranslator_loc().find(params_.type) + from_ascii(": ")
|
str = notetranslator_loc().find(params_.type) + from_ascii(": ")
|
||||||
+ getNewLabel(str);
|
+ getNewLabel(str);
|
||||||
|
@ -78,7 +78,7 @@ public:
|
|||||||
// Update the counters of this inset and of its contents
|
// Update the counters of this inset and of its contents
|
||||||
virtual void updateLabels(Buffer const &, ParIterator const &);
|
virtual void updateLabels(Buffer const &, ParIterator const &);
|
||||||
///
|
///
|
||||||
void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
|
void addToToc(Buffer const &, ParConstIterator const &) const;
|
||||||
protected:
|
protected:
|
||||||
InsetNote(InsetNote const &);
|
InsetNote(InsetNote const &);
|
||||||
///
|
///
|
||||||
|
@ -194,7 +194,7 @@ InsetMathHull & InsetMathHull::operator=(InsetMathHull const & other)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InsetMathHull::addToToc(TocList & toclist, Buffer const & buf,
|
void InsetMathHull::addToToc(Buffer const & buf,
|
||||||
ParConstIterator const & pit) const
|
ParConstIterator const & pit) const
|
||||||
{
|
{
|
||||||
vector<docstring> labels;
|
vector<docstring> labels;
|
||||||
@ -202,7 +202,7 @@ void InsetMathHull::addToToc(TocList & toclist, Buffer const & buf,
|
|||||||
if (labels.empty())
|
if (labels.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Toc & toc = toclist["equation"];
|
Toc & toc = buf.tocBackend().toc("equation");
|
||||||
toc.push_back(TocItem(pit, 0, labels[0]));
|
toc.push_back(TocItem(pit, 0, labels[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ public:
|
|||||||
///
|
///
|
||||||
~InsetMathHull();
|
~InsetMathHull();
|
||||||
///
|
///
|
||||||
void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
|
void addToToc(Buffer const &, ParConstIterator const &) const;
|
||||||
///
|
///
|
||||||
InsetMathHull & operator=(InsetMathHull const &);
|
InsetMathHull & operator=(InsetMathHull const &);
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user