3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
7 * \author Lars Gullik Bjønnes
9 * Full author contact details are available in file CREDITS.
15 #include "ParagraphList_fwd.h"
16 #include "support/types.h"
18 #include <boost/scoped_ptr.hpp>
30 ParIterator(ParagraphList::iterator pit, ParagraphList const & pl);
34 ParIterator(ParIterator const &);
36 ParIterator(PosIterator const &);
38 void operator=(ParIterator const &);
40 ParIterator & operator++();
42 Paragraph & operator*() const;
44 ParagraphList::iterator operator->() const;
45 /// This gives us the top-most parent paragraph
46 ParagraphList::iterator outerPar() const;
48 ParagraphList::iterator pit() const;
50 ParagraphList & plist() const;
51 /// returns 'innermost' LyXText
52 LyXText * text(BufferView *) const;
53 /// returns innermost inset
54 InsetOld * inset() const;
55 /// returns index of cell in innermost inset
61 bool operator==(ParIterator const & iter1, ParIterator const & iter2);
63 void lockPath(BufferView *) const;
66 PosIterator asPosIterator(lyx::pos_type) const;
69 boost::scoped_ptr<Pimpl> pimpl_;
73 bool operator==(ParIterator const & iter1, ParIterator const & iter2);
76 bool operator!=(ParIterator const & iter1, ParIterator const & iter2);
79 class ParConstIterator {
82 ParConstIterator(ParagraphList::iterator pit, ParagraphList const & pl);
86 ParConstIterator(ParConstIterator const &);
88 ParConstIterator & operator++();
90 ParagraphList::const_iterator pit() const;
92 Paragraph const & operator*() const;
94 ParagraphList::const_iterator operator->() const;
96 ParagraphList const & plist() const;
102 bool operator==(ParConstIterator const & iter1,
103 ParConstIterator const & iter2);
107 boost::scoped_ptr<Pimpl> pimpl_;
110 bool operator==(ParConstIterator const & iter1,
111 ParConstIterator const & iter2);
113 bool operator!=(ParConstIterator const & iter1,
114 ParConstIterator const & iter2);