]> git.lyx.org Git - lyx.git/blobdiff - src/pariterator.C
add config.h
[lyx.git] / src / pariterator.C
index 7be725d298d12d3d3399ae8ffd2d915d507f5d48..90a3a82b2f12bf232878d1a2e7da94eb02aaf3ff 100644 (file)
@@ -8,25 +8,23 @@
  * Full author contact details are available in file CREDITS.
  */
 
-
 #include <config.h>
 
-
 #include "pariterator.h"
 
-#include "ParagraphList_fwd.h"
 #include "paragraph.h"
 #include "lyxtext.h"
 
 #include "insets/inset.h"
 
-using lyx::par_type;
+
+namespace lyx {
 
 ///
 /// ParIterator
 ///
 
-ParIterator::ParIterator(DocumentIterator const & cur) : DocumentIterator(cur)
+ParIterator::ParIterator(DocIterator const & cur) : DocIterator(cur)
 {}
 
 
@@ -43,7 +41,7 @@ ParIterator par_iterator_end(InsetBase & inset)
 
 
 ParIterator::ParIterator(ParIterator const & pi)
-       : DocumentIterator(DocumentIterator(pi))
+       : DocIterator(DocIterator(pi))
 {}
 
 
@@ -54,46 +52,62 @@ ParIterator & ParIterator::operator++()
 }
 
 
+ParIterator ParIterator::operator++(int)
+{
+       ParIterator tmp(*this);
+       forwardPar();
+       return tmp;
+}
+
+
+#if 0
+// Unused member functions. Also having this makes ParIterator not be
+// an forward iterator anymore. So unless we change that, this function
+// should not be compiled/used. (Lgb)
 ParIterator & ParIterator::operator--()
 {
-//     DocumentIterator::backwardPar();
+#ifdef WITH_WARNINGS
+#warning look here
+#endif
+//     DocIterator::backwardPar();
        return *this;
 }
+#endif
 
 
 Paragraph & ParIterator::operator*() const
 {
-       return text()->getPar(par());
+       return const_cast<Paragraph&>(text()->getPar(pit()));
 }
 
 
-par_type ParIterator::pit() const
+pit_type ParIterator::pit() const
 {
-       return par();
+       return DocIterator::pit();
 }
 
 
 Paragraph * ParIterator::operator->() const
 {
-       return &text()->getPar(par());
+       return const_cast<Paragraph*>(&text()->getPar(pit()));
 }
 
 
-par_type ParIterator::outerPar() const
+pit_type ParIterator::outerPar() const
 {
-       return bottom().par();
+       return bottom().pit();
 }
 
 
 ParagraphList & ParIterator::plist() const
 {
-       return text()->paragraphs();
+       return const_cast<ParagraphList&>(text()->paragraphs());
 }
 
 
 bool operator==(ParIterator const & iter1, ParIterator const & iter2)
 {
-       return DocumentIterator(iter1) == DocumentIterator(iter2);
+       return DocIterator(iter1) == DocIterator(iter2);
 }
 
 
@@ -102,45 +116,47 @@ bool operator!=(ParIterator const & iter1, ParIterator const & iter2)
        return !(iter1 == iter2);
 }
 
-DocumentIterator
-makeDocumentIterator(ParIterator const & par, lyx::pos_type pos)
+
+DocIterator makeDocIterator(ParIterator const & par, pos_type pos)
 {
-       DocumentIterator dit(par);
+       DocIterator dit(par);
        dit.pos() = pos;
        return dit;
 }
 
+
+
 ///
 /// ParConstIterator
 ///
 
 
-ParConstIterator::ParConstIterator(DocumentIterator const & dit)
-       : DocumentIterator(dit)
+ParConstIterator::ParConstIterator(DocIterator const & dit)
+       : DocIterator(dit)
 {}
 
 
 ParConstIterator::ParConstIterator(ParConstIterator const & pi)
-       : DocumentIterator(DocumentIterator(pi))
+       : DocIterator(DocIterator(pi))
 {}
 
 
 ParConstIterator & ParConstIterator::operator++()
 {
-       DocumentIterator::forwardPar();
+       DocIterator::forwardPar();
        return *this;
 }
 
 
 Paragraph const & ParConstIterator::operator*() const
 {
-       return text()->getPar(par());
+       return text()->getPar(pit());
 }
 
 
 Paragraph const * ParConstIterator::operator->() const
 {
-       return &text()->getPar(par());
+       return &text()->getPar(pit());
 }
 
 
@@ -152,7 +168,7 @@ ParagraphList const & ParConstIterator::plist() const
 
 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2)
 {
-       return DocumentIterator(iter1) == DocumentIterator(iter2);
+       return DocIterator(iter1) == DocIterator(iter2);
 }
 
 
@@ -162,7 +178,9 @@ bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2)
 }
 
 
+#ifdef WITH_WARNINGS
 #warning const correctness!
+#endif
 
 ParConstIterator par_const_iterator_begin(InsetBase const & inset)
 {
@@ -174,3 +192,6 @@ ParConstIterator par_const_iterator_end(InsetBase const & inset)
 {
        return ParConstIterator(doc_iterator_end(const_cast<InsetBase &>(inset)));
 }
+
+
+} // namespace lyx