]> git.lyx.org Git - features.git/blobdiff - src/paragraph.C
make ParagraphList::push_back take a reference instead of a pointer.
[features.git] / src / paragraph.C
index 5b95e3d116e55e7d6361265cd43faa904242e6e8..f5c2694036f9c3b9460d98e67fae7df44eaf0574 100644 (file)
 
 #include "paragraph.h"
 #include "paragraph_pimpl.h"
-#include "lyxrc.h"
-#include "layout.h"
-#include "language.h"
+
 #include "buffer.h"
 #include "bufferparams.h"
-#include "debug.h"
-#include "texrow.h"
 #include "BufferView.h"
+#include "changes.h"
 #include "encoding.h"
-#include "ParameterStruct.h"
+#include "debug.h"
 #include "gettext.h"
-#include "changes.h"
+#include "language.h"
+#include "latexrunparams.h"
+#include "layout.h"
+#include "lyxrc.h"
 #include "paragraph_funcs.h"
+#include "ParameterStruct.h"
+#include "texrow.h"
+
 #include "Lsstream.h"
 
 #include "insets/insetbibitem.h"
@@ -70,9 +73,9 @@ extern BufferView * current_view;
 Paragraph::Paragraph()
        : pimpl_(new Paragraph::Pimpl(this))
 {
-#ifndef NO_NEXT
-       next_ = 0;
-       previous_ = 0;
+#ifdef NO_STD_LIST
+       next_par_ = 0;
+       prev_par_ = 0;
 #endif
        enumdepth = 0;
        itemdepth = 0;
@@ -85,9 +88,9 @@ Paragraph::Paragraph(Paragraph const & lp, bool same_ids)
 {
        enumdepth = 0;
        itemdepth = 0;
-#ifndef NO_NEXT
-       next_     = 0;
-       previous_ = 0;
+#ifdef NO_STD_LIST
+       next_par_ = 0;
+       prev_par_ = 0;
 #endif
        // this is because of the dummy layout of the paragraphs that
        // follow footnotes
@@ -109,13 +112,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 = "
@@ -603,47 +599,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());
@@ -906,7 +861,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
                                BufferParams const & bparams,
                                LyXFont const & outerfont,
                                ostream & os, TexRow & texrow,
-                               bool moving_arg)
+                               LatexRunParams const & runparams)
 {
        lyxerr[Debug::LATEX] << "SimpleTeXOnePar...     " << this << endl;
 
@@ -950,6 +905,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
                basefont = getLayoutFont(bparams, outerfont);
        }
 
+       bool moving_arg = runparams.moving_arg;
        moving_arg |= style->needprotect;
 
        // Which font is currently active?
@@ -1051,8 +1007,11 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
                column += Changes::latexMarkChange(os, running_change, change);
                running_change = change;
 
+               LatexRunParams rp = runparams;
+               rp.moving_arg = moving_arg;
+               rp.free_spacing = style->free_spacing;
                pimpl_->simpleTeXSpecialChars(buf, bparams,
-                                             os, texrow, moving_arg,
+                                             os, texrow, runparams,
                                              font, running_font,
                                              basefont, outerfont, open_font,
                                              running_change,
@@ -1382,6 +1341,12 @@ int Paragraph::id() const
 }
 
 
+void Paragraph::id(int i)
+{
+       pimpl_->id_ = i;
+}
+
+
 LyXLayout_ptr const & Paragraph::layout() const
 {
        Inset * inset = inInset();