2 * This file is part of LyX, the document processor.
3 * Licence details can be found in the file COPYING.
6 * \author Lars Gullik Bjønnes
8 * Full author contact details are available in file CREDITS.
15 #include "pariterator.h"
17 #include "ParagraphList_fwd.h"
18 #include "paragraph.h"
21 #include "insets/inset.h"
29 ParIterator::ParIterator(DocumentIterator const & cur) : DocumentIterator(cur)
33 ParIterator par_iterator_begin(InsetBase & inset)
35 return ParIterator(doc_iterator_begin(inset));
39 ParIterator par_iterator_end(InsetBase & inset)
41 return ParIterator(doc_iterator_end(inset));
45 ParIterator::ParIterator(ParIterator const & pi)
46 : DocumentIterator(DocumentIterator(pi))
50 ParIterator & ParIterator::operator++()
57 ParIterator & ParIterator::operator--()
59 // DocumentIterator::backwardPar();
64 Paragraph & ParIterator::operator*() const
66 return text()->getPar(par());
70 par_type ParIterator::pit() const
76 Paragraph * ParIterator::operator->() const
78 return &text()->getPar(par());
82 par_type ParIterator::outerPar() const
84 return bottom().par();
88 ParagraphList & ParIterator::plist() const
90 return text()->paragraphs();
94 bool operator==(ParIterator const & iter1, ParIterator const & iter2)
96 return DocumentIterator(iter1) == DocumentIterator(iter2);
100 bool operator!=(ParIterator const & iter1, ParIterator const & iter2)
102 return !(iter1 == iter2);
106 makeDocumentIterator(ParIterator const & par, lyx::pos_type pos)
108 DocumentIterator dit(par);
118 ParConstIterator::ParConstIterator(DocumentIterator const & dit)
119 : DocumentIterator(dit)
123 ParConstIterator::ParConstIterator(ParConstIterator const & pi)
124 : DocumentIterator(DocumentIterator(pi))
128 ParConstIterator & ParConstIterator::operator++()
130 DocumentIterator::forwardPar();
135 Paragraph const & ParConstIterator::operator*() const
137 return text()->getPar(par());
141 Paragraph const * ParConstIterator::operator->() const
143 return &text()->getPar(par());
147 ParagraphList const & ParConstIterator::plist() const
149 return text()->paragraphs();
153 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2)
155 return DocumentIterator(iter1) == DocumentIterator(iter2);
159 bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2)
161 return !(iter1 == iter2);
165 #warning const correctness!
167 ParConstIterator par_const_iterator_begin(InsetBase const & inset)
169 return ParConstIterator(doc_iterator_begin(const_cast<InsetBase &>(inset)));
173 ParConstIterator par_const_iterator_end(InsetBase const & inset)
175 return ParConstIterator(doc_iterator_end(const_cast<InsetBase &>(inset)));