Author: rgheck
Date: Wed Jan 12 23:23:27 2011
New Revision: 37192
URL: http://www.lyx.org/trac/changeset/37192
Log:
Inset::addToToc() can and should be const. It wasn't, I take it, because
of things like:
pit.push_back(CursorSlice(*this));
which I've had to change to:
pit.push_back(CursorSlice(const_cast<InsetCaption &>(*this)));
and similarly in a few other places.
If anyone thinks we should instead have:
explicit CursorSlice(Inset const &);
then we can also do that.
Modified:
lyx-devel/trunk/src/insets/Inset.h
lyx-devel/trunk/src/insets/InsetBranch.cpp
lyx-devel/trunk/src/insets/InsetBranch.h
lyx-devel/trunk/src/insets/InsetCaption.cpp
lyx-devel/trunk/src/insets/InsetCaption.h
lyx-devel/trunk/src/insets/InsetCitation.cpp
lyx-devel/trunk/src/insets/InsetCitation.h
lyx-devel/trunk/src/insets/InsetFoot.cpp
lyx-devel/trunk/src/insets/InsetFoot.h
lyx-devel/trunk/src/insets/InsetGraphics.cpp
lyx-devel/trunk/src/insets/InsetGraphics.h
lyx-devel/trunk/src/insets/InsetInclude.cpp
lyx-devel/trunk/src/insets/InsetInclude.h
lyx-devel/trunk/src/insets/InsetIndex.cpp
lyx-devel/trunk/src/insets/InsetIndex.h
lyx-devel/trunk/src/insets/InsetLabel.cpp
lyx-devel/trunk/src/insets/InsetLabel.h
lyx-devel/trunk/src/insets/InsetMarginal.cpp
lyx-devel/trunk/src/insets/InsetMarginal.h
lyx-devel/trunk/src/insets/InsetNote.cpp
lyx-devel/trunk/src/insets/InsetNote.h
lyx-devel/trunk/src/insets/InsetRef.cpp
lyx-devel/trunk/src/insets/InsetRef.h
lyx-devel/trunk/src/insets/InsetTabular.cpp
lyx-devel/trunk/src/insets/InsetTabular.h
lyx-devel/trunk/src/insets/InsetText.cpp
lyx-devel/trunk/src/insets/InsetText.h
lyx-devel/trunk/src/mathed/InsetMathHull.cpp
lyx-devel/trunk/src/mathed/InsetMathHull.h
Modified: lyx-devel/trunk/src/insets/Inset.h
==============================================================================
--- lyx-devel/trunk/src/insets/Inset.h Wed Jan 12 23:03:15 2011 (r37191)
+++ lyx-devel/trunk/src/insets/Inset.h Wed Jan 12 23:23:27 2011 (r37192)
@@ -492,8 +492,9 @@
virtual void initUnicodeMath() const {}
/// Add an entry to the TocList
- /// pit is the ParConstIterator of the paragraph containing the inset
- virtual void addToToc(DocIterator const &) {}
+ /// Pass a DocIterator that points at the paragraph containing
+ /// the inset
+ virtual void addToToc(DocIterator const &) const {}
/// Collect BibTeX information
virtual void collectBibKeys(InsetIterator const &) const {}
/// Update the counters of this inset and of its contents.
Modified: lyx-devel/trunk/src/insets/InsetBranch.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetBranch.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetBranch.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -294,10 +294,10 @@
}
-void InsetBranch::addToToc(DocIterator const & cpit)
+void InsetBranch::addToToc(DocIterator const & cpit) const
{
DocIterator pit = cpit;
- pit.push_back(CursorSlice(*this));
+ pit.push_back(CursorSlice(const_cast<InsetBranch &>(*this)));
Toc & toc = buffer().tocBackend().toc("branch");
docstring str = params_.branch + ": ";
Modified: lyx-devel/trunk/src/insets/InsetBranch.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetBranch.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetBranch.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -81,7 +81,7 @@
///
docstring contextMenuName() const;
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
InsetBranchParams const & params() const { return params_; }
///
Modified: lyx-devel/trunk/src/insets/InsetCaption.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetCaption.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetCaption.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -104,13 +104,13 @@
}
-void InsetCaption::addToToc(DocIterator const & cpit)
+void InsetCaption::addToToc(DocIterator const & cpit) const
{
if (type_.empty())
return;
DocIterator pit = cpit;
- pit.push_back(CursorSlice(*this));
+ pit.push_back(CursorSlice(const_cast<InsetCaption &>(*this)));
Toc & toc = buffer().tocBackend().toc(type_);
docstring str = full_label_ + ". ";
Modified: lyx-devel/trunk/src/insets/InsetCaption.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetCaption.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetCaption.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -77,7 +77,7 @@
///
void setCustomLabel(docstring const & label);
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
virtual bool forcePlainLayout(idx_type = 0) const { return true; }
/// Captions don't accept alignment, spacing, etc.
Modified: lyx-devel/trunk/src/insets/InsetCitation.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetCitation.cpp Wed Jan 12 23:03:15
2011 (r37191)
+++ lyx-devel/trunk/src/insets/InsetCitation.cpp Wed Jan 12 23:23:27
2011 (r37192)
@@ -481,7 +481,7 @@
}
-void InsetCitation::addToToc(DocIterator const & cpit)
+void InsetCitation::addToToc(DocIterator const & cpit) const
{
// NOTE
// XHTML output uses the TOC to collect the citations
Modified: lyx-devel/trunk/src/insets/InsetCitation.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetCitation.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetCitation.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -59,7 +59,7 @@
///
void updateBuffer(ParIterator const & it, UpdateType);
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
docstring contextMenuName() const;
//@}
Modified: lyx-devel/trunk/src/insets/InsetFoot.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetFoot.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetFoot.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -61,10 +61,10 @@
}
-void InsetFoot::addToToc(DocIterator const & cpit)
+void InsetFoot::addToToc(DocIterator const & cpit) const
{
DocIterator pit = cpit;
- pit.push_back(CursorSlice(*this));
+ pit.push_back(CursorSlice(const_cast<InsetFoot &>(*this)));
Toc & toc = buffer().tocBackend().toc("footnote");
docstring str = custom_label_ + ": ";
Modified: lyx-devel/trunk/src/insets/InsetFoot.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetFoot.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetFoot.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -40,7 +40,7 @@
/// Update the counters of this inset and of its contents
void updateBuffer(ParIterator const &, UpdateType);
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
docstring toolTip(BufferView const & bv, int x, int y) const;
///
Modified: lyx-devel/trunk/src/insets/InsetGraphics.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetGraphics.cpp Wed Jan 12 23:03:15
2011 (r37191)
+++ lyx-devel/trunk/src/insets/InsetGraphics.cpp Wed Jan 12 23:23:27
2011 (r37192)
@@ -1031,7 +1031,7 @@
}
-void InsetGraphics::addToToc(DocIterator const & cpit)
+void InsetGraphics::addToToc(DocIterator const & cpit) const
{
TocBackend & backend = buffer().tocBackend();
Modified: lyx-devel/trunk/src/insets/InsetGraphics.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetGraphics.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetGraphics.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -96,7 +96,7 @@
///
bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
docstring contextMenuName() const;
/// Force inset into LTR environment if surroundings are RTL
Modified: lyx-devel/trunk/src/insets/InsetInclude.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetInclude.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetInclude.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -998,7 +998,7 @@
}
-void InsetInclude::addToToc(DocIterator const & cpit)
+void InsetInclude::addToToc(DocIterator const & cpit) const
{
TocBackend & backend = buffer().tocBackend();
Modified: lyx-devel/trunk/src/insets/InsetInclude.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetInclude.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetInclude.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -99,7 +99,7 @@
///
void addPreview(DocIterator const &, graphics::PreviewLoader &) const;
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
void updateBuffer(ParIterator const &, UpdateType);
///
Modified: lyx-devel/trunk/src/insets/InsetIndex.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetIndex.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetIndex.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -356,10 +356,10 @@
}
-void InsetIndex::addToToc(DocIterator const & cpit)
+void InsetIndex::addToToc(DocIterator const & cpit) const
{
DocIterator pit = cpit;
- pit.push_back(CursorSlice(*this));
+ pit.push_back(CursorSlice(const_cast<InsetIndex &>(*this)));
docstring str;
text().forToc(str, TOC_ENTRY_LENGTH);
buffer().tocBackend().toc("index").push_back(TocItem(pit, 0, str));
Modified: lyx-devel/trunk/src/insets/InsetIndex.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetIndex.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetIndex.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -71,7 +71,7 @@
/// should paragraph indendation be omitted in any case?
bool neverIndent() const { return true; }
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
docstring toolTip(BufferView const & bv, int x, int y) const;
///
Modified: lyx-devel/trunk/src/insets/InsetLabel.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetLabel.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetLabel.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -142,7 +142,7 @@
}
-void InsetLabel::addToToc(DocIterator const & cpit)
+void InsetLabel::addToToc(DocIterator const & cpit) const
{
docstring const & label = getParam("name");
Toc & toc = buffer().tocBackend().toc("label");
Modified: lyx-devel/trunk/src/insets/InsetLabel.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetLabel.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetLabel.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -53,7 +53,7 @@
///
void updateBuffer(ParIterator const & it, UpdateType);
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
//@}
/// \name Static public methods obligated for InsetCommand derived
classes
Modified: lyx-devel/trunk/src/insets/InsetMarginal.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetMarginal.cpp Wed Jan 12 23:03:15
2011 (r37191)
+++ lyx-devel/trunk/src/insets/InsetMarginal.cpp Wed Jan 12 23:23:27
2011 (r37192)
@@ -51,10 +51,10 @@
}
-void InsetMarginal::addToToc(DocIterator const & cpit)
+void InsetMarginal::addToToc(DocIterator const & cpit) const
{
DocIterator pit = cpit;
- pit.push_back(CursorSlice(*this));
+ pit.push_back(CursorSlice(const_cast<InsetMarginal &>(*this)));
Toc & toc = buffer().tocBackend().toc("marginalnote");
docstring str;
Modified: lyx-devel/trunk/src/insets/InsetMarginal.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetMarginal.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetMarginal.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -35,7 +35,7 @@
///
int docbook(odocstream &, OutputParams const & runparams) const;
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
private:
///
Inset * clone() const { return new InsetMarginal(*this); }
Modified: lyx-devel/trunk/src/insets/InsetNote.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetNote.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetNote.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -195,10 +195,10 @@
}
-void InsetNote::addToToc(DocIterator const & cpit)
+void InsetNote::addToToc(DocIterator const & cpit) const
{
DocIterator pit = cpit;
- pit.push_back(CursorSlice(*this));
+ pit.push_back(CursorSlice(const_cast<InsetNote &>(*this)));
Toc & toc = buffer().tocBackend().toc("note");
InsetLayout const & il = getLayout();
Modified: lyx-devel/trunk/src/insets/InsetNote.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetNote.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetNote.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -91,7 +91,7 @@
///
bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
void doDispatch(Cursor & cur, FuncRequest & cmd);
///
Modified: lyx-devel/trunk/src/insets/InsetRef.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetRef.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetRef.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -280,7 +280,7 @@
}
-void InsetRef::addToToc(DocIterator const & cpit)
+void InsetRef::addToToc(DocIterator const & cpit) const
{
docstring const & label = getParam("reference");
if (buffer().insetLabel(label))
Modified: lyx-devel/trunk/src/insets/InsetRef.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetRef.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetRef.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -67,7 +67,7 @@
///
void updateBuffer(ParIterator const & it, UpdateType);
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
bool forceLTR() const { return true; }
//@}
Modified: lyx-devel/trunk/src/insets/InsetTabular.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetTabular.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetTabular.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -3736,7 +3736,7 @@
}
-void InsetTabular::addToToc(DocIterator const & cpit)
+void InsetTabular::addToToc(DocIterator const & cpit) const
{
DocIterator dit = cpit;
dit.forwardPos();
Modified: lyx-devel/trunk/src/insets/InsetTabular.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetTabular.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetTabular.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -863,7 +863,7 @@
/// Update the counters of this inset and of its contents
void updateBuffer(ParIterator const &, UpdateType);
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
bool completionSupported(Cursor const &) const;
Modified: lyx-devel/trunk/src/insets/InsetText.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetText.cpp Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetText.cpp Wed Jan 12 23:23:27 2011
(r37192)
@@ -682,10 +682,10 @@
}
-void InsetText::addToToc(DocIterator const & cdit)
+void InsetText::addToToc(DocIterator const & cdit) const
{
DocIterator dit = cdit;
- dit.push_back(CursorSlice(*this));
+ dit.push_back(CursorSlice(const_cast<InsetText &>(*this)));
Toc & toc = buffer().tocBackend().toc("tableofcontents");
BufferParams const & bufparams = buffer_->params();
@@ -693,13 +693,13 @@
// For each paragraph, traverse its insets and let them add
// their toc items
- ParagraphList & pars = paragraphs();
+ ParagraphList const & pars = paragraphs();
pit_type pend = paragraphs().size();
for (pit_type pit = 0; pit != pend; ++pit) {
Paragraph const & par = pars[pit];
dit.pit() = pit;
// if we find an optarg, we'll save it for use later.
- InsetText * arginset = 0;
+ InsetText const * arginset = 0;
InsetList::const_iterator it = par.insetList().begin();
InsetList::const_iterator end = par.insetList().end();
for (; it != end; ++it) {
Modified: lyx-devel/trunk/src/insets/InsetText.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetText.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/insets/InsetText.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -168,7 +168,7 @@
///
void forToc(docstring &, size_t) const;
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
Inset * clone() const { return new InsetText(*this); }
///
Modified: lyx-devel/trunk/src/mathed/InsetMathHull.cpp
==============================================================================
--- lyx-devel/trunk/src/mathed/InsetMathHull.cpp Wed Jan 12 23:03:15
2011 (r37191)
+++ lyx-devel/trunk/src/mathed/InsetMathHull.cpp Wed Jan 12 23:23:27
2011 (r37192)
@@ -281,7 +281,7 @@
}
-void InsetMathHull::addToToc(DocIterator const & pit)
+void InsetMathHull::addToToc(DocIterator const & pit) const
{
if (!buffer_) {
//FIXME: buffer_ should be set at creation for this inset!
Problem is
Modified: lyx-devel/trunk/src/mathed/InsetMathHull.h
==============================================================================
--- lyx-devel/trunk/src/mathed/InsetMathHull.h Wed Jan 12 23:03:15 2011
(r37191)
+++ lyx-devel/trunk/src/mathed/InsetMathHull.h Wed Jan 12 23:23:27 2011
(r37192)
@@ -42,7 +42,7 @@
///
void updateBuffer(ParIterator const &, UpdateType);
///
- void addToToc(DocIterator const &);
+ void addToToc(DocIterator const &) const;
///
InsetMathHull & operator=(InsetMathHull const &);
///