]> git.lyx.org Git - features.git/blobdiff - src/paragraph.C
parlist-22-a.diff
[features.git] / src / paragraph.C
index 3b3b7fdf4bd8f11dc637e9fd50be6d3ca02f9671..20ced3064f5c3c1392f988e40e2d2a207272a7b1 100644 (file)
@@ -67,16 +67,10 @@ Inset * minibuffer_inset;
 } // namespace anon
 
 
-extern BufferView * current_view;
-
-
 Paragraph::Paragraph()
        : pimpl_(new Paragraph::Pimpl(this))
 {
-#ifndef NO_NEXT
-       next_ = 0;
-       previous_ = 0;
-#else
+#ifdef NO_STD_LIST
        next_par_ = 0;
        prev_par_ = 0;
 #endif
@@ -86,29 +80,26 @@ Paragraph::Paragraph()
 }
 
 
-Paragraph::Paragraph(Paragraph const & lp, bool same_ids)
-       : pimpl_(new Paragraph::Pimpl(*lp.pimpl_, this, same_ids))
+Paragraph::Paragraph(Paragraph const & lp)
+       : pimpl_(new Paragraph::Pimpl(*lp.pimpl_, this))
 {
        enumdepth = 0;
        itemdepth = 0;
-#ifndef NO_NEXT
-       next_     = 0;
-       previous_ = 0;
-#else
+#ifdef NO_STD_LIST
        next_par_ = 0;
        prev_par_ = 0;
 #endif
        // this is because of the dummy layout of the paragraphs that
        // follow footnotes
        layout_ = lp.layout();
+       buffer_ = lp.buffer_;
 
        // copy everything behind the break-position to the new paragraph
        insetlist = lp.insetlist;
        InsetList::iterator it = insetlist.begin();
        InsetList::iterator end = insetlist.end();
        for (; it != end; ++it) {
-               it.setInset(it.getInset()->clone(*current_view->buffer(),
-                                                same_ids));
+               it.setInset(it.getInset()->clone(**buffer_));
                // tell the new inset who is the boss now
                it.getInset()->parOwner(this);
        }
@@ -118,13 +109,6 @@ Paragraph::Paragraph(Paragraph const & lp, bool same_ids)
 // the destructor removes the new paragraph from the list
 Paragraph::~Paragraph()
 {
-#ifndef NO_NEXT
-       if (previous_)
-               previous_->next_ = next_;
-       if (next_)
-               next_->previous_ = previous_;
-#endif
-
        delete pimpl_;
        //
        //lyxerr << "Paragraph::paragraph_id = "
@@ -612,47 +596,6 @@ void Paragraph::setFont(pos_type pos, LyXFont const & font)
 }
 
 
-#ifndef NO_NEXT
-void Paragraph::next(Paragraph * p)
-{
-       next_ = p;
-}
-
-
-// This function is able to hide closed footnotes.
-Paragraph * Paragraph::next()
-{
-       return next_;
-}
-
-
-Paragraph const * Paragraph::next() const
-{
-       return next_;
-}
-
-
-void Paragraph::previous(Paragraph * p)
-{
-       previous_ = p;
-}
-
-
-// This function is able to hide closed footnotes.
-Paragraph * Paragraph::previous()
-{
-       return previous_;
-}
-
-
-// This function is able to hide closed footnotes.
-Paragraph const * Paragraph::previous() const
-{
-       return previous_;
-}
-#endif
-
-
 void Paragraph::makeSameLayout(Paragraph const & par)
 {
        layout(par.layout());
@@ -959,8 +902,8 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
                basefont = getLayoutFont(bparams, outerfont);
        }
 
-       bool fragile = runparams.fragile;
-       fragile |= style->needprotect;
+       bool moving_arg = runparams.moving_arg;
+       moving_arg |= style->needprotect;
 
        // Which font is currently active?
        LyXFont running_font(basefont);
@@ -978,7 +921,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
                        ++column;
                }
                if (!asdefault)
-                       column += startTeXParParams(bparams, os, fragile);
+                       column += startTeXParParams(bparams, os, moving_arg);
 
        }
 
@@ -1003,7 +946,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
 
                        if (!asdefault)
                                column += startTeXParParams(bparams, os,
-                                                           fragile);
+                                                           moving_arg);
                }
 
                value_type c = getChar(i);
@@ -1062,7 +1005,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
                running_change = change;
 
                LatexRunParams rp = runparams;
-               rp.fragile = fragile;
+               rp.moving_arg = moving_arg;
                rp.free_spacing = style->free_spacing;
                pimpl_->simpleTeXSpecialChars(buf, bparams,
                                              os, texrow, runparams,
@@ -1104,7 +1047,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
        }
 
        if (!asdefault) {
-               column += endTeXParParams(bparams, os, fragile);
+               column += endTeXParParams(bparams, os, moving_arg);
        }
 
        lyxerr[Debug::LATEX] << "SimpleTeXOnePar...done " << this << endl;
@@ -1395,6 +1338,12 @@ int Paragraph::id() const
 }
 
 
+void Paragraph::id(int i)
+{
+       pimpl_->id_ = i;
+}
+
+
 LyXLayout_ptr const & Paragraph::layout() const
 {
        Inset * inset = inInset();
@@ -1447,3 +1396,10 @@ bool Paragraph::isFreeSpacing() const
                return (pimpl_->inset_owner->owner()->lyxCode() == Inset::ERT_CODE);
        return false;
 }
+
+
+bool operator==(Paragraph const & lhs, Paragraph const & rhs)
+{
+#warning FIXME this implementatoin must be completely wrong...
+       return &lhs == &rhs;
+}