]> git.lyx.org Git - lyx.git/blob - src/pariterator.C
simple ws changes only
[lyx.git] / src / pariterator.C
1 /* \file pariterator.C
2  * This file is part of LyX, the document processor.
3  * Licence details can be found in the file COPYING.
4  *
5  * \author unknown
6  * \author Lars Gullik Bjønnes
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #include <config.h>
12
13 #include "pariterator.h"
14
15 #include "ParagraphList_fwd.h"
16 #include "paragraph.h"
17 #include "lyxtext.h"
18
19 #include "insets/inset.h"
20
21 using lyx::par_type;
22
23
24 ///
25 /// ParIterator
26 ///
27
28 ParIterator::ParIterator(DocIterator const & cur) : DocIterator(cur)
29 {}
30
31
32 ParIterator par_iterator_begin(InsetBase & inset)
33 {
34         return ParIterator(doc_iterator_begin(inset));
35 }
36
37
38 ParIterator par_iterator_end(InsetBase & inset)
39 {
40         return ParIterator(doc_iterator_end(inset));
41 }
42
43
44 ParIterator::ParIterator(ParIterator const & pi)
45         : DocIterator(DocIterator(pi))
46 {}
47
48
49 ParIterator & ParIterator::operator++()
50 {
51         forwardPar();
52         return *this;
53 }
54
55
56 ParIterator & ParIterator::operator--()
57 {
58 #warning look here
59 //      DocIterator::backwardPar();
60         return *this;
61 }
62
63
64 Paragraph & ParIterator::operator*() const
65 {
66         return text()->getPar(par());
67 }
68
69
70 par_type ParIterator::pit() const
71 {
72         return par();
73 }
74
75
76 Paragraph * ParIterator::operator->() const
77 {
78         return &text()->getPar(par());
79 }
80
81
82 par_type ParIterator::outerPar() const
83 {
84         return bottom().par();
85 }
86
87
88 ParagraphList & ParIterator::plist() const
89 {
90         return text()->paragraphs();
91 }
92
93
94 bool operator==(ParIterator const & iter1, ParIterator const & iter2)
95 {
96         return DocIterator(iter1) == DocIterator(iter2);
97 }
98
99
100 bool operator!=(ParIterator const & iter1, ParIterator const & iter2)
101 {
102         return !(iter1 == iter2);
103 }
104
105
106 DocIterator makeDocIterator(ParIterator const & par, lyx::pos_type pos)
107 {
108         DocIterator dit(par);
109         dit.pos() = pos;
110         return dit;
111 }
112
113
114
115 ///
116 /// ParConstIterator
117 ///
118
119
120 ParConstIterator::ParConstIterator(DocIterator const & dit)
121         : DocIterator(dit)
122 {}
123
124
125 ParConstIterator::ParConstIterator(ParConstIterator const & pi)
126         : DocIterator(DocIterator(pi))
127 {}
128
129
130 ParConstIterator & ParConstIterator::operator++()
131 {
132         DocIterator::forwardPar();
133         return *this;
134 }
135
136
137 Paragraph const & ParConstIterator::operator*() const
138 {
139         return text()->getPar(par());
140 }
141
142
143 Paragraph const * ParConstIterator::operator->() const
144 {
145         return &text()->getPar(par());
146 }
147
148
149 ParagraphList const & ParConstIterator::plist() const
150 {
151         return text()->paragraphs();
152 }
153
154
155 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2)
156 {
157         return DocIterator(iter1) == DocIterator(iter2);
158 }
159
160
161 bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2)
162 {
163         return !(iter1 == iter2);
164 }
165
166
167 #warning const correctness!
168
169 ParConstIterator par_const_iterator_begin(InsetBase const & inset)
170 {
171         return ParConstIterator(doc_iterator_begin(const_cast<InsetBase &>(inset)));
172 }
173
174
175 ParConstIterator par_const_iterator_end(InsetBase const & inset)
176 {
177         return ParConstIterator(doc_iterator_end(const_cast<InsetBase &>(inset)));
178 }