]> git.lyx.org Git - features.git/commitdiff
new InsetIterator
authorAndré Pönitz <poenitz@gmx.net>
Sat, 27 Mar 2004 12:42:10 +0000 (12:42 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Sat, 27 Mar 2004 12:42:10 +0000 (12:42 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8543 a592a061-630c-0410-9148-cb99ea01b6c8

src/BufferView.C
src/BufferView_pimpl.C
src/Makefile.am

index a0b4084495f76ba853593da9be8fd6e6a1e24fee..633234ab43fc2611c60565d200490f12407b84ff 100644 (file)
@@ -24,6 +24,7 @@
 #include "debug.h"
 #include "funcrequest.h"
 #include "gettext.h"
+#include "insetiterator.h"
 #include "iterators.h"
 #include "language.h"
 #include "lyxlayout.h"
@@ -310,13 +311,12 @@ void BufferView::setCursorFromRow(int row)
 
 void BufferView::gotoLabel(string const & label)
 {
-       for (Buffer::inset_iterator it = buffer()->inset_iterator_begin();
-            it != buffer()->inset_iterator_end(); ++it) {
+       for (InsetIterator it(buffer()->inset()); it; ++it) {
                vector<string> labels;
                it->getLabelList(*buffer(), labels);
                if (find(labels.begin(),labels.end(),label) != labels.end()) {
                        cursor().clearSelection();
-                       text()->setCursor(cursor(), it.getPar(), it.getPos());
+                       text()->setCursor(cursor(), it.par(), it.pos());
                        cursor().resetAnchor();
                        update();
                        return;
index 76b745b48cd849c8c23bdb53063a8d32dbe4c8fa..24f6dba23075af43d0fc4eaab2c68b85ed0a2d36 100644 (file)
@@ -32,6 +32,7 @@
 #include "gettext.h"
 #include "intl.h"
 #include "iterators.h"
+#include "insetiterator.h"
 #include "lyx_cb.h" // added for Dispatch functions
 #include "lyx_main.h"
 #include "lyxfind.h"
@@ -722,8 +723,7 @@ InsetBase * BufferView::Pimpl::getInsetByCode(InsetBase::Code /*code*/)
 #warning FIXME
 #if 0
        Buffer * buf = bv_->buffer();
-       Buffer::inset_iterator beg = buf->inset_iterator_begin();
-       Buffer::inset_iterator end = buf->inset_iterator_end();
+       InsetIterator beg(buf->inset());
 
        bool cursor_par_seen = false;
 
@@ -731,19 +731,19 @@ InsetBase * BufferView::Pimpl::getInsetByCode(InsetBase::Code /*code*/)
        LyXText * = bv_->getLyXText();
        ParagraphList::iterator pit = text->getPar(cur.par());
 
-       for (; beg != end; ++beg) {
-               if (beg.getPar() == pit)
+       for (; beg; ++beg) {
+               if (beg.par() == pit)
                        cursor_par_seen = true;
                if (cursor_par_seen) {
-                       if (beg.getPar() == pit && beg.getPos() >= cur.pos())
+                       if (beg.par() == pit && beg.pos() >= cur.pos())
                                break;
                        if (beg.getPar() != pit)
                                break;
                }
        }
-       if (beg != end) {
+       if (beg) {
                // Now find the first inset that matches code.
-               for (; beg != end; ++beg) {
+               for (; beg; ++beg) {
                        if (beg->lyxCode() == code)
                                return &(*beg);
                }
index a3dca7310d803c6104a4e4cf7d3823647047a567..3575c6ff09489d182d3c33c602bff3d6e202fd11 100644 (file)
@@ -167,6 +167,8 @@ lyx_SOURCES = \
        intl.h \
        iterators.C \
        iterators.h \
+       insetiterator.C \
+       insetiterator.h \
        kbmap.C \
        kbmap.h \
        kbsequence.C \