* Licence details can be found in the file COPYING.
*
* \author unknown
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#include "ParIterator.h"
#include "Paragraph.h"
-#include "LyXText.h"
+#include "Text.h"
-#include "insets/InsetBase.h"
+#include "insets/Inset.h"
namespace lyx {
-///
-/// ParIterator
-///
+//////////////////////////////////////////////////////////////////////////
+//
+// ParIterator
+//
+//////////////////////////////////////////////////////////////////////////
-ParIterator::ParIterator(DocIterator const & cur)
- : DocIterator(cur)
+ParIterator::ParIterator(DocIterator const & dit)
+ : DocIterator(dit)
{}
-ParIterator par_iterator_begin(InsetBase & inset)
-{
- return ParIterator(doc_iterator_begin(inset));
-}
+ParIterator::ParIterator(ParIterator const & pi)
+ : DocIterator(DocIterator(pi))
+{}
-ParIterator par_iterator_end(InsetBase & inset)
+ParIterator par_iterator_begin(Inset & inset)
{
- return ParIterator(doc_iterator_end(inset));
+ return ParIterator(doc_iterator_begin(&inset.buffer(), &inset));
}
-ParIterator::ParIterator(ParIterator const & pi)
- : DocIterator(DocIterator(pi))
-{}
+ParIterator par_iterator_end(Inset & inset)
+{
+ return ParIterator(doc_iterator_end(&inset.buffer(), &inset));
+}
ParIterator & ParIterator::operator++()
// should not be compiled/used. (Lgb)
ParIterator & ParIterator::operator--()
{
-#ifdef WITH_WARNINGS
-#warning look here
-#endif
+ // FIXME: look here
// DocIterator::backwardPar();
return *this;
}
}
-bool operator==(ParIterator const & iter1, ParIterator const & iter2)
-{
- return DocIterator(iter1) == DocIterator(iter2);
-}
-
-
-bool operator!=(ParIterator const & iter1, ParIterator const & iter2)
-{
- return !(iter1 == iter2);
-}
+//////////////////////////////////////////////////////////////////////////
+//
+// ParConstIterator
+//
+//////////////////////////////////////////////////////////////////////////
-DocIterator makeDocIterator(ParIterator const & par, pos_type pos)
-{
- DocIterator dit(par);
- dit.pos() = pos;
- return dit;
-}
-
-
-
-///
-/// ParConstIterator
-///
+ParConstIterator::ParConstIterator(Buffer const * buf)
+ : DocIterator(const_cast<Buffer *>(buf))
+{}
ParConstIterator::ParConstIterator(DocIterator const & dit)
{}
+void ParConstIterator::push_back(Inset const & inset)
+{
+ DocIterator::push_back(CursorSlice(const_cast<Inset &>(inset)));
+}
+
+
ParConstIterator & ParConstIterator::operator++()
{
DocIterator::forwardPar();
return text()->paragraphs();
}
-
+#if 0
bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2)
{
+ // FIXME: this makes two full copies!
return DocIterator(iter1) == DocIterator(iter2);
}
{
return !(iter1 == iter2);
}
-
-
-#ifdef WITH_WARNINGS
-#warning const correctness!
#endif
-ParConstIterator par_const_iterator_begin(InsetBase const & inset)
-{
- return ParConstIterator(doc_iterator_begin(const_cast<InsetBase &>(inset)));
-}
-
-
-ParConstIterator par_const_iterator_end(InsetBase const & inset)
-{
- return ParConstIterator(doc_iterator_end(const_cast<InsetBase &>(inset)));
-}
-
} // namespace lyx